header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP

CEX如何自證清白並提升資金安全性?

2022-12-20 22:00
閱讀本文需 22 分鐘
总结 AI 總結
看總結 收起
原文標題:《 痛定思痛,CEX 如何自證清白並提升資金安全性 》
原文作者:Huobi Research


FTX 的暴雷給原本就日漸冷清的加密市場再潑了一盆冷水。用戶對中心化交易平臺的信任程度迅速降低,提幣運動此起彼伏。爲留住用戶和資金,CEX 們紛紛發佈儲備金證明,以自證清白。Vitalik 也發文討論了償付能力證明,從技術角度解答和展望瞭如何實現更安全的 CEX。本文將結合對 Vitalik 文章的解讀、各家 CEX 的證明方案和各方提議,討論 CEX 如何自證清白並繼續發展。


1. 用技術手段證明償付能力


證明 CEX 擁有償付用戶取款的能力就基本上等同於證明了它沒有挪用用戶的存款。這需要證明一個不等式:CEX 控制的資產總和(資產證明)>=所用用戶存款總和(負債證明)。除了公佈這兩個數值以外,CEX 還需要證明不等式的左右兩邊的數字都是真實的,即資產屬於且一直屬於交易平臺,它沒有篡改用戶的存款餘額。


各類技術手段都圍繞着證明這兩點而開展。對於資產證明,中心化機構需要提供其持有的鏈上地址,並對其進行驗證和審計。常見的做法是提供數字簽名以證明其對鏈上地址的所有權。這個做法難度不大,被普遍採用。當前的討論集中在負債證明上,各家交易平臺近期紛紛公佈的默克爾樹 Merkle Tree 資產儲備證明就是最典型的負債證明。


1.1 將默克爾樹用於負債證明


默克爾樹是區塊鏈中非常常見的數據結構。它是一種典型的二叉樹結構,由一個根節點、一組中間節點和一組葉子節點組成。默克爾樹的每個更高一級的中間節點(父節點)都是它下方的兩個中間節點(子節點)的哈希,經過這樣的逐層計算得到最後的根節點。所以根節點包含了所有葉子節點的信息。底層數據的任何變動,都會傳遞到其父節點,並逐層傳遞到根節點。它常用來快速證明某個集合中存在或者不存在某個特定的元素、比較大量數據是否完全相同、尋找修改位置等。


CEX 使用默克爾樹建立用戶賬戶資產餘額的匿名化且不可篡改的集體快照,從而證明它們沒有篡改用戶的餘額。最基本的方法就是把每個用戶的用戶名 /UID(添加一個只有交易平臺和用戶知道的數字後做哈希計算)與它的餘額一起做哈希計算並作爲葉子節點從而構成默克爾樹。如果用戶發現用自己的餘額和默克爾樹上的路徑無法計算出正確的默克爾根,即可判定交易平臺挪用用戶資產。



不過正如 Vitalik 所言,一般的默克爾樹有個小 Bug。因其不能幫助用戶識別負值,所以不能直接用於儲備金證明。如下圖所示,如果一個交易平臺的客戶存款總數是 1390 枚 ETH,但是它挪用了 500 枚 ETH,所以它的儲備只有 890 枚 ETH。這個 CEX 會對外宣稱用戶存款總數是 890 枚 ETH。爲了掩蓋挪用用戶資產的行爲,它可以在樹的某個位置上添加一個由它本身控制的假賬戶,賬戶餘額爲 -500 ETH。經過哈希計算後,不管是正數還是負數都會出現一串很沒有規律的數字,其他用戶無法分辨。利用這個假賬戶得到的默克爾樹會完美包含其他用戶的餘額信息,導致用戶驗證的結果總是正確。審計公司可以發現這個漏洞,但若是它與交易平臺聯合作惡,默克爾樹將形同虛設。



針對負值問題,Vitalik 在文中提出了名爲默克爾總和樹(Merkle sum tree)的改進方案。默克爾總和樹的每個節點都包含餘額和哈希這 2 個信息。底層葉子節點是各個用戶的餘額和用戶名哈希。在每個較高層節點中,餘額是下面兩個節點餘額的和,而哈希值是下面兩個節點整體信息的哈希,即對這兩個節點的餘額和哈希值一起做哈希運算。將餘額單獨顯示出來,有助於用戶識別負值,從而暴露 CEX 挪用用戶資產的行爲。如上圖所示,Greta 在做自行驗證時,會發現 Henny 的餘額爲負;Eve 和 Fred 都會發現 Greta 和 Henny 餘額的總和爲負。這會導致他們 3 人驗證不通過。


經過改造後,交易平臺使用默克爾樹發佈儲備證明的過程如下。


生成默克爾樹證明:交易平臺委託外部審計公司或由其本身對所有用戶餘額進行快照,然後將其彙總至默克爾總和樹。驗證:審計師對比並覈實交易平臺控制的餘額是否大於等於默克爾樹所提供的數目。由此證明客戶的資產是否有全額準備金所支持。用戶可自行覈對,若用戶的用戶名和餘額數值在默克爾樹中,且計算過程中未出現負餘額,則證明交易平臺沒有篡改用戶餘額,也就是沒有挪用用戶資產。


