最近,在cz几条推特的轰炸之下,全球第二大交易所FTX因为挪用用户资产,被挤兑后迅速宣告破产,由此导致了用户对CEX资产储备不透明的强烈不信任感。而cz提出CEX要做MerkleTree的资产证明,并计划几周内发布,其他交易所纷纷表示跟进。
那么,什么是MerkleTree,中心化交易所应如何通过MerkleTree实现自身资产储备≥用户资产?本文将从技术角度讨论并给出完整的证明方案与代码实现。
我们以ETH为例,当我们要实现资产证明时,我们要证明的是链上资产ETH总额≥交易所用户ETH资产总额。因此,证明分为链上与链下两部分。
链上证明
链上证明比较简单,因为交易所通常会将所有用户充值汇总到几个地址,列出这几个地址在链上自查即可。为证明这些地址是交易所拥有,可用私钥签名一条简单的消息即可,签名只需要发布一次。
美国众议院农业委员会通过《21世纪金融创新和技术法案》:金色财经报道,在美国众议院金融服务委员会通过《21世纪金融创新和技术法案》(Financial Innovation and Technology for the 21st Century Act)的第二天,众议院农业委员会也通过了该法案,该法案(简称为Fit21)成为国会迄今为止推进的最重要的数字资产立法,由农业和金融服务委员会的共和党成员共同起草,旨在为数字资产创建一个全面的监管框架,法案赋予商品期货交易委员会(CFTC)对数字商品的管辖权,明确了美国证券交易委员会(SEC)的管辖权,并为原本被视为证券的数字资产作为商品出售建立了流程。
据悉,该立法将在不久的将来移交至众议院进行全体投票。不过,参议院仍存在不确定性,SEC似乎也对这一法案持保留态度。
加密货币社区公开支持该法案。加密创新委员会首席执行官Sheila Warren在一份声明中表示:“这是一个重要的标志,表明维持现状不是一个选择。消费者、美国竞争力和国家安全面临太多风险,不能退居二线。”[2023/7/28 16:03:32]
链下证明
金融科技公司Plaid裁员260人:金色财经报道,金融科技公司Plaid因应对经济放缓而解雇了约 260 名员工。 Plaid 首席执行官 Zach Perret 在给员工的信息中称,由于这些宏观经济变化,我们的成本增长速度超过了收入增长速度。作为遣散费的一部分,离职员工将获得16周的工资、六个月的医疗保健和职业支持。Plaid并未回应澄清哪些部门受裁员影响最大。[2022/12/8 21:29:52]
链下证明就比较复杂,需要用到MerkleTree。
MerkleTree是一种二叉树,其最底层叶子节点存储数据以及数据的哈希,而每上一层节点则存储两个子节点的哈希,最后由根节点的哈希保证这个MerkleTree的任何节点数据的完整性。因为修改任何一个叶子节点的数据都会导致根节点的哈希变化,因此,使用MerkleTree可以保证,只要发布了Root,树的所有子节点均不可修改:
知情人士:Genesis已披露的债务总额达18亿美元,或将继续增长:12月5日消息,据消息人士透露,除了此前对Gemini达9亿美元的债务外,加密货币经纪公司Genesis还有另一组由律师事务所Proskauer Rose代表的一批债权人,债务总额也达到9亿美元,导致其目前已披露的债务总额达18亿美元,且该数字或将继续增长。
此前报道,Genesis及其母公司Digital Currency Group(DCG)对Gemini的债务达9亿美元。Gemini已经成立债权人委员会,以收回来自Genesis及其母公司DCG的资金。(CoinDesk)[2022/12/5 21:23:05]
FatMan:KuCoin近期曾在TFL的要求下单方面冻结客户资金:金色财经报道,加密货币和金融研究员FatMan在社交媒体上表示,KuCoin此前应Terraform Labs(TFL)的要求,单方面冻结了客户资金。他认为这种行为应该受到谴责。只有在法律强制要求的情况下,冻结客户资金才是合理的。过去一个月里,他曾多次要求KuCoin就这个问题发表评论。但KuCoin并未给出回复。
FatMan补充表示,这件事并没有公开,但我能够私下查证,证实冻结确实发生了。[2022/11/30 21:12:43]
假设交易所全部5个用户持有若干不等的ETH,按用户ID可表示如下:
奢侈品牌菲拉格慕在纽约开设以太坊 NFT 展位:6月25日消息,奢侈时尚品牌菲拉格慕(Salvatore Ferragamo)周五在纽约市 Soho 区开设了一个以太坊 NFT 展位,艺术家Shxpir为该品牌的 NFT 创建特征和视觉元素,客户可以从其列表中创建和铸造自己的以太坊 NFT ,在 Ferragamo 展台上创建的所有 NFT 将对参观者免费,但总共只能铸造 256 个。Ferragamo 将其 NFT 展位称为“融合了Web3和实体零售世界”的“多感官”体验,并表示其关键目标是“让它成为一种内在的个人体验”。[2022/6/25 1:30:12]
可将用户ID视为索引,构造MerkleTree并计算MerkleRoot:
交易所发布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
????2022年国内电商618、双11接连落下帷幕,同往年相比正在失去热度,中国商业信心遭到打击,消费需求也逐渐失灵降温.
1900/1/1 0:00:0011月18日,UniswapLabs发布了两个新的智能合约:1、Permit2允许在不同的应用程序中共享和管理代币审批,创造更统一、更高效和更安全的用户体验.
1900/1/1 0:00:00这一切只能用「歇斯底里」来描述。现在的市场和2021年底的「加密狂热」相比简直是云泥之别:人们已经开始胡言乱语、各种预测离谱到令人发指,而且,所有人都已经无法自拔地沉迷于推特.
1900/1/1 0:00:00近日的加密市場波動異常慘烈,被稱爲“币圈911”、“雷曼事件”。爲安撫市場情緒,多家平台對外發聲,強調資金儲備安全,爲市場信心充值.
1900/1/1 0:00:00去中心化NFT艺术生产平台ArtGobblers在上线20天内快速走完了它的高光时刻。11月1日,ArtGobblers上线当天,Gobblers外星人形象的NFT以1698万美元的交易量超越C.
1900/1/1 0:00:00本期看点上海升级时间预测与优先级安排各客户端团队对上海升级候选EIP的考量审查区块占比现状Flashbots开源sync-proxyzkSync2.
1900/1/1 0:00:00