区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > MANA > 正文

TREE:中心化交易所如何用Merkle Tree实现资产储备证明_BullPerks

作者:

时间:

最近,在cz几条推特的轰炸之下,全球第二大交易所FTX因为挪用用户资产,被挤兑后迅速宣告破产,由此导致了用户对CEX资产储备不透明的强烈不信任感。而cz提出CEX要做MerkleTree的资产证明,并计划几周内发布,其他交易所纷纷表示跟进。

那么,什么是MerkleTree,中心化交易所应如何通过MerkleTree实现自身资产储备≥用户资产?本文将从技术角度讨论并给出完整的证明方案与代码实现。

我们以ETH为例,当我们要实现资产证明时,我们要证明的是链上资产ETH总额≥交易所用户ETH资产总额。因此,证明分为链上与链下两部分。

链上证明

链上证明比较简单,因为交易所通常会将所有用户充值汇总到几个地址,列出这几个地址在链上自查即可。为证明这些地址是交易所拥有,可用私钥签名一条简单的消息即可,签名只需要发布一次。

a16z向去中心化质押解决方案Lido Finance投资 7000万美元:3月4日消息,a16z 宣布向去中心化质押解决方案 Lido Finance 投资 7000万美元,并计划利用 Lido 将 a16z Crypto 在以太坊信标链上持有的未公开的部分 ETH 进行质押。

据悉,Lido Finance 成立于 2020 年,为以太坊 2.0 以及 Solana、Terra 等公链提供流动性质押解决方案,允许用户在没有锁定或最低存款的情况下质押他们的 ETH、SOL 等代币。Lido 于 2021 年 5 月完成由 Paradigm 领投的 7300 万美元融资,三箭资本、Alameda Research、DCG 等参投 。[2022/3/4 13:36:37]

链下证明

IoTeX密码学负责人范博士:DID去中心化身份认证对物联网未来发展影响深远:官方消息,IoTeX密码学负责人Xinxin Fan博士在”维也纳数字身份会议 (Vienna Digital Identity Meetup)“上主题演讲了 IoTeX 最新的“DID去中心化身份认证”研究报告,阐述了IoTeX如何通过区块链和物联网技术实现去中心化身份创建和身份访问管理,以及DID去中心化身份认证对未来物联网的影响和作用。

IoTeX作为硅谷开源项目成立于2017年,以链接现实世界和数字世界为发展目标,是与以太坊全兼容的高性能公有区块链。[2021/10/6 20:09:33]

链下证明就比较复杂,需要用到MerkleTree。

MerkleTree是一种二叉树,其最底层叶子节点存储数据以及数据的哈希,而每上一层节点则存储两个子节点的哈希,最后由根节点的哈希保证这个MerkleTree的任何节点数据的完整性。因为修改任何一个叶子节点的数据都会导致根节点的哈希变化,因此,使用MerkleTree可以保证,只要发布了Root,树的所有子节点均不可修改:

公告 | 去中心化存储项目BTFS发布v1.0.0 beta2版本:据BitTorrent官方消息,去中心化存储项目BTFS v1.0.0-beta2已经发布,版本新增以下功能:1.隔离测试网;2.用户个人资料;3.自定义支付期限。[2020/2/13]

假设交易所全部5个用户持有若干不等的ETH,按用户ID可表示如下:

可将用户ID视为索引,构造MerkleTree并计算MerkleRoot:

动态 | 去中心化隐私保护云网络Perlin发布了其测试版本:基于dagbased分布式分类帐Perlin已经对其testnet alpha进行了私人测试。该团队建立了一个安全和超高速的网络平台,以利用全球计算机、智能手机、游戏机、采矿设备和其他设备上的大量空闲计算能力。任何地方的设备所有者都可以通过在Perlin网络上将其闲置的计算能力出租给云用户,从而将其货币化。[2018/10/10]

交易所发布MerkleRoot后,可确保所有子节点——即用户ID对应的子节点余额均完全确定下来,每个用户均可根据自己的用户ID查询余额是否相符,只要有任何一个用户发现自己的余额在指定索引的位置不符,即可判断交易所造假。