1.2 默克爾樹的改進方案


用默克爾樹證明用戶餘額仍然有一個小小的缺點,那就是會暴露隱私。如下圖所示,Charlie 自行驗證時,CEX 必須告訴他 David 的餘額、Alice 與 Bob 餘額之和、樹的右半邊所有用戶餘額之和。儘管用戶得知了這些信息後也不會(至少目前看來是不會)做出有危害性的行爲,但是對於交易平臺和被暴露餘額的用戶來說,隱私的泄露總不是一件讓人舒服的事。



針對這個問題,BitMEX 提出了一種簡便的解決方法。他們將一位用戶的賬戶餘額隨機拆分成幾份,再把每一份都隨機填入 Merkle 樹的一個底層葉子節點。這樣暴露出來的用戶的餘額都只是碎片化的,可以在一定程度上緩解隱私問題。比如圖中的 Fred,他的賬戶被拆分成 2 個部分,Charlie 不知道他到底有多少存款。只是如果真有人想通過多個賬號來獲取他人信息,他需要付出更多的努力,但還是能做到。



要想完全解決隱私問題,可以引入 ZK-SNARK。正如 V 神文章裏提到的,用所有用戶的餘額生成默克爾樹,使用 ZK-SNARK 來證明樹中的所有餘額都是非負的,並且加起來是某個聲稱的值。如果我們使用哈希來加強隱私,那麼給每個用戶的默克爾樹路徑將不會透露任何其他用戶的餘額。或者是用所有用戶的哈希用戶名和餘額建立一個多項式,並對其做出 KZG 多項式承諾。交易平臺證明它知道這個多項式。用戶驗證的方法是以他的餘額作爲多項式上的一個點,讓交易平臺計算多項式在此處的取值,並以此生成一個見證,用戶驗證承諾、取值和見證之間的對應關係。在 KZG 承諾中,多項式、承諾、見證都有對應關係,不能任意僞造,這一點和默克爾樹一樣。它不需要提供「姐妹節點」作爲證明的依據,可以在不泄露隱私的情況下完成證明。


1.3 各類方案的總結和不足


這裏先對基本默克爾總和樹、BitMEX 方案、ZK-SNARK 默克爾樹、KZG 多項式承諾做出總結和比較,如下表所示。前兩種方法操作簡單,儘管有隱私暴露的風險,但在目前看來沒有重大隱患,已經足夠應用在實際中。後兩種方法中要使用 ZK-SNARK 證明加法計算,這會給交易平臺帶來額外的操作,所以增加了操作的成本。KZG 多項式承諾的方法更高級,但是交易平臺計算承諾的過程資源消耗大,涉及大量橢圓曲線點運算,所以可能暫時還不會獲得採用。以上所有方法用戶都不需要有搜索操作,且都容易驗證。



這些負債證明的技術方案與較爲普遍採用資產證明方案,都還沒有解決以下幾個問題:


第一,這些負債證明方案都需要用戶來監督,但如果自行驗證的用戶太少,不足以檢查出交易平臺的作惡行爲。需要持續教育用戶,提高用戶的自覺性。另一種方法是由交易平臺之間互相監督。大型交易平臺可在其他交易平臺註冊一定數量的賬戶,存放少量資產以驗證其負債證明。


第二,資產證明和負債證明都不是實時的證明,交易平臺完全可以在做資產證明之前通過借貸的方式獲得資金,應付檢查,隨後再歸還。解決這個問題有兩種方法,其一是可以約定一個固定時間,各大交易平臺同時進行審計;其二是可以進行不定期的突然審計。這兩種方法都可以壓縮資金拆借的時間。第三,證明的過程依賴值得信任的審計公司,但如果審計公司與交易平臺勾結,其後所有技術手段都會失效。第四,這一點是最關鍵的,這些方案都沒有強制的約束力。交易平臺可以在資不抵債的狀態下運行。尤其在熊市中,如果短期的經濟壓力大到了讓交易平臺撐不到下一個牛市,挪用用戶資金就成了自然而然的舉措。


2. 半中心化的 CEX


前文說到的各種證明,都是用於證明 CEX 沒有作惡,但是 CEX 仍然擁有作惡的能力。如果我們更進一步,用技術的約束讓交易平臺從沒有作惡變成無法作惡,那麼用戶的信任就會恢復,甚至是增強,加密生態圈也會更繁榮。


Vitalik 按照對用戶資金的控制程度和作惡的便利程度將交易平臺分爲 5 類。當前交易平臺主要是其中的 3 類。下圖左起第 1 類交易平臺完全控制用戶的資金,沒有措施監督和阻止它挪用用戶資金。在 FTX 暴雷之前,幾乎所有 CEX 都是這樣的。現在大多數 CEX 是第 2 類,交易平臺控制用戶的資金,但有外部的人爲控制措施來監督。大多數 DEX 屬於第 5 類,交易平臺完全不控制用戶的資金,所以也就沒有能力作惡。



