最近,在cz幾條推特的轟炸之下,全球第二大交易所FTX因為挪用用戶資產,被擠兌后迅速宣告破產,由此導致了用戶對CEX資產儲備不透明的強烈不信任感。而cz提出CEX要做MerkleTree的資產證明,并計劃幾周內發布,其他交易所紛紛表示跟進。
那么,什么是MerkleTree,中心化交易所應如何通過MerkleTree實現自身資產儲備≥用戶資產?本文將從技術角度討論并給出完整的證明方案與代碼實現。
我們以ETH為例,當我們要實現資產證明時,我們要證明的是鏈上資產ETH總額≥交易所用戶ETH資產總額。因此,證明分為鏈上與鏈下兩部分。
鏈上證明
鏈上證明比較簡單,因為交易所通常會將所有用戶充值匯總到幾個地址,列出這幾個地址在鏈上自查即可。為證明這些地址是交易所擁有,可用私鑰簽名一條簡單的消息即可,簽名只需要發布一次。
Lookonchain:比特幣和以太坊上漲或與機構/基金投入16億美元資金有關:金色財經報道,Lookonchain在社交媒體發文稱,比特幣和以太坊今日出現上漲,鏈上數據顯示自2月10日以來幾家基金/機構已經向加密市場投入了近16億美元,這段時間內基金/機構從Circle取出了16億美元的USDC,但僅存入了約2億美元的USDC,分析認為機構投資者并沒有因為前期比特幣和以太坊的下跌而停止向加密市場注資。[2023/2/16 12:10:37]
鏈下證明
鏈下證明就比較復雜,需要用到MerkleTree。
MerkleTree是一種二叉樹,其最底層葉子節點存儲數據以及數據的哈希,而每上一層節點則存儲兩個子節點的哈希,最后由根節點的哈希保證這個MerkleTree的任何節點數據的完整性。因為修改任何一個葉子節點的數據都會導致根節點的哈希變化,因此,使用MerkleTree可以保證,只要發布了Root,樹的所有子節點均不可修改:
最高法:仲裁裁決裁定被申請人賠償與比特幣等值的美元,再將美元折算成人民幣,違反了金融監管的規定:金色財經報道,《高哲宇與深圳市云絲路創新發展基金企業、李斌申請撤銷仲裁裁決案》案例經最高人民法院審判委員會討論通過 2022年12月27日作為指導性案例199號發布。此前,仲裁庭裁決,變更云絲路企業持有的極驅公司5%股權至高哲宇名下;高哲宇向云絲路企業支付股權轉讓款25萬元;高哲宇向李斌支付401780美元(按裁決作出之日的美元兌人民幣匯率結算為人民幣);高哲宇向李斌支付違約金10萬元。高哲宇認為該仲裁裁決違背社會公共利益,請求人民法院予以撤銷。
對此,廣東省深圳市中級人民法院于2020年4月26日作出(2018)粵03民特719號民事裁定,撤銷深圳仲裁委員會(2018)深仲裁字第64號仲裁裁決。
最高法裁判要點稱:仲裁裁決裁定被申請人賠償與比特幣等值的美元,再將美元折算成人民幣,屬于變相支持比特幣與法定貨幣之間的兌付交易,違反了國家對虛擬貨幣金融監管的規定,違背了社會公共利益,人民法院應當裁定撤銷仲裁裁決。[2023/1/14 11:11:57]
Symbiosis Finance創建鏈間通信協議,支持renBTC跨鏈兌換:7月15日消息,多鏈流動性協議Symbiosis Finance宣布已創建鏈間通信協議,允許用戶訪問renBTC并直接與比特幣交互。Symbiosis使用BNB Chain上的Ren Protocol為BTC執行兌換過程。Ren Protocol在BNB Chain上銷毀renBTC,并將BTC發送到用戶在比特幣區塊鏈上的地址。[2022/7/15 2:14:51]
假設交易所全部5個用戶持有若干不等的ETH,按用戶ID可表示如下:
IMF:美國經濟可能在未來兩年放緩,將勉強避免衰退:6月25日消息,國際貨幣基金組織周五發表聲明稱,美國經濟可能在 2022 年和 2023 年放緩,但隨著美聯儲實施其利率收緊計劃以遏制通脹,美國經濟將勉強避免衰退。現在的政策重點必須是在不引發衰退的情況下迅速減緩工資和物價的增長,這將是一項棘手的任務。
IMF總裁格奧爾基耶娃表示:美聯儲迅速將基準利率升至 3.5% 至 4% 的計劃應該會使金融狀況提前收緊,從而迅速將通脹拉回目標水平。我們意識到,避免美國陷入衰退的道路越來越窄。美國目前面臨的物價壓力是廣泛的,遠遠超出了能源和食品價格的上漲。(金十)[2022/6/25 1:30:26]
可將用戶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
Tags:MERERKETRTREEDon’t Know Your CustomerERK價格MetropolyTree Finance
從該領域的相關參與者那里找到一些想法總是件好事,ArthurHayes就是其中之一。他是BitMEX的首席執行官和聯合創始人,BitMEX是全球重要的加密交易所之一.
1900/1/1 0:00:0010月27日,AptosAutumn主網上線一周后,其瀏覽器數據顯示,該Layer1網絡的交易總量為1432萬筆,TPS為10.65,原生TokenAPT總供應量約為10.02億.
1900/1/1 0:00:00我發現了證據,FTX可能在第二季度為Alameda提供了大量的救助,現在FTX遭到了反噬。40天前,價值超過40億美元的1.73億枚FTT代幣在鏈上變得活躍。 一個兔子洞出現了.
1900/1/1 0:00:00根據Opensea的數據顯示,無聊猿的價格已經跌破了50以太,截止目前是61.35以太,如此大的跌幅,也成功打破了無聊猿在NFT質押平臺BendDAO的地板價,導致超過40只猴子遭到了清算.
1900/1/1 0:00:002018年11月2日,Uniswap公開發布并部署到以太坊主網。在一個激動人心、令人緊張的時刻,我向我的大約200多名粉絲發布了公告推文。 對于許多人來說,這是他們第一次聽說這個項目.
1900/1/1 0:00:00加密貨幣空投是加密貨幣初創公司用來推廣項目及其新代幣的市場營銷策略,主要是向現有或潛在用戶免費發放項目的原生加密貨幣.
1900/1/1 0:00:00