最近,在cz幾條推特的轟炸之下,全球第二大交易所FTX因為挪用用戶資產,被擠兌后迅速宣告破產,由此導致了用戶對CEX資產儲備不透明的強烈不信任感。而cz提出CEX要做MerkleTree的資產證明,并計劃幾周內發布,其他交易所紛紛表示跟進。
那么,什么是MerkleTree,中心化交易所應如何通過MerkleTree實現自身資產儲備≥用戶資產?本文將從技術角度討論并給出完整的證明方案與代碼實現。
我們以ETH為例,當我們要實現資產證明時,我們要證明的是鏈上資產ETH總額≥交易所用戶ETH資產總額。因此,證明分為鏈上與鏈下兩部分。
鏈上證明
鏈上證明比較簡單,因為交易所通常會將所有用戶充值匯總到幾個地址,列出這幾個地址在鏈上自查即可。為證明這些地址是交易所擁有,可用私鑰簽名一條簡單的消息即可,簽名只需要發布一次。
Spencer Schiff:人工智能的發展導致比特幣未來幾年可能跌至接近零:金色財經報道,黃金支持者彼得·希夫(Peter Schiff)的兒子Spencer Schiff表示,比特幣不會對世界產生重大影響,未來幾年其價格可能會跌至接近零。Spencer Schiff多年來一直認為比特幣是一種出色的長期投資和通脹對沖工具,而他的父親是比特幣的批評者。
Schiff解釋稱:我觀點的轉變與熊市無關。去年年底比特幣觸底那天,我仍然非常看好比特幣。我甚至說服母親抄底,我不再關心比特幣的唯一原因是人工智能。如果沒有人工智能,我仍然認為比特幣的價格將達到每枚數千萬美元”。[2023/7/20 11:05:41]
鏈下證明
鏈下證明就比較復雜,需要用到MerkleTree。
Web3公司Transient Labs推出NFT批量鑄造平臺The Lab:6月28日消息,Web3創作者創新公司Transient Labs宣布推出NFT批量鑄造平臺TheLab,該平臺支持數字藝術家以一枚NFT的價格鑄造多達100枚NFT,從而優化成本效率。
Transient Labs表示,除NFT鑄造,The Lab未來的愿景包括推出無代碼動態藝術構建器、Shatter和Doppelganger等創新智能合約、可定制的創作者店鋪等。[2023/6/28 22:05:19]
MerkleTree是一種二叉樹,其最底層葉子節點存儲數據以及數據的哈希,而每上一層節點則存儲兩個子節點的哈希,最后由根節點的哈希保證這個MerkleTree的任何節點數據的完整性。因為修改任何一個葉子節點的數據都會導致根節點的哈希變化,因此,使用MerkleTree可以保證,只要發布了Root,樹的所有子節點均不可修改:
MakerDAO社區將于3月8日發起下線USDC-A、USDP-A與GUSD-A執行投票:金色財經報道,MakerDAO發推稱,將于2023年3月8日發起下線USDC-A、USDP-A與GUSD-A執行投票。屆時執行投票將向上述vault類型部署以下參數:最高債務上限為0、清算罰金為0%、FlatKick獎勵為0、清算比率至1500%。該參數將于3月8日發起的執行投票中部署,此后所有抵押率低于1500%對USDC-A、USDP-A和GUSD-A頭寸將被清算。如果要避免清算,則需在執行投票結束前,全額付清DAI債務,并關閉USDC-A、USDP-A或GUSD-Avaults。MakerDAO提醒,USDC-A、USDP-A和GUSD-A是具有抵押債務頭寸模型的標準vault類型,決不能誤認為是PSM。
2023年1月23日,關于下線USDC-A、USDP-A與GUSD-A的民意投票100%通過。[2023/3/4 12:41:31]
印度財政部:印度財長和耶倫討論加密貨幣資產問題:金色財經報道,據印度財政部披露信息,印度財長與美國財長耶倫討論了全球債務脆弱性、加密貨幣資產和全球衛生問題,以及加強多邊開發銀行。(路透社)[2023/2/23 12:24:51]
假設交易所全部5個用戶持有若干不等的ETH,按用戶ID可表示如下:
可將用戶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
F-NFT是一種NFT,它使人們能夠擁有NFT的一部分,以減輕經濟負擔。這種碎片化的過程允許通過與原始NFT綁定的一組可替代代幣來共享NFT的所有權.
1900/1/1 0:00:00今天,我們達到了BabyAlpha新里程碑,現在已經開始向FairOnboardingAlpha和FullLaunchAlpha進軍,在我們團隊、生態系統項目和社區的奉獻和支持下.
1900/1/1 0:00:00我無話可說…… 開玩笑! 我其實有有無數話要說給你們聽。幾天前我在推特上問了一個問題,想知道誰將成為這個加密信貸周期的雷曼兄弟。許多人說這將是FTX,說實在的我一笑而過.
1900/1/1 0:00:00為什么DeFi是大勢所趨 CeFi信任危機 FTX作為行業僅次于幣安的第二大加密生態,在短時間內遭遇擠兌,突然暴雷,震驚了整個加密貨幣世界。我們應該重新審視CEX的風險.
1900/1/1 0:00:00最近,我們在推特上看到了關于數據可用性及其重要性的討論。毫無疑問,L2解決方案正在賦予以太坊能夠成為全球超級計算機的力量.
1900/1/1 0:00:0011月12日,AutismCapital發推表示,FTX內部人士很有可能正在試圖攜款潛逃,被轉移的金額約為3.8億美元,看起來好像是黑客攻擊,但也有可能是內部人士.
1900/1/1 0:00:00