ETH:一文了解Merkle Tree储备证明,有何意义和漏洞?

原文编辑:吴说区块链

前言:FTX暴雷,使得所有交易所开始共同推进默克尔树储备证明方案,未来这将成为类似DeFi项目的安全审计一样、几乎所有交易所的必备选项。目前国外与国内实践时间较长的是Kraken与Gate。究竟什么是MerkleTree储备证明,它有什么意义,又有什么不足?这篇文章汇总了一些内容,以供读者了解。

内容一:

国内最早长期使用的Gate的说明

默克尔树是一种哈希二叉树,1979年由RalphMerkle发明,将数据存储在树状结构的叶子节点中,并通过对数据的逐级哈希操作确保数据的不可篡改性。叶子节点数据的任何变动,都会传递到上一级节点并最终反应到树根的变化。比特币区块里面的每一笔交易就是通过默克尔树结构进行存储的。

我们提出的方法中,采用两种方式分别提供平台用户所属资产总额证明和有效用户保证金证明。通过默克尔树的方式将每一个用户的账户资产哈希值存储在默克尔树的叶子节点中。通过第三方的财务审计机构审计默克尔树的叶子节点中存储的用户资产总额,同时也由第三方的财务审计机构审查和验证平台所持有的有效用户保证金。最终由第三方的财务审计机构提供书面审计报告对外公布审计结果。同时对外公开存储所有用户资产哈希值的默克尔树。每一个平台用户都可以通过数学算法验证自己的账户资产金额是否被准确包含在默克尔树中。

对于主流币种,我们将跟审计公司配合,逐一完成审计报告,在Github平台上公布所有用户资产哈希值默克尔树,并且开源验证代码程序,任何平台用户都可以从“我的财务”的“余额证明页面”获取验证信息,并且通过我们公开的默克尔树和验证程序验证自己的资产是否被我们准确公布和包含到审计过程中。

对于其他币种,任何项目方或个人均可以提出要求让平台按同样标准完成审计工作和公开用户资产默克尔树,但需要由提出人承担一定的费用。费用标准将根据审计难度确定,根据币种是否多链存储,是否具有PoS理财功能,是否具有隐私功能等制定。

内容二:

作者:Babywhale,ForesightNews

原文链接

2019年2月,比特币和区块链基础设施公司Blockstream发表了名为《标准化比特币储备证明》的博客文章,阐述了如何自证交易所等机构的比特币储备以及对这些储备资金的控制权。Blockstream最初研究该方案是旨在向审计员证明比特币侧链LiquidNetwork上的比特币储备,后发展为比特币储备证明的一种规范。

在Blockstream之前,验证的方案的多样性使得用户难以了解每个交易所的储备情况。此外,由于需要验证私钥的所有权,所以在签名交易转移资产的过程中可能有资金被盗的风险。

该方案通过比特币特殊的UTXO交易格式实现,交易所通过构建一个包含交易所所有比特币储备的交易输出,但同时构建一个无效的输入。该交易会在广播时被网络拒绝从而无法产生实际的交易,但该交易仍可以作为交易所控制的比特币数量的证明。

事实上,早在2014年,Crypto社区就对交易所如何向审计机构证明其储备展开了讨论。在Blockstream提出了比特币的储备证明方案并加入BIP之后,市场开始研究更加细化的方案,而基于MerkleTree的证明模式就是当下市场普遍认可的一种方案。

总部位于美国的加密货币交易所Kraken对其储备证明的方案进行了较为详细的解释。Kraken表示,所谓PoR是由第三方进行的独立审计,审计员将对所有的账户余额进行匿名快照,并将其聚合至MerkleTree中,并获得MerkleRoot:一种在创建快照时产生的唯一的标识这些余额的数据组合。

然后,审计员收集由Kraken生成的数字签名,这些签名通过可公开验证的余额来证明对链上地址的所有权。最后,审计师比较并验证这些余额是否超过或匹配MerkleTree中显示的客户账户余额,来确定交易所是否持有足额的准备金。

