最近,在cz幾條推特的轟炸之下,全球第二大交易所FTX因為挪用用戶資產,被擠兌后迅速宣告破產,由此導致了用戶對CEX資產儲備不透明的強烈不信任感。而cz提出CEX要做MerkleTree的資產證明,并計劃幾周內發布,其他交易所紛紛表示跟進。
那么,什么是MerkleTree,中心化交易所應如何通過MerkleTree實現自身資產儲備≥用戶資產?本文將從技術角度討論并給出完整的證明方案與代碼實現。
我們以ETH為例,當我們要實現資產證明時,我們要證明的是鏈上資產ETH總額≥交易所用戶ETH資產總額。因此,證明分為鏈上與鏈下兩部分。
鏈上證明
鏈上證明比較簡單,因為交易所通常會將所有用戶充值匯總到幾個地址,列出這幾個地址在鏈上自查即可。為證明這些地址是交易所擁有,可用私鑰簽名一條簡單的消息即可,簽名只需要發布一次。
基于Solana的房地產代幣化平臺Homebase已上線測試版本:2月7日消息,基于Solana的房地產代幣化平臺Homebase在推特上宣布Homebase Investment Platform上線測試版本,下周將推出首項資產,用戶將能夠以低至100美元的價格投資于代幣化住宅房地產。[2023/2/7 11:52:39]
鏈下證明
鏈下證明就比較復雜,需要用到MerkleTree。
MerkleTree是一種二叉樹,其最底層葉子節點存儲數據以及數據的哈希,而每上一層節點則存儲兩個子節點的哈希,最后由根節點的哈希保證這個MerkleTree的任何節點數據的完整性。因為修改任何一個葉子節點的數據都會導致根節點的哈希變化,因此,使用MerkleTree可以保證,只要發布了Root,樹的所有子節點均不可修改:
基于以太坊的農業科技公司Dimitra Incorporated完成650萬美元融資:金色財經報道,基于以太坊區塊鏈的農業科技公司Dimitra Incorporated通過發行Dimitra Token完成650萬美元融資,旨在加速其開創性Connected Farmer平臺發展,該平臺通過集成人工智能、區塊鏈、衛星和無人機等先進技術,幫助小農記錄他們的農業活動、開發和生成詳細的報告,并獲得有助于他們做出更好決策的見解。Dimitra Token作為基于ERC-20的實用代幣在以太坊網絡上推出,可在Dimitra平臺內無縫連接,為農民提供激勵,交易可通過 Etherscan 和以太坊區塊鏈進行驗證。(accesswire)[2022/9/27 22:32:23]
Boki系列NFT 24小時交易額超300萬美元,增幅超1300%:6月3日消息,據 NFTGo.io 數據顯示,Boki 系列 NFT 24 小時交易額達 366.9 萬美元,24 小時增幅達 1,302.46%。截止目前,該系列 NFT 地板價為 1.15 ETH,24 小時漲幅 215.96%。[2022/6/3 3:59:41]
假設交易所全部5個用戶持有若干不等的ETH,按用戶ID可表示如下:
可將用戶ID視為索引,構造MerkleTree并計算MerkleRoot:
Terra新鏈預計將于北京時間 5 月 28 日 14:00 上線:5月27日消息,Terra 發推稱 Terra 2.0 預計將于北京時間 5 月 28 日 14:00 上線。Terra 表示,新鏈的第一個區塊將在絕大多數驗證者開始運行后產生,Terra Station、區塊瀏覽器 Terra Finder 和 Terra Observer 都將在網絡上線后正常運行。[2022/5/27 3:45:16]
交易所發布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
編者按: 10月31日,香港特區政府今日發表有關虛擬資產在港發展的政策宣言,闡明政府為在香港發展具活力的虛擬資產行業和生態系統而訂定的政策立場和方針.
1900/1/1 0:00:00根據Opensea的數據顯示,無聊猿的價格已經跌破了50以太,截止目前是61.35以太,如此大的跌幅,也成功打破了無聊猿在NFT質押平臺BendDAO的地板價,導致超過40只猴子遭到了清算.
1900/1/1 0:00:00MarsBitCryptoDaily2022年11月4日 一、今日要聞 BSC上pGALA合約超發10億美元,BSCGALA接近歸零.
1900/1/1 0:00:00目錄 交易所儲備資產披露情況已經公布了的交易所到底有多少資產?交易所儲備資產的健康狀況如何?再進一步分析寫在最后隨著?AlamedaResearch?和?FTX?的相繼破產.
1900/1/1 0:00:00最近,DeFi世界已經被真實收益的敘事所占領。項目現在專注于從他們的收益中支付給用戶獎勵,而不是使用過去協議中通貨膨脹的代幣機制,這種新的可持續模式將使協議長期表現良好.
1900/1/1 0:00:00本文的結構如下,對域名已有了解的讀者可以直接跳至自己喜歡的章節進行閱讀本文的第一章,本文將具體介紹Web3域名當下和潛在的具體應用場景;在第二章,本文將對當前數量繁多的域名類項目做一個分類梳理.
1900/1/1 0:00:00