NCE:探究默克尔树储备金证明

币安和FTX引发了一起加密货币行业“战争”,最终FTX因为挪用用户资产导致准备金不够从而产生暴雷。经过此次暴雷,用户和投资者对中心化交易所越来越不信任甚至产生怀疑,因此不愿意再将自己的资产存入中心化交易所。而交易所方面,为了留住用户和投资者们,想法设法的让他们增加对中心化交易所的信任。其中一项措施就是让中心化交易所里的资产透明化,也就是用默克尔树储备金证明。2.1默克尔树概念

默克尔树一种哈希二叉树,于1979年由RalphMerkle发明。默克尔树与标准二叉树一样,由一个根节点、一组中间节点和一组叶节点组成。

2.2默克尔树的应用

默克尔树将数据存储在叶节点中,中间节点由其对应的两个叶节点的哈希生成,然后以此类推,通过逐级哈希运算操作最后生成整个默克尔树。一旦任何一个叶节点数据发生变化,都会影响到其生成的中间节点并最终反应到根节点的变化,这样就保证了数据的不可篡改性。

根据这个特点,默克尔树在各领域广泛使用:

IPFS

GitHub

比特币

数字签名

P?2?P网络

部分分布式数据库

3.1储备金证明概念

PoR是一种常见的资产审计方法,由第三方审计机构进行独立的审计,用以证明链上储备金没有被挪用,而是足够匹配用户在交易所账面所有的资产。

3.2储备金证明流程

通常为第三方审计机构对所有的账户余额进行匿名快照,然后逐级向上获取哈希值直到根节点,最后审计员通过比较公开链上余额和审计的余额是否足以匹配来确定交易所是否持有足够的准备金。

根据每家交易所的规则不同,其生成的哈希值也不同,以OKX为例,根据其官方文档显示,每个子节点包含节点的哈希和用户资产快照覆盖的币种数量,叶节点的哈希值为hash=SHA?256(noncebalances),交易所会给每个用户分配一个唯一的nonce,这个nonce是可以在audit页面查询到,balances是用户资产快照覆盖的币种数量组成的json字符串,如:{"BTC":"1.023","ETH":"0","USDT":"20.2343322"}。

验证的原理就是从用户本身的叶结点开始往上计算父节点hash值,一直到根节点计算得出hash值,对比从官方公布的默克尔树路径中根节点的hash值,如果二者相等则验证通过,不等则验证不通过。

所以在交易所公开默克尔树根后,用户有三种途径可以证明其是否为100%储备:

任何用户可以验证其余额和UID在否树上;

第三方审计公司来审核树上所有用户的余额加总;

第三方审计公司来审核交易所所有钱包地址的余额加总。

3.3各家CEX的储备金证明措施

从FTX暴雷开始,各家CEX就发消息表明他们自己想要进行储备金证明的措施。

?后记

虽然我们看懂储备金证明在交易所中的确非常重要,但即便是证明了交易所是100%的储备,也只能说明交易所在公布默克尔树根的那一瞬间是100%储备的,当前的储备金证明也存在很多问题:

树根的更新频率不够快,不能做到每笔交易都实时刷新;

前端进行伪造;

第三方审计机构的信用不够。

储备金证明也只是目前能挽回用户一定信任的方法,只是储备金证明还远远不够,还有很多不能通过储备金来证明的也希望交易所能够公开透明。既然交易所都做了储备金证明,那么事件频发的跨链桥是否也该考虑做下储备金证明呢?

欧易储备金证明

默克尔树在区块链中的应用

CEX纷纷亮「家底」,merkle-tree是否能挽回用户信任?

CEX纷纷宣布进行100%储备--默克尔树如何证明

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

链链资讯

[0:36ms0-3:31ms