区块见闻 区块见闻
Ctrl+D收藏区块见闻

ECD:V神文章:如何使用 ZK-SNARKs 改善中心化交易所的安全性?_ETH

作者:

时间:

作者:Vitalik Buterin

原文链接:https://hackmd.io/@vbuterin/proof_of_solvency

每当一个大型中心化交易所崩溃时,一个常见的问题就是我们是否可以使用加密技术来解决。交易所可以利用密码学证明它们在链上持有的资金足以支付它们对用户的债务,而不是仅仅依赖政府许可、审查公司审计和运营交易所的个人背调等法律途径。

而且交易所可以建立一个系统,在该系统中,未经储户同意,交易所不能提取储户的资金。我们可以探索「主动不做坏事」且有野心的 CEX 和「没有能力做坏事」的 CEX 之间的界限,但目前往往人们只是看向效率低下且隐私泄露的链上 DEX。

这篇文章将讨论将 CEX 向免信任更近一步的尝试过程、这些技术的局限性,以及一些依靠 ZK-SNARK 等先进技术的方案和更强大的想法。

[余额表和默克尔树:传统的偿付能力证明]

交易所试图用密码学的方式证明自己没有用户的最早尝试要追溯到很久以前。

2011 年,当时最大的比特币交易所 MtGox 通过发送一笔交易,将 424242 个比特币转移到预先公布的地址,证明他们有资金。

2013 年,人们开始讨论如何解决问题的另一面:证明客户存款的总规模。如果你证明客户的存款等于 X(负债证明),并证明拥有 X 个代币的私钥(资产证明),那么你就有了偿付能力证明——你证明了交易所有资金偿还所有储户。

V神:我对VR的担忧类似于一些反加密货币的人对加密货币的担忧:金色财经报道,以太坊创始人Vitalik Buterin在社交媒体上称,我对VR的担忧类似于一些反加密货币的人对加密货币的担忧:感觉人们 \"爱上了它的想法\",其方式远远超过了实际应用。

就像加密货币一样,我确实认为重要的应用是存在的。但 \"为了VR而VR “是行不通的。[2022/10/28 11:53:04]

证明存款的最简单方法是简单地发布一个(用户名、余额)对列表。每个用户都可以检查他们的余额是否包含在列表中,任何人都可以检查完整的列表,查看:

每个余额都是非负的;

总额为索赔金额。

当然,这破坏了隐私,所以我们可以稍微改变一下方案:

发布一个(哈希「用户名、salt」,余额)对的列表,并私下向每个用户发送他们的 salt 值。但即使这样也会泄露余额和余额变化的模式。

为了保护隐私,我们想到了下一个发明:默克尔树技术。

绿色:代表 Charlie 的节点。

蓝色:代表 Charlie 将收到作为证明的一部分代节点。

黄色:代表根节点,向所有人公开显示。

V神:人们仍然低估加密货币支付的优势:金色财经消息,以太坊创始人Vitalik Buterin(V神)发推特表示,人们仍低估加密货币支付的优越性,甚至不是因为审查阻力,而是因为它们更方便。这(加密支付)极大的促进了国际商业和慈善事业,有时甚至是国内支付。[2022/8/25 12:47:10]

默克尔树技术包括将客户余额表放入默克尔总和树中。在默克尔总和树中,每个节点都是一个(余额,哈希)对。底层叶节点表示各个客户的余额和 salt 的用户名哈希。

在每个较高层节点中,余额是下面两个余额的和,而哈希是下面两个节点的哈希。默克尔总和证明与默克尔证明一样,是树的一个「分支」,由从叶到根的路径上的姐妹节点组成。

该交易所将向每位用户发送一份默克尔存款证明。然后,用户将得到一个保证,他们的余额是正确包括在总额的一部分。可以在这里找到一个简单的示例代码实现。

该方案的一个重要的微妙之处是负余额的可能性:如果一个交易所有 1390 ETH 的客户余额,但只有 890 ETH 的储备,试图通过在树的某个位置的假账户下添加 -500 ETH 余额来弥补差额,该怎么办?

事实证明,这种可能性并没有破坏该方案,这就是我们特别需要默克尔总和树而不是常规默克尔树的原因。假设 Henry 是交易所控制的假账户,交易所在那里放了 -500 ETH:

“V神”呼吁加密社区通过UkraineDAO向乌克兰提供支持:金色财经报道,以太坊联合创始人“V神”Vitalik Buterin在社交媒体上呼吁通过UkraineDAO为乌克兰当地人提供支持,UkraineDAO是当地创立的一个民间去中心化自治组织,由俄罗斯摇滚乐队 Pussy Riot 的创始成员 Nadya Tolokonnikova 发起,旨在通过推出 NFT 为人道救济募款,目前 UkraineDAO 支持了两个慈善机构:一个是 Come Back Alive,该机构过去几天筹集了超过 400 万美元的加密货币, 另一个是 Proliska,该机构主要帮助乌克兰东部联络线附近居民。[2022/2/27 10:18:53]

