月亮链 月亮链
Ctrl+D收藏月亮链
首页 > Gateio > 正文

VIT:Vitalik :中心化交易所如何做资金证明?_ERK

作者:

时间:1900/1/1 0:00:00

作者:Vitalik

编译:董一鸣,ChainCatcher

每当一个重要的中心化交易所爆炸时,一个常见的问题就会被提出来,那就是我们是否可以使用加密技术来解决问题。交易所可以创建加密证明,表明他们在链上持有的资金足以支付他们对用户的负债,而不是仅仅依靠政府许可、审计师和审查公司治理和经营交易所的个人背景等"法定"方法。

交易所可以建立一个系统,在未经储户同意的情况下,根本无法提取他们的资金。潜在地,我们可以探索在"不要做坏事"的有抱负的好人CEX和"不能做坏事",但现在效率低下和泄露隐私的链上DEX之间的整个光谱。这篇文章将深入探讨试图让交易更接近无信任的一两步的历史尝试,这些技术的局限性,以及一些依靠ZK-SNARKs和其他先进技术的更新和更强大的想法。

收支平衡表和Merkle?tree:老派的清偿能力证明

交易所最早尝试用密码学方法证明他们没有他们的用户,这可以追溯到很久之前。2011年,当时最大的比特币交易所MtGox通过发送一笔交易,将424242个BTC转移到一个预先公布的地址,证明他们有资金。2013年,人们开始讨论如何解决问题的另一面:证明客户存款的总规模。如果你证明客户的存款等于X,并证明X币的私钥的所有权,那么你就有了偿付能力的证明:你已经证明交易所有资金来偿还所有的存款人。

证明存款的最简单方法是简单地发布一个对的列表。每个用户都可以检查他们的余额是否包括在列表中,任何人都可以检查完整的列表,以查看每个余额都是非负的,总金额为赔索金额。当然,这破坏了隐私,所以我们可以稍微改变一下方案:发布一个对的列表,并私下向每个用户发送他们的salt值。但即使这样也会泄露余额,而且会泄露余额的变化模式。保护隐私的愿望把我们带到了下一个发明:Merkle?tree技术。

Vitalik Buterin:由于安全问题只用少量ETH质押:金色财经报道,以太坊联合创始人Vitalik Buterin由于担心安全问题和保持安全的复杂性,他只用少量的ETH质押。Buterin在Bankless Podcast上表示,他并没有把他所有的以太坊质押,只是 \"相当小的一部分\",因为在网络上安全投资需要多重签名,这仍然是一个棘手的过程。如果你把你的ETH质押,访问它的钥匙必须在某个在线系统上公开。为了安全起见,它必须是一个多重签名,而用于抵押的多重签名仍然相当难以设置,它在很多方面都变得很复杂。[2023/6/30 22:10:38]

绿色:Charlie节点。蓝色:David节点,也是Charlie将接收到的节点,作为他证明的一部分。黄色:根节点,向大家公开展示。

Merkle?tree技术是将客户的余额表放入Merkle?sum?tree中。在Merklesum?tree中,每个节点都是一个对。底层的叶子节点代表个别客户的余额和salted的用户名哈希值。在每个高层节点中,余额是下面两个余额的总和,而哈希值是下面两个节点的哈希值。Merkle?sum证明,就像Merkle证明一样,是树的一个"分支",由从叶到根的路径上的姐妹节点组成。

交易所将向每个用户发送其余额的Merklesum证明来证明他们的余额。然后,用户将得到一个保证,他们的余额被正确地包括在总数的一部分。一个简单的代码示例可以从这里找到。

这种设计中的隐私泄露比完全公开的列表要低得多,而且可以通过每次发布根目录时对分支进行洗牌来进一步减少隐私泄露,但一些隐私泄露还是存在的。Charlie可以得知某人的余额为164ETH,有两个用户的余额加起来为70ETH,等等。一个控制许多账户的攻击者仍有可能了解到交易所用户的大量信息。

制药巨头辉瑞正申请加入VitaDAO并将捐赠50万美元:金色财经报道,据医药生命研究去中心自治组织VitaDAO透露,制药巨头辉瑞(Pfizer)正在积极拥抱区块链技术并对延长生命的药物研究表达了强烈兴趣。为此,Pfizer Ventures执行董事兼合伙人Michael Baran和Early-Stage External Scientific Networks负责人Linda Lohr在VitaDAO社区发起了一项提案,旨在向VitaDAO捐款50万美元并加入VitaDAO治理,辉瑞计划支持VitaDAO的方式包括:访问交易流、支持知识产权孵化和IP商业化、以及发展社区。截至目前100%的选票支持辉瑞加入VitaDAO,如果一切顺利,这家制药巨头将在今年10月中旬加入。[2022/9/13 13:27:24]

