本文来自VitalikButerin,由Odaily星球日报译者Katie辜编译。
每当一个大型中心化交易所崩溃时,一个常见的问题就是我们是否可以使用加密技术来解决。交易所可以利用密码学证明它们在链上持有的资金足以支付它们对用户的债务,而不是仅仅依赖政府许可、审查公司审计和运营交易所的个人背调等法律途径。而且交易所可以建立一个系统,在该系统中,未经储户同意,交易所不能提取储户的资金。我们可以探索“主动不做坏事”且有野心的CEX和“没有能力做坏事”的CEX之间的界限,但目前往往人们只是看向效率低下且隐私泄露的链上DEX。
这篇文章将讨论将CEX向免信任更近一步的尝试过程、这些技术的局限性,以及一些依靠ZK-SNARK等先进技术的方案和更强大的想法。
余额表和默克尔树:传统的偿付能力证明
交易所试图用密码学的方式证明自己没有用户的最早尝试要追溯到很久以前。2011年,当时最大的比特币交易所MtGox通过发送一笔交易,将424242个比特币转移到预先公布的地址,证明他们有资金。2013年,人们开始讨论如何解决问题的另一面:证明客户存款的总规模。如果你证明客户的存款等于X,并证明拥有X个代币的私钥,那么你就有了偿付能力证明——你证明了交易所有资金偿还所有储户。
证明存款的最简单方法是简单地发布一个对列表。每个用户都可以检查他们的余额是否包含在列表中,任何人都可以检查完整的列表,查看:
每个余额都是非负的;
总额为索赔金额。
当然,这破坏了隐私,所以我们可以稍微改变一下方案:
V神:比起硬件钱包,我更倾向于社交恢复和多签钱包:11月16日消息,加密用户Geoffrey Miller在社交媒体上发文称,加密Youtuber总是说,如果你不拥有私钥,加密货币就不会真正属于你,请立刻购买硬件钱包吧。好的,听起来很有道理,但是有没有实际数据来对比中心化交易平台丢失的加密资产比例和人们因使用自托管方式而丢失的加密资产比例呢?
以太坊创始人Vitalik Buterin对此回复称,比起硬件钱包、纸质记录等方式,我更倾向于社交恢复和多签钱包。并转载了其2021年撰写的文章《我们需要大规模采用社交恢复钱包的原因》。[2022/11/16 13:12:30]
发布一个对的列表,并私下向每个用户发送他们的salt值。但即使这样也会泄露余额和余额变化的模式。
为了保护隐私,我们想到了下一个发明:
默克尔树技术。
绿色:代表Charlie的节点。蓝色:代表Charlie将收到作为证明的一部分代节点。黄色:代表根节点,向所有人公开显示。
默克尔树技术包括将客户余额表放入默克尔总和树中。在默克尔总和树中,每个节点都是一个对。底层叶节点表示各个客户的余额和salt的用户名哈希。在每个较高层节点中,余额是下面两个余额的和,而哈希是下面两个节点的哈希。默克尔总和证明与默克尔证明一样,是树的一个“分支”,由从叶到根的路径上的姐妹节点组成。
该交易所将向每位用户发送一份默克尔存款证明。然后,用户将得到一个保证,他们的余额是正确包括在总额的一部分。可以在这里找到一个简单的示例代码实现。
V神:数字资产领域可能会受益于当前的代币价格下跌:金色财经报道,以太坊创始人Vitalik在近期在接受彭博社采访时表示,数字资产领域实际上可能会受益于当前的代币价格下跌。深入研究加密货币,尤其是构建新事物的人,很多都欢迎熊市,因为价格长期大幅上涨时,往往会招致很多非常短期的投机型关注。而冬天是很多应用消失的时候,可以验证哪些项目实际上是长期可持续的。
不过,Buterin 还表示他对自去年以来市场的变化感到“惊讶”,他不确定加密货币是否已经进入另一个冬天,或者该行业只是反映了更广泛市场的波动。Vitalik 说:“确实感觉加密市场从一个由非常小众的参与者群体控制的小众群体转变为越来越像主流金融市场的一部分”。(彭博社)[2022/2/20 10:03:11]
这种设计中泄露的隐私比完全公开的列表要低得多,而且可以通过在每次发布“根”时移动分支来进一步减少,但仍然存在一些隐私泄露:Charlie了解到有人的余额为164ETH,有两个用户的余额加起来达到70ETH等等。控制多个帐户的攻击者仍有可能了解交易所用户的大量信息。
该方案的一个重要的微妙之处是负余额的可能性:如果一个交易所有1390ETH的客户余额,但只有890ETH的储备,试图通过在树的某个位置的假账户下添加-500ETH余额来弥补差额,该怎么办?事实证明,这种可能性并没有破坏该方案,这就是我们特别需要默克尔总和树而不是常规默克尔树的原因。假设Henry是交易所控制的假账户,交易所在那里放了-500ETH:
Greta的证明验证将会失败:交易所将不得不给她Henry的-500ETH节点,她会以无效为由拒绝它。Eve和Fred的证明验证也会失败,因为Henry上面的中间节点有-230的ETH,所以也是无效的。为了避免被怀疑盗用,交易所必须希望树的右半部分没有人检查他们的余额证明。
V神建议狗狗币与以太坊合作提升可扩展性:以太坊联合创始人Vitalik Buterin在Lex Fridman的播客节目中表示:他喜欢狗狗币,建议包括狗狗币在内的Meme代币和以太坊达成合作,提升其可扩展性。Vitalik Buterin认为,狗狗币提升可扩展性的主要挑战在于仅增加参数而不做任何其他事情会使人们更难以验证链。而且区块链可能会变得中心化。
“如果 Doge 想以某种方式连接到以太坊,然后人们可以做到每秒交易 Doge 数千次,那将是惊人的。如果他们只想采用 zkRollup 类型的技术,并且只在自己的链上进行每秒数千笔交易,那也将是一个很好的结果。”他还表示,拥有一个安全的 Doge-to-Ethereum 桥将是“了不起的”。[2021/6/5 23:14:59]
如果交易所能够识别出价值500ETH的用户,他们相信这些用户要么不会费心检查证据,要么在他们抱怨他们从未收到过证明时不信任他们,他们就可以不被怀疑盗用。但是,交易所也可以将这些用户从树中排除并产生相同的效果。因此,如果仅以实现负债证明为目标,默克尔树技术基本上与责任证明方案一样好。但它的隐私属性仍然不理想。你可以用更聪明的方式使用默克尔树,比如把每个satoshi或wei做成一个单独的叶,但最终通过更现代的技术,还有更好的方法来做到这一点。
使用ZK-SNARK改进隐私性和稳健性
ZK-SNARK是一项强大的技术。ZK-SNARK之于密码学,可能就像变压器之于人工智能。我们可以使用ZK-SNARK极大地简化和改善责任证明协议中的隐私。
V神:没有分片的Rollups仍可将吞吐量提高100倍:V神发推特称,原始的ETH2路线图分三个阶段:阶段0,PoS(即将推出);阶段1,数据分片,而非计算分片;阶段2,分片tx处理。但是,该路线图有一个有趣的现象:分片的应用程序本身需要阶段2,但是分片的Rollups仅需要阶段1,因为Rollups仅将链用于数据,而不用于计算。因此,我们很快就会拥有实现6400倍吞吐量所需的工具。因此,这是“分片之上的Rollups”,也就是说,Rollups已经存在于分片之前,而没有分片的Rollups仍可将吞吐量提高100倍。[2020/10/5]
我们可以做的最简单的事情是将所有用户的存款放入默克尔树,并使用ZK-SNARK来证明树中的所有余额都是非负的,并且加起来是某个声称的值。如果我们为隐私添加一层哈希,那么给每个用户的默克尔分支将不会透露任何其他用户的余额。
使用KZG承诺是避免隐私泄露的一种方法,因为不需要提供“姐妹节点”作为证明,并且可以使用一个简单的ZK-SNARK来证明余额的总和,并且每个余额都是非负的。
我们可以用一个专用的ZK-SNARK证明上述KZG中余额的总和以及非负性。这里有一个简单的例子。我们引入一个辅助多项式I(x),它组成每个余额的比一部分,每16个位置跟踪一个带有偏移量的总和,只有当实际的总和与声明的总和相匹配时,它的总和才为零。如果z是单位的-128阶根,我们可以证明以下等式:
可在这里找到关于ZK-SNARK的进一步解释。只需要几个额外的方程,这样的约束系统就可以适应更复杂的环境。例如,在杠杆交易系统中,个人用户的余额为负是可以接受的,但前提是他们有足够的其他资产,以一定的担保保证金覆盖资金。SNARK可以用来证明这一更复杂的约束,让用户放心,交易所不会通过秘密豁免其他用户遵守规则来冒资金风险。
动态 | Solana创始人称V神亦无法解决分片问题,遭V神反驳:此前,Solana创始人Anatoly Yakovenko接受采访时就“分片(Sharding)”表示:我认为分片只是一个非常困难的计算机科学问题。目前为止,没有人真正解决这个问题。没有哪个数据库可以真正算得上是分片,甚至Vitalik(V神)也无法解决这个问题,这真的非常非常难。随后,V神对此回应称:“对于如何做分片,我们已经说了两年了。细节改了,基本方法没改。不知道怎么能说分片是一个还没解决的问题。”[2019/10/14]
在较长期的未来,这种ZK债务证明或许不仅可以用于客户在交易所的存款,还可以用于更广泛的贷款。任何人借出一笔贷款都会将记录放入一个多项式或包含该贷款的树中,该结构的根会在链上发布。这将使任何寻求贷款的人向贷款机构证明,他们还没有获得过多的其他贷款。最终,法律创新甚至可能使以这种方式承诺的贷款比没有这样承诺的贷款具有更高的优先级。这与我们在《去中心化社会:寻找Web3的灵魂》文章中讨论的一个想法的方向完全相同——通过某种形式的”灵魂绑定代币“,在链上产生负面声誉的概念。
资产证明
资产证明的最简单版本是我们上面看到的协议:要证明你持有X个代币,你只需在事先约定的时间移动X个代币,或者在数据字段包含“这些资金属于币安”字样的交易中移动X个代币。为了避免支付交易费用,你可以签署一个链下消息。比特币和以太坊都有链外签名消息的标准。
这种简单的资产证明技术存在两个实际问题:
冷钱包处理;
抵押品两用。
出于安全考虑,大多数交易所将绝大多数客户资金保存在冷钱包中。在离线计算机上,交易需要手动签名并转移到互联网上。我过去用来存放个人资金的冷钱包设置需要一台永久离线的电脑生成一个包含签名交易的二维码,然后我用手机扫描。现在的交易所协议更加疯狂,经常涉及多个设备之间的多方计算。在这种设置下,制造一个额外的消息来证明对地址的控制是一个昂贵的操作。
交易所可以采用以下几种方式:
保留一些公共长期使用地址。交易所将生成一些地址,发布一次每个地址的证明以证明所有权,然后重复使用这些地址。这是迄今为止最简单的选择,不过它确实在如何保护安全和隐私方面增加了一些限制。
有很多地址,随便证明几个。交易所将有许多地址,甚至可能每个地址只使用一次,并在单笔交易后退出。在这种情况下,交易所可能有一个协议,其中不时随机选择一些地址,必须“打开”以证明所有权。一些交易所已经通过审计师进行了类似的操作,但原则上,这种技术可以转化为完全自动化的程序。
更复杂的ZKP选项。例如,一个交易所可以将它的所有地址设置为1/2多签,其中每个地址的私钥都是不同的,另一个是某个“重要”紧急备份密钥的盲版,以某种复杂但安全的方式存储,例如12/16多签。为了保护隐私并避免泄露其全部地址,交易所甚至可以在区块链上运行零知识证明,证明链上所有具有这种格式的地址的总余额。
另一个主要问题是防止抵押品两用。在彼此之间来回转移抵押品以证明储备,这对交易所而言很容易做到,这将使它们能够在实际上没有偿付能力的时候假装自己有偿付能力。理想情况下,偿付能力的证明应该是实时完成的,每个区块之后都有一个更新的证明。如果这是不切实际的,那么下一个最好的办法就是在不同交易所之间按照固定的时间表进行协调,例如在UTC时间每周二下午2点时证明储量。
最后一个问题是:你能以法定方式进行资产证明吗?交易所不仅持有加密货币,它们还在银行系统内持有法定货币。在这方面,答案是肯定的,但这样的程序将不可避免地依赖于“法定”信托模型——银行本身可以证明余额,审计师可以证明资产负债表等等。考虑到法币无法通过密码学验证,这是在该框架内所能做到的最好的方法,但仍然值得一做。
另一种方法是将一个运营交易所处理资产支持稳定币的实体和另一个处理在加密货币和传统银行系统之间移动的现金进出过程的实体完全分离开来。因为USDC的“负债”只是链上的ERC20代币,负债证明是“免费的”,只需要资产证明。
Plasma和validiums扩容解决方案:我们能实现非托管CEX吗?
假设我们想更进一步:我们不想仅仅证明交易所有资金偿还用户。相反,我们希望阻止完全交易所盗用用户的资金。
第一个主要尝试是Plasma,这是一种2017年和2018年在以太坊研究圈流行的扩容解决方案。Plasma的工作原理是将余额拆分为一组独立的“代币”,其中每个代币都被分配一个索引,并位于Plasma区块的默克尔树的特定位置。要进行有效的代币转移,需要将一笔交易放到根被发布到链上的树的正确位置。
Plasma的一个版本的过度简化图。代币保存在智能合约中,该合约在取款时强制执行Plasma协议的规则。
自2018年Plasma讨论的热潮以来,ZK-SNARK已经变得更加适用于与扩展相关的用例,正如我们上面所说的,ZK-SNARK改变了一切。
更现代的Plasma想法是Starkware所称的validium:基本上与ZK-rollup相同,只是数据是链外保存的。这种结构可以用在很多用例中,可以想象任何中心化服务器需要运行一些代码并证明它正在正确执行代码的情况。在有效期限内,操作人员没有办法窃取资金,尽管根据实现的细节,如果操作人员消失,一些数量的用户资金可能会被卡住。
CEX和DEX并不是二进制的,事实证明,它们有一系列的选择,包括各种形式的混合中心化,在那里你可以获得一些优势,比如效率,但仍然有很多加密屏障,防止中心化运营商的滥用。
处理用户错误也是一个大问题。到目前为止,最重要的错误类型是——如果用户忘记了密码,丢失了设备,被黑客攻击,或者无法访问自己的帐户,该怎么办?
交易所可以解决这个问题。首先是电子邮件恢复,如果连这都失败了,再通过KYC进行更复杂的恢复。但为了能够解决这些问题,交易所需要真正控制这些代币。为了有能力以正当的理由收回用户账户的资金,交易所需要有能力以不正当的理由窃取用户账户的资金。这是一个不可避免的权衡。
理想的长期解决方案是依靠自我托管,并借助诸如多签和社会恢复钱包等技术来帮助用户处理紧急情况。但在短期内,有两种明显的替代方案,它们的成本和收益明显不同:
总结:展望未来更先进的交易所
短期内,有两种明确的交易所类别:托管交易所和非托管交易所。如今,后一类只是像Uniswap这样的DEX,在未来我们可能还会看到加密技术受限的CEX,用户资金以类似validium智能合约的形式持有。我们也可能会看到半托管交易所,我们信任他们使用法定货币,而不是加密货币。
这两种类型的交易所将继续存在,而提高托管交易所安全性的最简单的向后兼容方法是增加储备证明。这包括资产证明和负债证明的结合。为两者都制定好的协议存在技术上的挑战,但我们可以也应该尽可能在这两个方面取得进展,并尽可能地开源软件和流程,以便所有的交易所都能受益。
从长远来看,我希望我们越来越接近所有非托管交易所,至少在加密货币方面是这样。钱包恢复将会存在,而且可能需要为处理小额金额的新用户提供高度集中的恢复选项,以及由于法律原因需要这种安排的机构,但这可以在钱包层而不是在交易所内部完成。magic.link与Polymarket等平台的交互就是这种方法的一个例子。在法币方面,传统银行系统和加密货币生态系统之间的流动可以通过USDC等资产支持稳定币原生的现金进出过程完成。然而,我们要完全实现还需要一段时间。
标签:ARKNARETHALIBunnyParkLaminarSheBollETH CommerceNoah Decentralized State Coin
Solana(SOL)是受FTX崩溃影响最严重的区块链之一。即使在最初破产一周多后的现在,鉴于SamBankman-Fried(SBF)大量参与Solana区块链,SOL仍在其用户和投资者留下的.
1900/1/1 0:00:00昨日,SBF针对FTX崩盘事件进行反思,表示由于杠杆远高出预计,挤兑和市场崩盘耗尽了流动性,加之自己过于自信和粗心大意导致了历史性崩盘.
1900/1/1 0:00:00区块链三难困境是在区块链网络上同时实现可扩展性、安全性和去中心化的挑战。什么是区块链三难困境?区块链三难困境是一个术语,用于描述区块链技术面临的三个主要挑战:去中心化、可扩展性和安全性.
1900/1/1 0:00:00隐私代币以保护用户交易地址的一项独特功能而闻名,可实现不泄露身份。想要财务隐私的交易者使用这些代币在与DeFi部门打交道时保持匿名.
1900/1/1 0:00:0011月19日消息,针对FTX事件,V神发文”安全的CEX:偿付能力证明“,探讨使交易所更接近去信任化的尝试历史、这些技术的局限性,以及一些新的、更强大的想法.
1900/1/1 0:00:00越来越多用户对于保障自己的资金安全,有了一些更多的认识,但市面上有很多的钱包应该如何选择呢?那我们接下来讲解一些基础知识,让普通用户在接触非托管钱包的时候,能更快上手使用.
1900/1/1 0:00:00