長文解說|Vitalik Buterin:中心化交易所如何利用技術自證清白

Vitalik Buterin 1

vb merkle tree

Greta 的證明驗證將會失敗:交易所將不得不給她 Henry 的-500 節點,她會以無效為由拒絕它。Eve 和 Fred 的證明驗證也會失敗,因為 Henry 上面的中間節點有-230 的 ,所以也是無效的。為了避免被懷疑盜用,交易所必須希望樹的右半部分沒有人檢查他們的餘額證明。

如果交易所能夠識別出價值 500 ETH 的用戶,他們相信這些用戶要么不會費心檢查證據,要么在他們抱怨他們從未收到過證明時不信任他們,他們就可以不被懷疑盜用。但是,交易所也可以將這些用戶從樹中排除並產生相同的效果。因此,如果僅以實現負債證明為目標,默克爾樹技術基本上與責任證明方案一樣好。但它的隱私屬性仍然不理想。你可以用更聰明的方式使用默克爾樹,比如把每個 satoshi 或 wei 做成一個單獨的葉,但最終通過更現代的技術,還有更好的方法來做到這一點。

使用 ZK-SNARK 改進隱私性和穩健性

ZK-SNARK 是一項強大的技術。ZK-SNARK 之於密碼學,可能就像變壓器之於人工智能。我們可以使用 ZK-SNARK 極大地簡化和改善責任證明協議中的隱私。

我們可以做的最簡單的事情是將所有用戶的存款放入默克爾樹(或者,更簡單的,KZG 承諾),並使用 ZK-SNARK 來證明樹中的所有餘額都是非負的,並且加起來是某個聲稱的值。如果我們為隱私添加一層哈希,那麼給每個用戶的默克爾分支(或 KZG 證明)將不會透露任何其他用戶的餘額。

VB CEX

使用 KZG 承諾是避免隱私洩露的一種方法,因為不需要提供 “姐妹節點” 作為證明,並且可以使用一個簡單的 ZK-SNARK 來證明餘額的總和,並且每個餘額都是非負的。

我們可以用一個專用的 ZK-SNARK 證明上述 KZG 中餘額的總和以及非負性。這裡有一個簡單的例子。我們引入一個輔助多項式 I(x),它組成每個餘額的比一部分(我們假設餘額低於 215),每 16 個位置跟踪一個帶有偏移量的總和,只有當實際的總和與聲明的總和相匹配時,它的總和才為零。如果 z 是單位的-128 階根,我們可以證明以下等式:

vb cex 04

可在這裡找到關於 ZK-SNARK 的進一步解釋。只需要幾個額外的方程,這樣的約束系統就可以適應更複雜的環境。例如,在槓桿交易系統中,個人用戶的餘額為負是可以接受的,但前提是他們有足夠的其他資產,以一定的擔保保證金覆蓋資金。SNARK 可以用來證明這一更複雜的約束,讓用戶放心,交易所不會通過秘密豁免其他用戶遵守規則來冒資金風險。

在較長期的未來,這種 ZK 債務證明或許不僅可以用於客戶在交易所的存款,還可以用於更廣泛的貸款。任何人借出一筆貸款都會將記錄放入一個多項式或包含該貸款的樹中,該結構的根會在鏈上發布。這將使任何尋求貸款的人向貸款機構證明,他們還沒有獲得過多的其他貸款。最終,法律創新甚至可能使以這種方式承諾的貸款比沒有這樣承諾的貸款具有更高的優先級。這與我們在 《去中心化社會:尋找 的靈魂》文章中討論的一個想法的方向完全相同——通過某種形式的” 靈魂綁定代幣 “,在鏈上產生負面聲譽的概念。

資產證明

資產證明的最簡單版本是我們上面看到的協議:要證明你持有 X 個代幣,你只需在事先約定的時間移動 X 個代幣,或者在數據字段包含 “這些資金屬於幣安 ” 字樣的交易中移動 X 個代幣。為了避免支付交易費用,你可以簽署一個鏈下消息。都有鏈外簽名消息的標準。

這種簡單的資產證明技術存在兩個實際問題:

  • 處理;
  • 抵押品兩用。

出於安全考慮,大多數交易所將絕大多數客戶資金保存在冷錢包中。在離線計算機上,交易需要手動簽名並轉移到互聯網上。我過去用來存放個人資金的冷錢包設置需要一台永久離線的電腦生成一個包含簽名交易的二維碼,然後我用手機掃描。現在的交易所協議更加瘋狂,經常涉及多個設備之間的多方計算。在這種設置下,製造一個額外的消息來證明對地址的控制是一個昂貴的操作。

交易所可以採用以下幾種方式:

  • 保留一些公共長期使用地址。交易所將生成一些地址,發布一次每個地址的證明以證明所有權,然後重複使用這些地址。這是迄今為止最簡單的選擇,不過它確實在如何保護安全和隱私方面增加了一些限制。
  • 有很多地址,隨便證明幾個。交易所將有許多地址,甚至可能每個地址只使用一次,並在單筆交易後退出。在這種情況下,交易所可能有一個協議,其中不時隨機選擇一些地址,必須 “打開” 以證明所有權。一些交易所已經通過審計師進行了類似的操作,但原則上,這種技術可以轉化為完全自動化的程序。
  • 更複雜的 ZKP 選項。例如,一個交易所可以將它的所有地址設置為 1/2 多簽,其中每個地址的私鑰都是不同的,另一個是某個 “重要” 緊急備份密鑰的盲版,以某種複雜但安全的方式存儲,例如 12/16 多簽。為了保護隱私並避免洩露其全部地址,交易所甚至可以在上運行零知識證明,證明鏈上所有具有這種格式的地址的總餘額。
  • 另一個主要問題是防止抵押品兩用。在彼此之間來迴轉移抵押品以證明儲備,這對交易所而言很容易做到,這將使它們能夠在實際上沒有償付能力的時候假裝自己有償付能力。理想情況下,償付能力的證明應該是實時完成的,每個區塊之後都有一個更新的證明。如果這是不切實際的,那麼下一個最好的辦法就是在不同交易所之間按照固定的時間表進行協調,例如在 UTC 時間每週二下午 2 點時證明儲量。