如果交易所能够识别出价值 500 ETH 的用户,他们相信这些用户要么不会费心检查证据,要么在他们抱怨他们从未收到过证明时不信任他们,他们就可以不被怀疑盗用。但是,交易所也可以将这些用户从树中排除并产生相同的效果。

因此,如果仅以实现负债证明为目标,默克尔树技术基本上与责任证明方案一样好。但它的隐私属性仍然不理想。你可以用更聪明的方式使用默克尔树,比如把每个 satoshi 或 wei 做成一个单独的叶,但最终通过更现代的技术,还有更好的方法来做到这一点。

[使用 ZK-SNARK 改进隐私性和稳健性]

ZK-SNARK 是一项强大的技术。ZK-SNARK 之于密码学,可能就像变压器之于人工智能。我们可以使用 ZK-SNARK 极大地简化和改善责任证明协议中的隐私。

V神报告ETH2.0存款合约已达46万枚ETH:V神刚刚发推称,以太坊2.0存款合约现在达到46万枚ETH(达成~87.7%的目标),到最早可能的启动时间还有12个小时。创世启动将在激活后7天发生,需要达到524288枚ETH才能激活。V神称,如果想要启动创世纪,请确保在激活前存款。而截至发稿,以太坊2.0存款合约地址余额已达462,208枚ETH,距离524288枚ETH启动以太坊2.0创世区块的最低要求已完成88.16%。[2020/11/24 21:52:54]

使用 KZG 承诺是避免隐私泄露的一种方法,因为不需要提供「姐妹节点」作为证明,并且可以使用一个简单的 ZK-SNARK 来证明余额的总和,并且每个余额都是非负的。

我们可以用一个专用的 ZK-SNARK 证明上述 KZG 中余额的总和以及非负性。这里有一个简单的例子。

我们引入一个辅助多项式 I(x),它组成每个余额的比一部分(我们假设余额低于 215),每 16 个位置跟踪一个带有偏移量的总和,只有当实际的总和与声明的总和相匹配时,它的总和才为零。如果 z 是单位的 -128 阶根,我们可以证明以下等式:

V神:如果没有1500个ETH可以加入Casper:以太坊创始人V神昨天在多伦多以太坊大会上发表演讲,他在会上提到,“如果你没有1500个ETH,那么你可以通过工作权益证明参与到Casper中,在Staking Pool方面,不同点将在区块大小、存提条件、可靠性等方面存在差异。”[2018/5/6]

在较长期的未来,这种 ZK 债务证明或许不仅可以用于客户在交易所的存款,还可以用于更广泛的贷款。任何人借出一笔贷款都会将记录放入一个多项式或包含该贷款的树中,该结构的根会在链上发布。这将使任何寻求贷款的人向贷款机构证明,他们还没有获得过多的其他贷款。

最终,法律创新甚至可能使以这种方式承诺的贷款比没有这样承诺的贷款具有更高的优先级。这与我们在《去中心化社会:寻找 Web3 的灵魂》文章中讨论的一个想法的方向完全相同——通过某种形式的「灵魂绑定代币」,在链上产生负面声誉的概念。

[资产证明]

这种简单的资产证明技术存在两个实际问题:

冷钱包处理;

抵押品两用。

出于安全考虑,大多数交易所将绝大多数客户资金保存在冷钱包中。在离线计算机上,交易需要手动签名并转移到互联网上。我过去用来存放个人资金的冷钱包设置需要一台永久离线的电脑生成一个包含签名交易的二维码,然后我用手机扫描。

现在的交易所协议更加疯狂,经常涉及多个设备之间的多方计算。在这种设置下,制造一个额外的消息来证明对地址的控制是一个昂贵的操作。

交易所可以采用以下几种方式:

保留一些公共长期使用地址。交易所将生成一些地址,发布一次每个地址的证明以证明所有权,然后重复使用这些地址。这是迄今为止最简单的选择,不过它确实在如何保护安全和隐私方面增加了一些限制。

有很多地址,随便证明几个。交易所将有许多地址,甚至可能每个地址只使用一次,并在单笔交易后退出。在这种情况下,交易所可能有一个协议,其中不时随机选择一些地址,必须“打开”以证明所有权。一些交易所已经通过审计师进行了类似的操作,但原则上,这种技术可以转化为完全自动化的程序。

最后一个问题是:你能以法定方式进行资产证明吗?交易所不仅持有加密货币,它们还在银行系统内持有法定货币。在这方面,答案是肯定的,但这样的程序将不可避免地依赖于「法定」信托模型——银行本身可以证明余额,审计师可以证明资产负债表等等。考虑到法币无法通过密码学验证,这是在该框架内所能做到的最好的方法,但仍然值得一做。

