加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

中心化交易所如何用Merkle Tree實現資產儲備證明_ERK:SatoshiStreetBets

Author:

Time:1900/1/1 0:00:00

最近,在cz幾條推特的轟炸之下,全球第二大交易所FTX因為挪用用戶資產,被擠兌后迅速宣告破產,由此導致了用戶對CEX資產儲備不透明的強烈不信任感。而cz提出CEX要做MerkleTree的資產證明,并計劃幾周內發布,其他交易所紛紛表示跟進。

那么,什么是MerkleTree,中心化交易所應如何通過MerkleTree實現自身資產儲備≥用戶資產?本文將從技術角度討論并給出完整的證明方案與代碼實現。

我們以ETH為例,當我們要實現資產證明時,我們要證明的是鏈上資產ETH總額≥交易所用戶ETH資產總額。因此,證明分為鏈上與鏈下兩部分。

鏈上證明

鏈上證明比較簡單,因為交易所通常會將所有用戶充值匯總到幾個地址,列出這幾個地址在鏈上自查即可。為證明這些地址是交易所擁有,可用私鑰簽名一條簡單的消息即可,簽名只需要發布一次。

DonaldTrump系列2NFT已售罄,總交易額達882ETH:4月20日消息,DonaldTrump在社交媒體平臺TruthSocial稱其新推出的NFT系列TrumpDigitalTradingCardsSeries2總計4.7萬張數字交易卡已全部售罄,總交易額達到882ETH。不過,這些交易卡的地板價卻出現大幅下降,OpenSea數據顯示,該系列地板價在過去24小時內已從0.2ETH跌至0.056ETH。[2023/4/20 14:15:39]

鏈下證明

鏈下證明就比較復雜,需要用到MerkleTree。

MerkleTree是一種二叉樹,其最底層葉子節點存儲數據以及數據的哈希,而每上一層節點則存儲兩個子節點的哈希,最后由根節點的哈希保證這個MerkleTree的任何節點數據的完整性。因為修改任何一個葉子節點的數據都會導致根節點的哈希變化,因此,使用MerkleTree可以保證,只要發布了Root,樹的所有子節點均不可修改:

消息人士:Signature Bank被接管前已流失約178億美元存款,占比20%左右:金色財經報道,據消息人士透露,加密友好銀行Signature Bank在被接管前已流失約20%的存款,約合178億美元。(彭博社)[2023/3/15 13:04:53]

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

可將用戶ID視為索引,構造MerkleTree并計算MerkleRoot:

多位Magic Eden用戶聲稱在平臺上的正版NFT主頁買到贗品,懷疑平臺或存在BUG:1月4日消息,NFT收藏者Trollidan《TYR》發推稱,自己在Magic Eden上的ABC(abracadabra)系列NFT主頁買到了贗品NFT,多位NFT收藏者回應表示有相同經歷。

據悉,贗品NFT 掛單均以大幅低于市場價的價格出現在官方正版NFT系列主頁,買家誤以為掛單者手滑輸入錯誤價格,買入后才發現買到的NFT收藏系贗品,該BUG目前或已遭到惡意利用,Magic Eden官方暫未對此類事件給出相關聲明。[2023/1/4 9:52:43]

BSC鏈上托管平臺Justcows疑似跑路,項目方已轉移500萬美元資金:6月24日消息,據推特用戶@eternal1997L的推文,BSC鏈上的托管平臺Justcows疑似跑路,項目方將大量的BUSD通過混幣的形式,分散到了至少上萬個地址里,其中部分資金轉到了hunterswap,還有一部分進了交易所。據悉,該平臺1個月前曾發布公告,停止用戶提現。據悉,Justcows卷走了500萬美元的用戶資金。

項目方錢包地址疑似0xb619571786E069c635605A175D7B668bD74ae6a5。[2022/6/24 1:28:27]

交易所發布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

Tags:ERKMERTREELETBerkshireMERD價格SatoshiStreetBetsmathwallet錢包下載

芝麻開門交易所下載
【美塔星球】新一輪拉新活動正式開啟!更多福利好禮等你來!_OIN:COI

用戶下載APP并完成實名認證后,可在綠島空間免費獲得?顆禮物樹用戶每?可以在禮物樹旁NPC處領取?袋肥料用戶每24?時可以使?肥料對禮物樹進?施肥?次施肥24?時之后.

1900/1/1 0:00:00
復盤打臉 2022,研判加密 2023_NFT:GNFT幣

又到了一年尾聲,我們來嘗試總結2022發生的故事,并來看看2023可能發生什么。2022是一個高開低走的一年。年初時以太坊雖然跌到3800,我們依舊能看到鏈上的交易熱情以及NFT市場的火爆.

1900/1/1 0:00:00
社區運營工具盤點,教你如何使用好電報&DC 管理工具_BOT:SCO幣

對于Web3項目而言,社區的重要性已經不言而喻,項目的成敗也與社區的建設也息息相關。而針對Web3的社區,絕大部分項目都會把運營的重心放到電報和Discord兩大社交平臺.

1900/1/1 0:00:00
Multicoin LP:為什么我想要從 Multicoin 贖回投資?_TIC:COIN

幾天前,我參加了Multicoin每月的LP電話會議。我開始還在猶豫是否要寫這篇文章,因為多年來我一直是他們的對沖基金和風險基金的忠實投資者.

1900/1/1 0:00:00
市場遭遇雷曼危機,FTX拋售風暴繼續_SOL:FTX

市場觀點 1、宏觀流動性 貨幣流動性放緩。美國支柱產業形成失業潮,為避免緊縮過度對經濟造成破壞,美聯儲12月大概率會放緩加息強度至50基點,流動性壓力減輕.

1900/1/1 0:00:00
FTX崩潰和CEX撤離之際,DeFi平臺終于見到利潤_區塊鏈:APE

FTX和Alameda暴雷發生一周后,再看看鏈上數據,非常值得我們觀察和分析。盡管比特幣和以太正在以創記錄的數量和速度離開中心化的交易所,但是也并不是所有去中心化應用(dapp)和協議都顯示出增.

1900/1/1 0:00:00
ads