最後一個問題是:你能以法定方式進行資產證明嗎?交易所不僅持有,它們還在銀行系統內持有法定貨幣。在這方面,答案是肯定的,但這樣的程序將不可避免地依賴於 “法定” 信託模型——銀行本身可以證明餘額,審計師可以證明資產負債表等等。考慮到法幣無法通過密碼學驗證,這是在該框架內所能做到的最好的方法,但仍然值得一做。

另一種方法是將一個運營交易所處理資產支持的實體(如   )和另一個處理在和傳統銀行系統之間移動的現金進出過程的實體(USDC 本身)完全分離開來。因為 USDC 的 “負債” 只是鏈上的 ERC20 代幣,負債證明是 “免費的”,只需要資產證明。

Plasma 和 validiums 擴容解決方案:我們能實現非託管 CEX 嗎?

假設我們想更進一步:我們不想僅僅證明交易所有資金償還用戶。相反,我們希望阻止完全交易所盜用用戶的資金。

第一個主要嘗試是 Plasma,這是一種 2017 年和 2018 年在研究圈流行的擴容解決方案。Plasma 的工作原理是將餘額拆分為一組獨立的 “代幣”,其中每個代幣都被分配一個索引,並位於 Plasma 區塊的默克爾樹的特定位置。要進行有效的代幣轉移,需要將一筆交易放到根被發佈到鏈上的樹的正確位置。

VB cex 05

Plasma 的一個版本的過度簡化圖。代幣保存在中,該合約在取款時強制執行 Plasma 協議的規則。

自 2018 年 Plasma 討論的熱潮以來,ZK-SNARK 已經變得更加適用於與擴展相關的用例,正如我們上面所說的,ZK-SNARK 改變了一切。

更現代的 Plasma 想法是 Starkware 所稱的 validium:基本上與 ZK-rollup 相同,只是數據是鏈外保存的。這種結構可以用在很多用例中,可以想像任何中心化服務器需要運行一些代碼並證明它正在正確執行代碼的情況。在有效期限內,操作人員沒有辦法竊取資金,儘管根據實現的細節,如果操作人員消失,一些數量的用戶資金可能會被卡住。

CEX 和 DEX 並不是二進制的,事實證明,它們有一系列的選擇,包括各種形式的混合中心化,在那裡你可以獲得一些優勢,比如效率,但仍然有很多加密屏障,防止中心化運營商的濫用。

VB CEX 06

處理用戶錯誤也是一個大問題。到目前為止,最重要的錯誤類型是——如果用戶忘記了密碼,丟失了設備,被黑客攻擊,或者無法訪問自己的帳戶,該怎麼辦?

交易所可以解決這個問題。首先是電子郵件恢復,如果連這都失敗了,再通過 進行更複雜的恢復。但為了能夠解決這些問題,交易所需要真正控制這些代幣。為了有能力以正當的理由收回用戶賬戶的資金,交易所需要有能力以不正當的理由竊取用戶賬戶的資金。這是一個不可避免的權衡。

理想的長期解決方案是依靠自我託管,並藉助諸如多籤和社會恢復錢包等技術來幫助用戶處理緊急情況。但在短期內,有兩種明顯的替代方案,它們的成本和收益明顯不同:

VB CEX 07

總結:展望未來更先進的交易所

短期內,有兩種明確的交易所類別:託管交易所和非託管交易所。如今,後一類只是像   這樣的 DEX,在未來我們可能還會看到加密技術受限的 CEX,用戶資金以類似 validium 的形式持有。我們也可能會看到半託管交易所,我們信任他們使用法定貨幣,而不是加密貨幣。

這兩種類型的交易所將繼續存在,而提高託管交易所安全性的最簡單的向後兼容方法是增加儲備證明。這包括資產證明和負債證明的結合。為兩者都制定好的協議存在技術上的挑戰,但我們可以也應該盡可能在這兩個方面取得進展,並儘可能地開源軟件和流程,以便所有的交易所都能受益。

從長遠來看,我希望我們越來越接近所有非託管交易所,至少在加密貨幣方面是這樣。錢包恢復將會存在,而且可能需要為處理小額金額的新用戶提供高度集中的恢復選項,以及由於法律原因需要這種安排的機構,但這可以在錢包層而不是在交易所內部完成。magic.link 與 Polymarket 等平台的交互就是這種方法的一個例子。在法幣方面,傳統銀行系統和加密貨幣生態系統之間的流動可以通過 USDC 等資產支持穩定幣原生的現金進出過程完成。然而,我們要完全實現還需要一段時間。


(以上內容獲合作夥伴 MarsBit 授權節錄及轉載,原文連結  

聲明:文章僅代表作者個人觀點意見,不代表觀點和立場,所有內容及觀點僅供參考,不構成投資建議。投資者應自行決策與交易,對投資者交易形成的直接間接損失作者及將不承擔任何責任。

本文轉自網路,如有侵權請來信告知,本網站不代表任何投資建議,僅提供資訊,若用戶有任何投資相關行為皆與本站無關

本網站所載的任何資訊均不構成投資建議,投資有賺有賠,投資人應獨立判斷,審慎投資,自負風險

Related Posts