该方案的一个重要的微妙之处在于负余额的可能性:如果一个交易所有1390ETH的客户余额,但只有890ETH的储备,试图通过在树上的某个假账户下增加一个-500ETH的余额来弥补差额怎么办?事实证明,这种可能性并没有破坏该方案,尽管这就是我们特别需要Merkle?sum树而不是普通Merkle?树的原因。假设Henry是交易所控制的假账户,交易所把-500ETH放在那里。

Greta的证明验证将失败:交易所将不得不给她Henry的-500ETH节点,她将拒绝这个节点,因为它是无效的。Eve和Fred的验证也会失败,因为Henry上面的中间节点的ETH总量为-230,所以也是无效的!为了逃脱盗窃,交易所将不得不希望整个树的右半部分没有人检查他们的余额证明。

如果交易所能够识别出价值500ETH的的用户,他们相信这些用户要么不会费心检查证明,要么在抱怨从未收到证明时不会被相信,那么他们就有信心逃脱偷窃的惩罚。但是,交易所也可以将这些用户从树上排除,从而达到同样的效果。

VitalHu部署基于区块链的冠状病筛查工具:金色财经报道,加拿大技术公司VitalHub Corp于4月8日宣布首次部署一种基于区块链的冠状病筛查工具DOCit。该工具将由滑铁卢地区名为Sunny Side Home的长期护理机构使用。该工具旨在部署和配置任何筛查或重复任务,从而为护理提供者、运营人员以及国家、省或地区卫生当局制定报告标准。[2020/4/9]

因此,如果只是为了实现负债证明的目标,Merkle树技术基本上和负债证明方案一样好,。但它的隐私属性仍然不理想。你可以通过以更巧妙的方式使用Merkle树,比如让每个satoshi或wei成为一个单独的叶子,但最终随着更现代的技术,还有更好的方法来做到这一点。

用ZK-SNARKs改善隐私和稳健性

ZK-SNARKs是一项强大的技术。ZK-SNARKs对密码学的作用可能就像变压器对人工智能的作用一样:它是如此强大的一种通用技术,以至于它将完全碾压几十年前开发的特定应用技术中的一大堆问题。因此,当然,我们可以使用ZK-SNARKs来大大简化和改善责任证明协议中的隐私。

我们可以做的最简单的事情是将所有用户的存款放入一个Merkle树,并使用ZK-SNARK来证明该树中的所有余额都是非负的,并且加起来等于某个声称的值。如果我们为隐私添加一层哈希,给每个用户的Merkle分支将不会透露任何其他用户的余额。

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

我们可以用一个特殊用途的ZK-SNARK来证明上述KZG中余额的和与非负性。这里有一个简单的例子,可以做到这一点。我们引入一个辅助多项式??,它"建立了每个余额的位",并且每16个位置都跟踪一个带有偏移的运行总数,因此只有当实际总数与声明的总数一致时,它的总和才为零。如果z是-128次的单位根,我们可以证明以下等式。

TAVITT将允许用虚拟货币进行结算:位于泰国曼谷的Tavitt(Thailand)Co.,Ltd.公司日前表示,将允许比特币、Tavittcoin(TVC)等虚拟货币在“TAVITT网页”上购买机票、预订酒店、结算Tavitt规划的旅行团等。虚拟货币Tavittcoin(TVC)已经于2018年3月1日开始在Waves交易所上市。Tavittcoin(TVC)的销售期限是从2018年3月1日凌晨12点(星期日)至2018年3月31日晚间12点(日本时间)。[2018/3/6]

有效设置的第一个值是0000?0000?0012?51020-165?0000?0000?13612?2550-300...

关于如何将这样的方程转化为多项式检查,然后再转化为ZK-SNARK,请参见我在ZK-SNARK的文章中的这里和这里的进一步解释。这不是一个最佳协议,但它确实显示了这些天来这些类型的加密证明并不那么诡异!

只需几个额外的公式,像这样的约束系统就可以适应更复杂的环境。例如,在一个杠杆交易系统中,个别用户出现负余额是可以接受的,但前提是他们有足够的其他资产来覆盖有一些抵押保证金的资金。一个SNARK可以用来证明这个更复杂的约束,让用户放心,交易所不会通过暗中豁免其他用户的规则来给他们的资金带来风险。