简单解释一下,MerkleTree的底层数据为每个账户持有的资产数据生成的Hash,之后MerkleTree再通过两个Hash生成一个新的Hash,以此类推,最终的Hash代表着交易所所拥有的资产总额,该数字应该大于或至少等于所有用户持有的资产。该方案能够被接受的最大原因在于每个用户的资产数据都被包含其中,如果交易所想要篡改该过程中任何一个数据,都会对最终数据产生极大的影响。

虽然该方案在证明审计时交易所拥有足以兑付所有用户资产的能力,但也存在一定的缺陷。例如无法证明私钥是独家拥有的、审计时的资产是否为临时借入、如何证明以将交易所资金与用户资产进行了隔离以及审计本身的审慎性等。

除了Kraken之外,加密货币交易所BitMEX在2021年公开了其验证交易所持有的比特币储备的方案,该方案同样采用了基于MerkleTree的证明模式,为每个用户的账户生成ID,使得用户可以自己运行一个比特币节点,再通过运行这一套程序来验证每个比特币区块高度中账户资产与交易所的总资产。

此外,BitMEX还在方案发布时描述了其在用户隐私层面所做的考虑。若将数据公开,则所有用户的资产情况也将随之公开,BitMEX计划将用户的资产进行一定程度上的分割,并将不同用户的部分资产数据组合形成MerkleTree,使得即时在首次公开时暴露了部分持仓,也难以在后续观察到该用户的资产分布以及对其操作进行跟踪。

写在最后

虽然FTX事件为我们敲响了警钟,也推动了交易所透明度的进一步发展,但事实上当前的资产验证方案仍存在包括上述缺点在内的不少漏洞。在很多细节方面,交易所仍然难以「自证清白」。中心化机构的透明度一直以来都是一个被广泛关注和讨论的问题,不够透明会引发投资者的担忧,但过于透明可能会一定程度上暴露商业机密,而这些矛盾不仅仅发生在Web3领域。

举个简单的例子,当前中心化交易所很多都推出了加密货币理财产品。在交易所没有滥用这些资产的前提下,可能部分用于量化交易,部分用于对冲风险,部分用在DeFi中,部分用于抵押借贷,交易所本身很难将全部的用途公之于众。

当下,证明交易所兑付能力的储备证明仅仅是一个开始,如何证明用户资金没有与自有资金混淆、如何证明理财产品并非旁氏局、如何证明做市商的承兑能力等等,都是交易所后续需要去思考和解决的问题。

内容三:

不同观点,来自Chainfeed

Ben:潜在的问题有:1.树根的更新频率问题;2.前端欺诈问题;3.第三方审计的信用问题;4.吹哨人可用性问题。但愈加透明总体上对CEX用户而言是一种更好的趋势。

Haotian:交易所CEX都说要采用默克尔树储备证明,有积极影响,但潜在问题依然存在:1)默克尔树储存的数据频率如何更新,不能做到每笔input和output都实时刷新,资金挪用问题还是存在;2)默克尔树数据存在交易所自家服务器上,顶多算可验证了,「验证」都是事后查证性质了,说到底还是会存在平台公信力问题。

Jolestar:Merkletree方案实际上起不了多大作用,不过聊胜于无吧,这个趋势是好的。真正的方案需要参考layer2的思路,要保证用户单方面的提币权,要有欺诈惩罚。

Mindao:核心问题是光知道储备还不够,关联交易、负债关系、保证金交易,这些都无法通过储备体现。牛市来了,用户杀红眼,更不在乎这。聊胜于无吧,但最终:他律>自律。DeFi是永续资产链上证明,而且连业务逻辑、权限都明明白白、可验证。我们又回到原点,allinDeFi就对了。

Benmo:除了各家Cex做保证金100%证明,希望跨链桥们也做一下保证金100%证明。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

LunaNFT:DEX 的现状和去中心化交易的未来

2022.11.08又会是一个载入Crypto史册的一天。三天时间,一代巨头跌落神坛,崩溃速度超乎所有人的预料,行业信心被严重打击。但从另一个角度来看,这或许是行业的新的转折点.

[0:0ms0-7:696ms