[Plasma 和 validiums 扩容解决方案:我们能实现非托管 CEX 吗?]

假设我们想更进一步:我们不想仅仅证明交易所有资金偿还用户。相反,我们希望阻止完全交易所盗用用户的资金。

第一个主要尝试是 Plasma,这是一种 2017 年和 2018 年在以太坊研究圈流行的扩容解决方案。Plasma 的工作原理是将余额拆分为一组独立的「代币」,其中每个代币都被分配一个索引,并位于 Plasma 区块的默克尔树的特定位置。要进行有效的代币转移,需要将一笔交易放到根被发布到链上的树的正确位置。

Plasma 的一个版本的过度简化图。代币保存在智能合约中,该合约在取款时强制执行 Plasma 协议的规则。

自 2018 年 Plasma 讨论的热潮以来,ZK-SNARK 已经变得更加适用于与扩展相关的用例,正如我们上面所说的,ZK-SNARK 改变了一切。

CEX 和 DEX 并不是二进制的,事实证明,它们有一系列的选择,包括各种形式的混合中心化,在那里你可以获得一些优势,比如效率,但仍然有很多加密屏障,防止中心化运营商的滥用。

处理用户错误也是一个大问题。到目前为止,最重要的错误类型是——如果用户忘记了密码,丢失了设备,被黑客攻击,或者无法访问自己的帐户,该怎么办?

理想的长期解决方案是依靠自我托管,并借助诸如多签和社会恢复钱包等技术来帮助用户处理紧急情况。但在短期内,有两种明显的替代方案,它们的成本和收益明显不同:

[总结:展望未来更先进的交易所]

短期内,有两种明确的交易所类别:托管交易所和非托管交易所。如今,后一类只是像 Uniswap  这样的 DEX,在未来我们可能还会看到加密技术受限的 CEX,用户资金以类似 validium 智能合约的形式持有。我们也可能会看到半托管交易所,我们信任他们使用法定货币,而不是加密货币。

这两种类型的交易所将继续存在,而提高托管交易所安全性的最简单的向后兼容方法是增加储备证明。这包括资产证明和负债证明的结合。为两者都制定好的协议存在技术上的挑战,但我们可以也应该尽可能在这两个方面取得进展,并尽可能地开源软件和流程,以便所有的交易所都能受益。

从长远来看,我希望我们越来越接近所有非托管交易所,至少在加密货币方面是这样。钱包恢复将会存在,而且可能需要为处理小额金额的新用户提供高度集中的恢复选项,以及由于法律原因需要这种安排的机构,但这可以在钱包层而不是在交易所内部完成。

magic.link 与 Polymarket 等平台的交互就是这种方法的一个例子。在法币方面,传统银行系统和加密货币生态系统之间的流动可以通过 USDC 等资产支持稳定币原生的现金进出过程完成。然而,我们要完全实现还需要一段时间。

1435Crypto

个人专栏

阅读更多

金色财经

CertiK中文社区

虎嗅科技

区块律动BlockBeats

web3中文

深潮TechFlow

念青

DeFi之道

CT中文

标签:ECDETH加密货币ETHEECD币ethereumpanda加密货币局女人togetherbnb作弊码

比特币交易所热门资讯
NBS:如何成功营销NFT?故事叙述会成为NFT市场的分水岭吗?_数字资产

NFT席卷了数字世界。它们的独特性和稀有性正在各个行业,尤其是数字艺术领域带来新的转变。在这种趋势下,故事叙述已经成为NFT营销的有力工具。这不再仅仅是数字资产的问题,它本身的故事性也同样重要.

EFI:Su Zhu最新长推:CeFi的崩坏 始于2020年_PNX

 11 月 22 日,彭博社发布了一篇三箭资本联合创始人 Su Zhu 的最新专访。在面对记者的提问时,Su Zhu 表示:“一些行业内的领头人称 FTX的崩盘使行业倒退了&.

区块链:Token Terminal:深度分析 L1 和 L2 的经济原理、运行数据及市场表现_KEN

作者:Token Terminal ,Blockchain economics 我们时常直观的感受到使用不同区块链所产生的成本和收益,即gas费和激励.

ECD:数据模拟 合并后太坊节点们的收益有怎样的变化?_ETHER

原文标题:《Post-Merge MEV: Modelling Validator Returns》原文作者:pintail尝试使用过去的数据来模拟合并后执行层费用对验证者回报的影响.

区块链:国内数藏平台大撤退 寒冬之下海外市场是否有出路?_WEB3

作者:XiaoZ@iNFTnews.com腾讯旗下继腾讯新闻、幻核之后,仅存的数藏平台也关停了.

NALS:时光机器之旅:寻找 BRC-20 的前生_Ordinal Chain

自 1 月 Ordianls 这一新理论发布后,基于该理论所创造的 Inscriptions(BTC NFT)和 BRC-20 受到了市场资金狂热的追捧.