FTX 的暴雷給原本就日漸冷清的加密市場再潑了一盆冷水。使用者對中心化交易平台的信任程度迅速降低,提幣運動此起彼伏。為留住用戶和資金,CEX 們紛紛發佈儲備金證明,以自證清白。
FTX 的暴雷給原本就日漸冷清的加密市場再潑了一盆冷水。使用者對中心化交易平台的信任程度迅速降低,提幣運動此起彼伏。為留住用戶和資金,CEX 們紛紛發佈儲備金證明,以自證清白。Vitalik 也發文討論了償付能力證明,從技術角度解答和展望了如何實現更安全的 CEX。本文將結合對 Vitalik 文章的解讀、各家 CEX 的證明方案和各方提議,討論 CEX 如何自證清白並繼續發展。
證明 CEX 擁有償付用戶取款的能力就基本上等同於證明了它沒有挪用使用者的存款。這需要證明一個不等式:CEX 控制的資產總和(資產證明)>=所用使用者存款總和(負債證明)。除了公佈這兩個數值以外,CEX 還需要證明不等式的左右兩邊的數字都是真實的,即資產屬於且一直屬於交易平台,它沒有篡改使用者的存款餘額。
各類技術手段都圍繞著證明這兩點而開展。對於資產證明,中心化機構需要提供其持有的鏈上位址,並對其進行驗證和審計。常見的做法是提供數位簽章以證明其對鏈上地址的所有權。這個做法難度不大,被普遍採用。當前的討論集中在負債證明上,各家交易平台近期紛紛公佈的默克爾樹 Merkle Tree 資產儲備證明就是最典型的負債證明。
默克爾樹是區塊鏈中非常常見的資料結構。它是一種典型的二叉樹結構,由一個根節點、一組中間節點和一組葉子節點組成。默克爾樹的每個更高一級的中間節點(父節點)都是它下方的兩個中間節點(子節點)的雜湊,經過這樣的逐層計算得到最後的根節點。所以根節點包含了所有葉子節點的資訊。底層資料的任何變動,都會傳遞到其父節點,並逐層傳遞到根節點。它常用來快速證明某個集合中存在或者不存在某個特定的元素、比較大量資料是否完全相同、尋找修改位置等。
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 人驗證不通過。
經過改造後,交易平台使用默克爾樹發佈儲備證明的過程如下。
生成默克爾樹證明:交易平台委託外部審計公司或由其本身對所有用戶餘額進行快照,然後將其匯總至默克爾總和樹。驗證:審計師對比並核實交易平台控制的餘額是否大於等於默克爾樹所提供的數目。由此證明客戶的資產是否有全額準備金所支持。用戶可自行核對,若用戶的用戶名和餘額數值在默克爾樹中,且計算過程中未出現負餘額,則證明交易平台沒有篡改使用者餘額,也就是沒有挪用用戶資產。
用默克爾樹證明用戶餘額仍然有一個小小的缺點,那就是會暴露隱私。如下圖所示,Charlie 自行驗證時,CEX 必須告訴他 David 的餘額、Alice 與 Bob 餘額之和、樹的右半邊所有用戶餘額之和。儘管使用者得知了這些資訊後也不會(至少目前看來是不會)做出有危害性的行為,但是對於交易平台和被暴露餘額的用戶來說,隱私的洩露總不是一件讓人舒服的事。
針對這個問題,BitMEX 提出了一種簡便的解決方法。他們將一位用戶的帳戶餘額隨機拆分成幾份,再把每一份都隨機填入 Merkle 樹的一個底層葉子節點。這樣暴露出來的用戶的餘額都只是碎片化的,可以在一定程度上緩解隱私問題。比如圖中的 Fred,他的帳戶被拆分成 2 個部分,Charlie 不知道他到底有多少存款。只是如果真有人想通過多個帳號來獲取他人資訊,他需要付出更多的努力,但還是能做到。
要想完全解決隱私問題,可以引入 ZK-SNARK。正如 V 神文章裡提到的,用所有用戶的餘額生成默克爾樹,使用 ZK-SNARK 來證明樹中的所有餘額都是非負的,並且加起來是某個聲稱的值。如果我們使用雜湊來加強隱私,那麼給每個用戶的默克爾樹路徑將不會透露任何其他用戶的餘額。或者是用所有用戶的雜湊用戶名和餘額建立一個多項式,並對其做出 KZG 多項式承諾。交易平台證明它知道這個多項式。用戶驗證的方法是以他的餘額作為多項式上的一個點,讓交易平台計算多項式在此處的取值,並以此生成一個見證,用戶驗證承諾、取值和見證之間的對應關係。在 KZG 承諾中,多項式、承諾、見證都有對應關係,不能任意偽造,這一點和默克爾樹一樣。它不需要提供「姐妹節點」作為證明的依據,可以在不洩露隱私的情況下完成證明。
這裡先對基本默克爾總和樹、BitMEX 方案、ZK-SNARK 默克爾樹、KZG 多項式承諾做出總結和比較,如下表所示。前兩種方法操作簡單,儘管有隱私暴露的風險,但在目前看來沒有重大隱患,已經足夠應用在實際中。後兩種方法中要使用 ZK-SNARK 證明加法計算,這會給交易平台帶來額外的操作,所以增加了操作的成本。KZG 多項式承諾的方法更高級,但是交易平台計算承諾的過程資源消耗大,涉及大量橢圓曲線點運算,所以可能暫時還不會獲得採用。以上所有方法使用者都不需要有搜索操作,且都容易驗證。
這些負債證明的技術方案與較為普遍採用資產證明方案,都還沒有解決以下幾個問題:
第一,這些負債證明方案都需要使用者來監督,但如果自行驗證的用戶太少,不足以檢查出交易平台的作惡行為。需要持續教育使用者,提高用戶的自覺性。另一種方法是由交易平台之間互相監督。大型交易平台可在其他交易平台註冊一定數量的帳戶,存放少量資產以驗證其負債證明。
第二,資產證明和負債證明都不是即時的證明,交易平台完全可以在做資產證明之前通過借貸的方式獲得資金,應付檢查,隨後再歸還。解決這個問題有兩種方法,其一是可以約定一個固定時間,各大交易平台同時進行審計;其二是可以進行不定期的突然審計。這兩種方法都可以壓縮資金拆借的時間。第三,證明的過程依賴值得信任的審計公司,但如果審計公司與交易平台勾結,其後所有技術手段都會失效。第四,這一點是最關鍵的,這些方案都沒有強制的約束力。交易平台可以在資不抵債的狀態下運行。尤其在熊市中,如果短期的經濟壓力大到了讓交易平台撐不到下一個牛市,挪用用戶資金就成了自然而然的舉措。
前文說到的各種證明,都是用於證明 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 的演進方向。
正如 X Research DAO 的分析師 Wilson 在文中所言,現階段的中心化加密貨幣交易平台存在著內部許可權過大、資產保管不透明、收益放大衝動、不受外部約束等弊病。要解決這些問題,依靠技術進步只是一條路線,另外一條路線就是建立一整套合理的制度安排來拆分和限制 CEX 的許可權。
當前的加密市場很像早期金融業的混業經營階段。CEX 是集各項金融職能於一身的綜合型機構,一方面提供場內交易委託和撮合,也全權託管客戶充值的各類 Token 資產(也包括穩定幣資產),還提供各類理財服務。多種業務也意味著多種許可權,而當一個機構的權力太大時,它會不會憑藉此謀取私利就只在一念之間了。
下一階段加密市場必然有構建更安全交易模式的需求,借鑒歷經數十年實踐驗證及完善至今的證券業制度不失為一條捷徑。證券行業形成了規範化的交易制度,包括:
由協力廠商存管機構(商業銀行)存管客戶的交易結算資金。由證券登記結算機構集中提供證券的登記、託管與結算。由證券經紀商接受客戶委託並代為買賣證券證券,提供融資和融券服務。由證券交易平台完成交易資訊的場內訂單撮合。
證券行業通過這樣一套多方協作和制衡的制度,避免了單一機構作惡造成系統性風險的局面。而以上 4 項功能,全都由 CEX 完成,這就大幅度加重了單點故障的危害性。所以有必要結合加密資產交易的特點,借鑒傳統金融分業經營的模式,讓多個相互獨立的機構承擔當前加密貨幣交易平台的多種功能,從而實現分權和制衡。
這種借鑒絕非容易,它存在以下困難:
分業經營意味著 CEX 交出很多許可權,可能會降低其盈利能力,所以 CEX 自身沒有意願這麼做。這需要監管的介入,但該如何制定規則還需探索,且出台法律法規較為耗時。各國的監管規則可能不一致,這會不會導致加密市場的割裂尚不明確。更多的制度約束也意味著可能會出現更高的管理成本,這些成本都會轉嫁到使用者身上。
不過可以確定的是,加密資產若能成為主流資產,上述轉變就一定會出現。多一點耐心和自我保護措施,更規範的 CEX 正在路上。
免責聲明:
本文觀點僅代表作者個人觀點,不構成本平台的投資建議,本平台不對文章信息準確性、完整性和及時性作出任何保證,亦不對因使用或信賴文章信息引發的任何損失承擔責任
South Korea: Upbit Investigated for Over 500,000 KYC Violations
MacBook Users with Intel Chips Urged to Update for Enhanced Security
Solana-Based Trading Terminal DEXX Hacked, Over $21M in User Losses
South Korea to Enforce 20% Crypto Tax in 2025 with Increased Exemption Limit
0.00