有點逆勢,但人類想要信任。
現代生活的大部分內容都沉浸在信任、記錄、數據庫和機構中,這些都是我們歷史的總和,與時間相對應。然後加密貨幣出現了,伸出了橄欖枝,希望如雨後春筍般冒出來,隨之而來的是透明度、自我所有權、逃避機構權威陷阱的承諾。而且,當然,無論如何我們都圍繞加密建立了信任系統,那麼這告訴我們我們對加密的傾向程度如何 相信?
FTX 令人震驚地失寵後,加密貨幣市場的震盪,該交易所在崩潰前按其自身計算排名第三,恰恰說明了這一點。雖然教訓是痛苦的,但這裡有機會讓傳說最終成為經典:不要相信,要驗證。絕對要擔心擁有您畢生積蓄的平台上的不透明性。要求無可辯駁的證據作為一項既定權利。
如果信任的傾向是人性的固有部分,至少讓它存在於加密證明中,驗證平台的穩健性得到了比人類更多的支持。儲量證明是前進的道路之一。許多交易所(九 據最新統計,包括Binance、Gate.io、KuCoin、Poloniex、Bitget、Huobi、OKX、Deribit 和Bybit 在內的公司都在過去一周承諾了它。
但是儲備證明應該是什麼樣的呢?怎麼設計才能不暴露個人隱私呢?鑑於事情的複雜性,這能否在合理的時間表內實現? 逃離 來自交易所的用戶資金?
儲量證明,解釋
在基本層面上,儲備證明旨在確定交易所的用戶資產是否以完全儲備(1:1) 的方式持有。
為此,它需要實現以下目標:
- 匯總交易所鏈上儲備錢包中的所有資產
- 為用戶匯總所有資產
- 對於每個資產類別,確保鏈上總和>= 用戶總和。在這種情況下返回output=true 的程序確認有足夠的資產供所有用戶在交易所提取
在這一點上,一些明顯的問題出現了。
- 我們怎麼知道所有儲備資產的總和是否正確?
- 我們如何知道是否所有用戶的資產都已被收錄?
- 我們怎麼知道程序確實在執行前面描述的操作,而不是無論如何都輸出true 呢?
問題(1)和(2)圍繞同一個問題。如果無法驗證輸入程序的資產列表,我們如何斷言這些值是準確的?
該程序應該能夠:
- 將儲備資產列表中的所有資產聚合到Merkle 樹中
- 將用戶資產列表中的所有資產聚合到另一個單獨的Merkle 樹中
反過來,該程序產生的最終結果是一個簽名結果,其中包含輸入的Merkle 根哈希,結果為sign{root_hash_reserve, root_hash_user, is_solvent}。交易所必鬚髮布並共享儲備資產和用戶資產的完整Merkle 樹。然後,任何第3 方都可以通過將根哈希與程序發布的哈希進行匹配來檢查並驗證樹的正確性。
儲備資產的驗證(問題1)很簡單。在證明生成中使用的塊高度上,對所有鏈上儲備錢包的無障礙視圖允許用戶對每個錢包執行哈希並獲得其資產的哈希。快速檢查儲備Merkle 樹以確保它僅包含交易所在計算儲備證明時使用的錢包哈希就足夠了。
另一方面,我們是否必須提供每個用戶擁有的資產以檢查他們的持有量(問題2)?簡短的回答是否定的,更深思熟慮的回答是_every_ _single_ _individual_ _user_ 將能夠在用戶Merkle 樹中驗證他們的餘額。這一行為本質上是對Merkle 樹進行採樣,證實其存在,並進一步證明其正確性。排除任何用戶的資產將立即證明在計算中使用的用戶資產的完整性存在問題。
呼。所以,我們現在知道:
- 正確生成默克爾根哈希
- 總結得當
- 比較正確完成
- 結果正確產生
但有一件事我們實際上並不知道。正在執行的計算的完整性如何?如果我們所依賴的數據可以被操縱,那麼我們並沒有取得多大成就。
防篡改的儲備證明
Secure enclave 將程序執行的計算轉移到一個隔離的計算環境中,在該環境中運行的代碼的機密性不會受到侵犯。這裡強調的是數據不能被篡改; 不可更換; 無法刪除,即使對於那些擁有管理員權限的人來說也是如此,在這種情況下,運行或託管飛地的節點。實現這一壯舉的示例包括ARM Trustzone、AMD SEV、 英特爾新交所/TDX 和RISC-V Keystone 飛地。
我們很清楚,安全飛地的許多技術特性很自然地適合考慮構建防篡改儲備證明計劃。可以發布儲量證明程序的源代碼,以及確定性的編譯方式。方便的是,任何閱讀源代碼的人都可以確信計算(a) 是在沒有任何後門的情況下發生的,並且(b) 確實在執行我們想要它做的事情。通過確定性編譯,儲量證明的每個實現還帶有一個代表該程序的唯一哈希。
目前,Kraken 等交易所已經採用了基於審計師的儲備證明模型,但我們很高興看到Web3 社區更多地參與闡明他們的目標——並為這些計劃的製定做出貢獻。例如,本文建議的儲備證明計劃允許在審計期間“填補空白”的自動化方式,考慮到在任何給定時間點整個交易所的資產流動,這一點尤為重要。
哦,要向前邁進
如果您對本文沒有任何其他看法,那就假設數據的完整性是任何儲備證明程序最關鍵的屬性——它不僅是信任代碼中立性的基礎,也是信任基礎本身的基礎。考慮一下,如果可以更改儲量證明程序的執行以適應當天的需要,它會是什麼樣子。交易所可以通過生成正確的Merkle 樹來偽裝他們的實際持有量,但不對儲備資產進行實際檢查。
關於儲量證明的其他想法、概念或框架?聯繫我們 推特. 我們很樂意聽取您的意見。