探究默克爾樹儲備金證明
前言
前段時間幣安和 FTX 引發了一起加密貨幣行業“战爭”,最終 FTX 因為挪用用戶資產導致准備金不夠從而產生暴雷。經過此次暴雷,用戶和投資者對中心化交易所越來越不信任甚至產生懷疑,因此不愿意再將自己的資產存入中心化交易所。而交易所方面,為了留住用戶和投資者們,想法設法的讓他們增加對中心化交易所的信任。其中一項措施就是讓中心化交易所裏的資產透明化,也就是用默克爾樹儲備金證明。
默克爾樹
在研究默克爾樹儲備證明之前,我們需要先知道什么是默克爾樹?
1、默克爾樹概念
默克爾樹(Merkle Tree,又叫哈希樹)一種哈希二叉樹,於 1979 年由 Ralph Merkle 發明。默克爾樹與標准二叉樹一樣,由一個根節點、一組中間節點和一組葉節點組成。
2、默克爾樹的應用
默克爾樹將數據存儲在葉節點中,中間節點由其對應的兩個葉節點的哈希生成,然後以此類推,通過逐級哈希運算操作最後生成整個默克爾樹。一旦任何一個葉節點數據發生變化,都會影響到其生成的中間節點並最終反應到根節點的變化,這樣就保證了數據的不可篡改性。
根據這個特點,默克爾樹在各領域廣泛使用:
IPFS
GitHub
比特幣
數字籤名
P2P 網絡
部分分布式數據庫
默克爾樹儲備金證明
1、儲備金證明概念
PoR(Proof of Reserves,中文翻譯為儲備金證明)是一種常見的資產審計方法,由第三方審計機構進行獨立的審計,用以證明鏈上儲備金沒有被挪用,而是足夠匹配用戶在交易所账面所有的資產。
2、儲備金證明流程
通常為第三方審計機構對所有的账戶余額進行匿名快照,然後逐級向上獲取哈希值直到根節點,最後審計員通過比較公开鏈上余額和審計的余額是否足以匹配來確定交易所是否持有足夠的准備金。
根據每家交易所的規則不同,其生成的哈希值也不同,以 OKX 為例,根據其官方文檔顯示,每個子節點包含節點的哈希和用戶資產快照覆蓋的幣種數量,葉節點的哈希值為 hash = SHA256(nonce + balances),交易所會給每個用戶分配一個唯一的 nonce,這個 nonce 是可以在 audit 頁面查詢到,balances 是用戶資產快照覆蓋的幣種數量組成的 json 字符串,如:{"BTC":"1.023","ETH":"0","USDT":"20.2343322"}(注意:去除末尾無效 0,保留 8 位精度)。
驗證的原理就是從用戶本身的葉結點开始往上計算父節點(對應的上一級中間節點)hash 值,一直到根節點計算得出 hash 值,對比從官方公布的默克爾樹路徑中根節點的 hash 值,如果二者相等則驗證通過,不等則驗證不通過。
所以在交易所公开默克爾樹根後,用戶有三種途徑可以證明其是否為 100% 儲備:
1、任何用戶可以驗證其余額和 UID 在否樹上;
2、第三方審計公司來審核樹上所有用戶的余額加總;
3、第三方審計公司來審核交易所所有錢包地址的余額加總。
各家 CEX 的儲備金證明措施
從 FTX 暴雷开始,各家 CEX 就發消息表明他們自己想要進行儲備金證明的措施。
後記
雖然我們看懂儲備金證明在交易所中的確非常重要,但即便是證明了交易所是 100% 的儲備,也只能說明交易所在公布默克爾樹根的那一瞬間是 100% 儲備的,當前的儲備金證明也存在很多問題:
1、樹根的更新頻率不夠快,不能做到每筆交易都實時刷新;
2、前端進行僞造;
3、第三方審計機構的信用不夠。
儲備金證明也只是目前能挽回用戶一定信任的方法,只是儲備金證明還遠遠不夠,還有很多不能通過儲備金來證明的也希望交易所能夠公开透明。既然交易所都做了儲備金證明,那么事件頻發的跨鏈橋是否也該考慮做下儲備金證明呢?
參考文獻
《歐易儲備金證明》
《默克爾樹在區塊鏈中的應用》
《CEX 紛紛亮「家底」,merkle-tree 是否能挽回用戶信任?》
《CEX 紛紛宣布進行 100% 儲備 -- 默克爾樹如何證明》
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC一個引...
悅盈:比特幣68000的空完美落地反彈繼續看跌 以太坊破前高看回撤
一個人的自律中,藏着無限的可能性,你自律的程度,決定着你人生的高度。 人生沒有近路可走,但你走的每...