为了证明交易所的用户资产储备总额,交易所也不得不公开所有子节点的索引与余额,这样任何第三方才能计算出用户资产总额,并根据交易所公布的MerkleRoot确认这些子节点数据没有被篡改。

然而,这样一来,每个用户的持币余额就完全公开了,可以很容易地对持币大户进行跟踪。因此,我们需要一种机制将一个用户的余额拆成若干份,并存储在多个不同的索引地址。为了确保索引不会冲突,可使用SparseMerkleTree,用以太坊地址作为索引。对SparseMerkleTree不熟悉的同学可以参考针对以太坊实现的一种SparseMerkleTree。

例如,对于用户45678持有的45.67余额,我们可以分为3份:

14.727835427.8394771023.10268748然后,根据ID计算出确定的若干地址索引:

6f1cc8a44919eb1c6576d6819b37ac9ab288ecb59759bf1d54e5f25f135d7674dea3bef0d24fb15346daefba020f7e5bfa957b13aeaa4b72034a90fd这样我们就可以把这个用户的余额分别存放在3个子节点上。把所有用户都处理一遍,假设结果如下:

我们就可以得到一个地址索引=余额的列表。对地址进行排序,以便让同一个用户的多个地址不再连续列出,得到地址/余额的CSV如下:

交易所计算总额683.91以及MerkleRoot值0x61cdf659...c41c40fe,公开CSV文件及MerkleRoot后,任何第三方可校验树的有效性,并获得用户资产总额,再与链上对比。对于每一个用户来说,需要根据自己的ID,快照时产生的余额,以及交易所给出的用于生成确定性地址的随机数,可自行验证对应的若干节点余额总和与自己的资产额度完全相等。

这种方式既能保证每个用户可验证自己的资产,又能保证其他人无法推算某个用户的资产,其缺点是计算较为繁琐,需要相应的第三方工具帮助用户校验。

小结

本文给出了一种交易所用户资产的额度证明,并保证不泄漏任何用户的额度。详细代码可参考GitHub源码:

https://github.com/michaelliao/eth-smt/blob/master/sample/src/main/java/com/itranswarp/sample/Proof.java

责任编辑:Kate

标签:MERERKTREELETMERL价格BullPerkstrees币在哪买XDEFI Wallet

MANA热门资讯
Curve:MarsBit日报 | Curve发布其稳定币的白皮书和官方代码;SBF发内部信向FTX员工道歉_ANIME Vault (NFTX)

MarsBitCryptoDaily2022年11月23日 一、今日要闻 Curve发布其稳定币的白皮书和官方代码CurveFinance的开发者已经发布了Curve即将推出的去中心化稳定币cr.

ANC:Multicoin LP:为什么我想要从 Multicoin 赎回投资?_Medal of Honour

几天前,我参加了Multicoin每月的LP电话会议。我开始还在犹豫是否要写这篇文章,因为多年来我一直是他们的对冲基金和风险基金的忠实投资者.

binance:FTX的SBF是如何从加密多金男变成恶棍的?_FTX

在短短几天内,SBF就从加密英雄变成了恶棍。他数十亿美元的财富已经崩溃。他正面临司法部和证券交易委员会的调查。他的公司FTX破产了,随之而来的是对密码本身未来的许多希望.

LET:改变 DAO 内的工作方式_poloniex兑冲金

重新思考工作的价值 即使从没端坐在格子间里工作过,你也很容易想象出“工蚁”每天面临的绝望处境。这幅画面也很好地概括了目前工作岗位的核心问题.

LON:长推:客观评价FTX和币安事件的长期深远影响_READ

ftx和币安的这场恶斗目前为止是今年币圈最大的事件,没有之一,影响广度和深度远超luna爆雷。事件及其余波,将会在接下来数年甚至更长的时间影响每一个币圈参与者.

MEV:提案者-构建者分离(PBS)的本质价值_boostcoin

提案者-构建者分离是一个被热议的话题,这是一个广泛的设计理念,强调协议和非协议行为者之间的关系,以维护和运营区块链.