V 神指出 CEX 與 DEX 不是二元對立的,在完全的中心化和完全的去中心化之間,存在半中心化 CEX 的中間地帶。它們可以繼承傳統中心化交易平臺高效率的交易系統,並由如多重簽名私鑰持有者、驗證者等分散交易平臺的權力,從而降低交易平臺作惡的可能性。它們就是 V 神文章裏的第 3 類和第 4 類交易平臺。


第 3 類交易平臺仍然託管用戶的資金,但是它不能在資不抵債的情況下運行。此類交易平臺尚未出現。如果要實現,需要對它進行一些限制。這裏做出一點暢想,可以要求 CEX 將資產存放在幾個固定的由多重簽名控制的地址上,或者用 MPC 技術將私鑰拆分爲幾份。通過實時或高頻率償付能力檢測來監控交易平臺資金狀態。常規情況下只需要 CEX 本身控制的私鑰完成簽名即可調動資金。若檢測出資不抵債 / 單筆轉出比例過高 / 連續轉出等情況,其他私鑰持有者可以啓動緊急模式並集體拒絕交易,以達到凍結賬戶的效果。這種方式是用多個私鑰持有者來降低了 CEX 的中心化程度,從而降低其作惡的便捷性。這類交易平臺可能是未來 CEX 的演進方向。


此類交易平臺若要繼續發展,還需要審計工作再上一個臺階。未來審計的可信度、速度和自動化程度都需要提高,才能承接住這些交易平臺的需求。


第 4 類交易平臺就不託管用戶的資金了,只是使用中心化的交易系統。用戶的資金託管在智能合約中。DYDX 可以視爲這類交易平臺的代表。它利用自己的交易系統在鏈下撮合交易,將交易結果壓縮打包後提交到以太坊主網上。它即利用了中心化交易系統的便利性,又獲得了以太坊這個結算層的安全性。現在它的 V4 版本遷移到了 Cosmos 生態上,其底層是專爲它量身打造的區塊鏈,但中心化交易 + 去中心化結算的範式沒有改變。這一類交易平臺需要有低成本高安全性的底層區塊鏈作爲保障,且在處理跨鏈問題上不如一般的 CEX 方便,故不太可能成爲 CEX 的演進方向。


3. 借鑑傳統金融


正如 X Research DAO 的分析師 Wilson 在文中所言,現階段的中心化加密貨幣交易平臺存在着內部權限過大、資產保管不透明、收益放大沖動、不受外部約束等弊病。要解決這些問題,依靠技術進步只是一條路線,另外一條路線就是建立一整套合理的制度安排來拆分和限制 CEX 的權限。


當前的加密市場很像早期金融業的混業經營階段。CEX 是集各項金融職能於一身的綜合型機構,一方面提供場內交易委託和撮合,也全權託管客戶充值的各類 Token 資產(也包括穩定幣資產),還提供各類理財服務。多種業務也意味着多種權限,而當一個機構的權力太大時,它會不會憑藉此謀取私利就只在一念之間了。


下一階段加密市場必然有構建更安全交易模式的需求,借鑑歷經數十年實踐驗證及完善至今的證券業制度不失爲一條捷徑。證券行業形成了規範化的交易制度,包括:


由第三方存管機構(商業銀行)存管客戶的交易結算資金。由證券登記結算機構集中提供證券的登記、託管與結算。由證券經紀商接受客戶委託並代爲買賣證券證券,提供融資和融券服務。由證券交易平臺完成交易信息的場內訂單撮合。


證券行業通過這樣一套多方協作和制衡的制度,避免了單一機構作惡造成系統性風險的局面。而以上 4 項功能,全都由 CEX 完成,這就大幅度加重了單點故障的危害性。所以有必要結合加密資產交易的特點,借鑑傳統金融分業經營的模式,讓多個相互獨立的機構承擔當前加密貨幣交易平臺的多種功能,從而實現分權和制衡。


這種借鑑絕非容易,它存在以下困難:


分業經營意味着 CEX 交出很多權限,可能會降低其盈利能力,所以 CEX 自身沒有意願這麼做。這需要監管的介入,但該如何制定規則還需探索,且出臺法律法規較爲耗時。各國的監管規則可能不一致,這會不會導致加密市場的割裂尚不明確。更多的制度約束也意味着可能會出現更高的管理成本,這些成本都會轉嫁到用戶身上。


不過可以確定的是,加密資產若能成爲主流資產,上述轉變就一定會出現。多一點耐心和自我保護措施,更規範的 CEX 正在路上。


本文來自投稿,不代表 BlockBeats 觀點       


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
本平台現已全面集成Farcaster協議, 如果您已有Farcaster帳戶, 可以登錄 後發表評論
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交