在更长远的未来,这种ZK债务证明也许不仅可以用于客户在交易所的存款,还可以用于更广泛的贷款。任何人在贷款时,都会将一条记录放入一个包含该贷款的多项式或树中,而该结构的根将被公布在链上。这将让任何寻求贷款的人向贷款人提供他们还没有借出太多其他贷款的ZK证明。最终,法律创新甚至可以使已经以这种方式承诺的贷款比没有承诺的贷款具有更高的优先级。这将我们引向与?"去中心化社会:寻找Web3的灵魂"中讨论的一个想法完全相同的方向:通过某种形式的"灵魂代币",在链上建立一个负面的声誉或抵押品的概念。

以太坊创始人Vitalik公布以太坊2.0路线图:以太坊创始人Vitalik公布以太坊2.0路线图,分片机制作为协议提升的核心。在以太坊2.0中,二进制Merkle树,更快的以太坊虚拟机(EVM),更好的可平行性以及无国界的客户端都是计划内的更改。开发将会分为两层,第一层将会引入安全和保守的更新,而第二层将会实现迅速开发,也就是当分片系统通过验证处理者合约被引入时。关于分片的一些初步工作已经可以在GitHub上查看,同时Vitalik的完整讲话也能够在YouTube上进行观看。[2017/11/29]

资产证明

资产证明的最简单版本是我们上面看到的协议:为了证明你持有X枚币,你只需在某个预先约定的时间或在数据字段包含"这些资金属于币安"的交易中移动X个币。为了避免支付交易费用,你可以签署一个链外信息来代替;比特币和以太坊都有链外签名信息的标准。

这种简单的资产证明技术有两个实际问题。

“冷库”处理

抵押品的双重用途

出于安全考虑,大多数交易所将绝大多数客户的资金保存在"冷库"中:在离线计算机上,交易需要手动签署并转移到互联网上。我曾经为个人资金使用设置的冷库涉及到一台永久离线的计算机,它会生成一个包含签名交易的二维码,我可以用我的手机扫描。现代交换协议更加疯狂,经常涉及到几个设备之间的多方计算。鉴于这种设置,即使是一个额外的信息来证明对一个地址的控制,也是一个昂贵的操作!

一个交易可以采取以下几种路径:

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

设置许多地址,随机地证明几个。交易所会有许多地址,也许甚至每个地址只使用一次,并在一次交易后退役。在这种情况下,交易所可能有一个协议,不时地随机选择几个地址,必须"打开"以证明所有权。一些交易所已经用审计师做了类似的事情,但原则上这种技术可以变成一个完全自动化的程序。

更复杂的ZKP选项。例如,一个交易所可以将其所有的地址设置为1/2个多重签名,其中每个地址的密钥是不同的,另一个是某个"重大"紧急备份密钥的盲版,以某种复杂但非常高安全的方式存储,例如12/16个多重签名。为了保护隐私和避免暴露其地址的整个集合,交易所甚至可以在区块链上运行一个零知识证明,它证明链上所有具有这种格式的地址的总余额。

另一个主要问题是防止抵押品的双重用途。交易所可以很容易地在彼此之间来回运送抵押品以进行储备证明,这将使他们在实际没有偿付能力时假装有偿付能力。理想情况下,偿付能力的证明是实时进行的,在每个区块之后都会更新证明。如果这不现实,次优选择是在不同的交易所之间协调一个固定的时间表,例如,在每周二UTC14点证明储备。

最后一个问题是:能在法币上做资产证明吗?交易所不只是持有加密货币,他们还在银行系统内持有法币。在这里,答案是:可以,但这样的程序将不可避免地依赖于"法币"信任模型:银行本身可以证明余额,审计师可以证明资产负债表,等等。考虑到法币是不可加密验证的,这是在该框架内所能做到的最好的,但它仍然值得做。

另一种方法是将一个运行交易所和处理USDC等资产支持的稳定币的实体和另一个处理在加密货币和传统银行系统之间移动的现金进出过程的实体干净地分开。因为USDC的"负债"只是链上的ERC20代币,负债证明是"免费的",只需要资产证明。

Plasma和validiums:我们可以使CEXs不受拘束吗?

假设我们想更进一步:我们不想仅仅证明交易所有资金来偿还用户的钱。相反,我们想完全防止交易所窃取用户的资金。

这方面的第一个重大尝试是Plasma,这是一个在2017年和2018年在以太坊研究圈流行的扩展解决方案。Plasma的工作原理是将余额分割成一组单独的"硬币",每个硬币都被分配了一个索引,并位于Plasma区块的Merkle树中的一个特定位置。对一个硬币进行有效的转移需要将交易放到树的正确位置,而树的根部会在链上公布。

Plasma一个版本的过度简化示意图。硬币存放在智能合约中,在提现时强行执行Plasma协议的规则。

OmiseGo试图在这个协议的基础上做一个去中心化的交易所,但从那时起,他们就转向了其他的想法---就这一点而言,Plasma集团本身也是如此,它现在是optimistic?EVM的rollup项目Optimism。

