一文釐清Merkle Tree,看中心化交易所如何“自證清白”

通過基於Merkle Tree 的證明模式,交易所可以證明每個用戶持有的資產是否包含在交易所儲備中,但該方案仍有缺陷

撰文:Babywhale,Foresight News

2019 年2 月,比特幣和區塊鏈基礎設施公司Blockstream 發表了名為《標準化比特幣儲備證明》的博客文章,闡述瞭如何自證交易所等機構的比特幣儲備以及對這些儲備資金的控制權。 Blockstream 最初研究該方案是旨在向審計員證明比特幣側鏈Liquid Network 上的比特幣儲備,後發展為比特幣儲備證明的一種規範。

在Blockstream 之前,驗證的方案的多樣性使得用戶難以了解每個交易所的儲備情況。此外,由於需要驗證私鑰的所有權,所以在簽名交易轉移資產的過程中可能有資金被盜的風險。

該方案通過比特幣特殊的UTXO(未花費交易輸出)交易格式實現,交易所通過構建一個包含交易所所有比特幣儲備的交易輸出,但同時構建一個無效的輸入。該交易會在廣播時被網絡拒絕從而無法產生實際的交易,但該交易仍可以作為交易所控制的比特幣數量的證明。

事實上,早在2014 年,Crypto 社區就對交易所如何向審計機構證明其儲備展開了討論。在Blockstream 提出了比特幣的儲備證明方案並加入BIP 之後,市場開始研究更加細化的方案,而基於Merkle Tree 的證明模式就是當下市場普遍認可的一種方案。

總部位於美國的加密貨幣交易所Kraken 對其儲備證明的方案進行了較為詳細的解釋。 Kraken 表示,所謂PoR(Proof of Reserves,儲備證明)是由第三方進行的獨立審計,審計員將對所有的賬戶餘額進行匿名快照,並將其聚合至Merkle Tree 中,並獲得Merkle Root:一種在創建快照時產生的唯一的標識這些餘額的數據組合。

然後,審計員收集由Kraken 生成的數字簽名,這些簽名通過可公開驗證的餘額來證明對鏈上地址的所有權。最後,審計師比較並驗證這些餘額是否超過或匹配Merkle Tree 中顯示的客戶賬戶餘額,來確定交易所是否持有足額的準備金。

簡單解釋一下,Merkle Tree 的底層數據為每個賬戶持有的資產數據生成的Hash,之後Merkle Tree 再通過兩個Hash 生成一個新的Hash,以此類推,最終的Hash 代表著交易所所擁有的資產總額,該數字應該大於或至少等於所有用戶持有的資產。該方案能夠被接受的最大原因在於每個用戶的資產數據都被包含其中,如果交易所想要篡改該過程中任何一個數據,都會對最終數據產生極大的影響(產生影響的原因來自於生成Hash 的算法特性,在此不做贅述)。

雖然該方案在證明審計時交易所擁有足以兌付所有用戶資產的能力,但也存在一定的缺陷。例如無法證明私鑰是獨家擁有的、審計時的資產是否為臨時藉入、如何證明以將交易所資金(相當於所有者權益)與用戶資產(相當於交易所負債)進行了隔離以及審計本身的審慎性等。

除了Kraken 之外,加密貨幣交易所BitMEX 在2021 年公開了其驗證交易所持有的比特幣儲備的方案,該方案同樣採用了基於Merkle Tree 的證明模式,為每個用戶的賬戶生成ID,使得用戶可以自己運行一個比特幣節點,再通過運行這一套程序來驗證每個比特幣區塊高度中賬戶資產與交易所的總資產。

此外,BitMEX 還在方案發佈時描述了其在用戶隱私層面所做的考慮。若將數據公開,則所有用戶的資產情況也將隨之公開,BitMEX 計劃將用戶的資產進行一定程度上的分割,並將不同用戶的部分資產數據組合形成Merkle Tree,使得即時在首次公開時暴露了部分持倉,也難以在後續觀察到該用戶的資產分佈以及對其操作進行跟踪。

寫在最後

雖然FTX 事件為我們敲響了警鐘,也推動了交易所透明度的進一步發展,但事實上當前的資產驗證方案仍存在包括上述缺點在內的不少漏洞。在很多細節方面,交易所仍然難以「自證清白」。中心化機構的透明度一直以來都是一個被廣泛關注和討論的問題,不夠透明會引發投資者的擔憂,但過於透明可能會一定程度上暴露商業機密,而這些矛盾不僅僅發生在Web3 領域。

舉個簡單的例子,當前中心化交易所很多都推出了加密貨幣理財產品。在交易所沒有濫用這些資產的前提下,可能部分用於量化交易,部分用於對沖風險,部分用在DeFi 中,部分用於抵押借貸,交易所本身很難將全部的用途公之於眾。

當下,證明交易所兌付能力的儲備證明僅僅是一個開始,如何證明用戶資金沒有與自有資金混淆、如何證明理財產品並非旁氏騙局、如何證明做市商的承兌能力等等,都是交易所後續需要去思考和解決的問題。

展開全文打開碳鏈價值APP 查看更多精彩資訊

Total
0
Shares
Related Posts