在2018年设想的Plasma的技术局限性是不值得一看的。自2018年Plasma论述的高峰期以来,ZK-SNARKs在与扩展有关的用例中变得更加可行,正如我们上面所说,ZK-SNARKs改变了一切。

Plasma想法的更现代版本是Starkware所谓的validium:基本上与ZK-rollup相同,只是数据被保存在链外。这种结构可以用于很多用例,可以想象任何集中式服务器需要运行一些代码并证明其正确执行代码的情况。在一个validium内,运营商没有办法窃取资金,尽管取决于实施的细节,如果运营商消失,一些数量的用户资金可能会被卡住。

这一切都真的很好:CEX与DEX远不是二元对立的关系,事实证明,它有一整套的选择,包括各种形式的混合中心化,你可以获得一些好处,如效率,但仍有许多加密护栏,防止中心化的运营商参与大多数形式的滥用。

但是,这个设计空间的右半部分,我们还是有必要讨论一下最基本的问题:处理用户错误。到目前为止,最重要的错误类型是:如果用户忘记了他们的密码,丢失了他们的设备,被黑客攻击,或以其他方式失去了对他们账户的访问,该怎么办?

交易所可以解决这个问题:首先是电子邮件恢复,如果连这个都失败了,可以通过KYC进行更复杂形式的恢复。但是,为了能够解决这样的问题,交易所需要真正拥有对硬币的控制权。为了有能力以好的理由恢复用户账户的资金,交易所需要有权力,也可能被用来以坏的理由窃取用户账户的资金。这是一个不可避免的权衡。

理想的长期解决方案是依靠自我保管,并辅以多重签名和社会恢复钱包等技术,帮助用户处理紧急情况。但在短期内,有两个明显的替代方案,其成本和收益明显不同。

结论:未来更好的交易所

在短期内,有两个明显的交易所"类别":托管型交易所和非托管型交易所。今天,后一类只是DEXes,如Uniswap,在未来,我们也可能看到加密学上"受约束"的CEXes,用户的资金被保存在类似validium智能合约的东西中。我们也可能看到半托管的交易所,我们用法币而不是加密货币信任他们。

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

在更长远的未来,我希望我们越来越接近所有交易所都是非托管的,至少在加密货币方面。钱包恢复会存在,对于处理小金额的新用户,以及出于法律原因需要这种安排的机构,可能需要有高度集中的恢复选项,但这可以在钱包层而不是在交易所本身内完成。magic.link与Polymarket等平台的互动方式就是这种方法的一个例子。在法币方面,传统银行系统和加密货币生态系统之间的流动可以通过资产支持的稳定币的本地现金流入/现金流出流程来完成。然而,在我们完全达到这个目标之前,还需要一段时间。

特别感谢BalajiSrinivasan,以及Coinbase、Kraken和币安工作人员的讨论。

标签:VITERKMERITAVita InuTERKINMERMilitary Finance

Gateio热门资讯
WEB:a16z:如何避免 FTX 这类金融风险再次发生?_coinweb交易所合法吗

撰写:milesjennings,a16z加密总法律顾问编译:深潮TechFlow本周的事件又会让更多的人将Web3当作是"狂野的西部".

1900/1/1 0:00:00
比特币:长期资助计划 Aptos Grant DAO 在 DoraHacks.io 正式启动_TOMATOS币

长期资助计划AptosGrantDAO在开发者激励平台DoraHacks.io正式上线。该计划旨在资助早期的优质AptosBUIDL,以进一步丰富Aptos生态体系.

1900/1/1 0:00:00
TAL:3A 级链游 Delysium 获 1000 万美元战略轮融资,Anthos Capital 领投_CAPITAL X CELL

3A级链游Delysium今日宣布获1000万美元战略轮融资,AnthosCapital?领投.

1900/1/1 0:00:00
TWI:马斯克一周,Twitter 的十年_TWINU币

撰文:美漪编辑:靖宇来源:极客公园如果给Twitter员工一个机会,他们很有可能希望时间停留在2022年10月26日——马斯克正式入主推特总部之前.

1900/1/1 0:00:00
ANT:基于区块链的共同所有权平台 Antic 是什么?_ANTEX

作者:PaulVeradittakit,PanteraCapital合伙人编译:Amber,ForesightNewsAntic是一个可以让企业或团队在采购时获得与普通消费者购物相近体验的可插入.

1900/1/1 0:00:00
MAN:Mango 攻击者披露个人身份,声称其所有行为均合法_区块链dapp开发白富美

据TheBlock报道,Mango漏洞事件的幕后推手AvrahamEisenberg发布声明确认是由其策划了对Mango的攻击.

1900/1/1 0:00:00