Gate.io儲備金證明升級:利用zk-SNARK打造更優質的服務

中級Dec 11, 2023
作爲被1,300萬用戶信任的交易所,Gate.io深知資金安全的重要性。在2020年5月,Gate.io成爲最早實施儲備金證明的交易所之一,併在該領域具有領先地位。FTX事件後,儲備金證明成爲一個備受關註的解決方案。而現在,Gate.io榮幸宣布100%儲備金證明的重大升級,利用zk-SNARK技術提高證明的隱私性、透明度和真實性,以進一步保障用戶的資金安全。
Gate.io儲備金證明升級:利用zk-SNARK打造更優質的服務

儲備金證明&默剋爾樹

Vitalik Buterin在《安全的中心化交易所:償付能力證明及其他》一文中錶明,在中心化交易所中,每個用戶的資産都記録在平颱數據庫中的賬本中,這使得用戶難以確認自己的資産是否被轉移,以及交易所是否有足夠的儲備資産去償付用戶存入平颱的資産。因此,交易所需要一種方式來證明其具有足夠的儲備資産,以便在用戶提出需求時可以100%地償還這些資産,也意味著交易所需要證明其儲備資産的價值高於用戶存入資産的價值。這種證明被稱爲儲備金證明,在Gate.io也被稱爲100%儲備金審計證明。

證明存款的最簡單方法是髮布(用戶名,餘額)對的列錶。每個用戶都可以檢查自己的餘額是否包含在列錶中,任何人都可以檢查完整列錶,確認每個餘額均爲非負數以防虛假賬戶,併且餘額總和爲交易所所稱金額。當然,這會破壞隱私,因此稍微改變方案:髮布(哈希(用戶名,Salt值),餘額)對的列錶,併曏每個用戶私下髮送他們的Salt值。但即使這樣也會泄露餘額,還會泄露餘額變動。爲了保護隱私,有了更進一步的創新:默剋爾樹。

(圖一 來源:https://vitalik.ca/general/2022/11/19/proof_of_solvency.html)

默剋爾樹技術會將用戶餘額數據放入默剋爾總和樹。在默剋爾總和樹中,每個節點是一個(餘額,哈希)對。底層葉子節點代錶單獨用戶的餘額及用戶名的加鹽哈希。在每個更高層節點中,餘額是兩個下麵的餘額之和,哈希是下麵兩個節點的哈希。默剋爾總和證明與默剋爾證明類似,是樹的“分支”,由從葉子至根的姊妹節點組成。交易所曏每個用戶髮送他們餘額的默剋爾總和證明,用戶就可以檢查自己餘額已經正確地包含在交易所總餘額中。

這種設計的隱私泄漏比完全公開的列錶低得多,併且可以通過每次髮布“根”時重新洗牌“分支”來進一步減少隱私泄漏,但仍然存在一些問題:Charlie了解到有人的餘額爲164 ETH,有兩個用戶的餘額相加爲70 ETH等(見圖一)。控製許多賬戶的攻擊者仍然可能推算到有關交易所用戶的重要信息。

基於默剋爾樹的儲備金證明的缺陷

盡管基於默剋爾樹的儲備金證明已經能夠較爲有效地確保用戶資産安全,但這一方案仍有一些問題:

  1. 前端欺詐問題。默剋爾樹數據存在交易平颱內部服務器上,用戶與交易平颱交互的前端頁麵是交易平颱掌控的,交易平颱完全可能返回假的頁麵來欺騙用戶,存在前端欺詐的可能性。
  2. 惡意默剋爾樹算法攻擊。CEX可以直接在挪用資金後設立餘額爲負值的虛假賬戶,比如用戶原有價值$1,000的資産,交易所挪用$500,用戶界麵餘額顯示爲$1,000,此刻如果按照$1,000出具默剋爾樹證明,交易所實際資産($500)小於用戶存入資産($1,000),儲備金證明得出的結論是交易所資金儲備不足。而交易所通過設立餘額爲-$500的虛假賬戶讓默剋爾樹得到交易所實際資産($500)等於用戶存入資産(1,000-500=$500),此刻儲備證明輸出結果是交易所資金儲備正常。
  3. 上文提到的多賬戶攻擊者潛在的隱私問題。

零知識證明與zk-SNARK

零知識證明已經在各種用例中引起了廣泛關註,因爲它們具有提高安全性、保護用戶隱私和支持在Layer-2網絡中擴展的改革性潛力。

零知識證明使一方能夠曏另一方證明某個陳述是正確的,而不會透露任何額外信息。其既有助於增加隱私——因爲降低了參與方之間共享的信息量——又有助於可擴展性,因爲允許證明在更快的速度上進行驗證,而不必驗證整個數據集。

zk-SNARK(零知識證明-精簡非交互式參數論證)是一種零知識證明技術,由Nir Bitansky、Ran Canetti、Alessandro Chiesa和Eran Tromer在2012年共衕撰寫的一篇論文中提出。zk-SNARK 允許一方曏另一方證明他們知道一個秘密,而不透露秘密本身,實現在不暴露信息的情況下證明邏輯錶達式的正確性。在傳統的零知識證明中,證明者需要與驗證者之間進行多次交互,以生成證明。然而,在zk-SNARK中,一旦生成參數(特別是公共參數)和證明,驗證者可以在不必與證明者多次交互的情況下驗證證明的正確性。

舉個例子:假設你有一張藏寶圖,它能指引你到一個埋藏寶藏的確切位置。你想證明給某人看你知道寶藏的位置,但不想揭露寶藏圖的內容或寶藏的實際位置。使用zk-SNARK技術,你需要製作一份藏寶圖的拼圖。你選擇了一小塊關鍵拼圖(一個證明),併展示給對方看,足以讓他們確信你知道完整的拼圖如何組合,即寶藏的位置,而無需看到整個拼圖。但是,爲了做到這一點,你需要從一個可信的印刷廠穫取一些特殊的標記,證明你的拼圖塊是真實的。

zk-SNARK的實現基於橢圓曲線密碼學技術和多項式數學。這種方法使用映射將輸入轉換爲多項式,併利用橢圓曲線的階和離散對數等數學概念來驗證多項式上的約束條件是否滿足。它使用特殊的算法來壓縮數據,從而實現了數學計算的高效執行。

因此,使用zk-SNARK能極大地簡化和改善儲備金證明協議中的隱私問題。我們將把所有用戶的存款放入一顆默剋爾樹中,併用 zk-SNARK 來證明樹中所有的餘額都是非負的,且總和爲某個聲稱的值。如果交易所鏈上公開的資産大於該值,則可以證明該交易所具備100%償還能力。

將zk-SNARK與默剋爾樹結合使用,可以實現衕時驗證數據的完整性和一緻性,還可以保護交易的隱私。證明者可以使用zk-SNARK證明他們知道一個滿足特定條件的默剋爾證明,而無需透露證明的具體內容。這對於交易所來説,既可以證明他們有足夠的資金來滿足所有的債務,又可以保護平颱用戶隱私。

Gate.io的零知識儲備金升級

簡而言之,Gate.io的零知識證明技術將解決儲備金證明兩大關鍵問題:

  1. 讓用戶在不泄露任何敏感信息的情況下,證明自己擁有某些資産;

  2. 默剋爾樹中不含總凈餘額(用戶持有的所有資産的總美元價值)爲負值的用戶,不存在上文中的惡意默剋爾樹算法攻擊。

Gate.io採用zk-SNARK對儲備金證明進行升級,邁出了作爲頭部交易所保護用戶資産安全的重要一步。升級之後,用戶能夠實時查看儲備金證明,首次上線的幣種將覆蓋市值前100的數字資産。作爲行業引領者,Gate.io已將代碼開源,併將以此次零知識證明升級爲契機,繼續推動行業髮展,探索更加安全、隱私保護更加完備的加密未來。

擴展閲讀:

作者: Gate learn
譯者: Sonia
文章審校: Wayne Zhang、Edward、Elisa、Ashley 、Joyce BeelenHe、
* 投資有風險,入市須謹慎。本文不作為Gate.io提供的投資理財建議或其他任何類型的建議。
* 在未提及Gate.io的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io有權追究其法律責任。

Gate.io儲備金證明升級:利用zk-SNARK打造更優質的服務

中級Dec 11, 2023
作爲被1,300萬用戶信任的交易所,Gate.io深知資金安全的重要性。在2020年5月,Gate.io成爲最早實施儲備金證明的交易所之一,併在該領域具有領先地位。FTX事件後,儲備金證明成爲一個備受關註的解決方案。而現在,Gate.io榮幸宣布100%儲備金證明的重大升級,利用zk-SNARK技術提高證明的隱私性、透明度和真實性,以進一步保障用戶的資金安全。
Gate.io儲備金證明升級:利用zk-SNARK打造更優質的服務

儲備金證明&默剋爾樹

Vitalik Buterin在《安全的中心化交易所:償付能力證明及其他》一文中錶明,在中心化交易所中,每個用戶的資産都記録在平颱數據庫中的賬本中,這使得用戶難以確認自己的資産是否被轉移,以及交易所是否有足夠的儲備資産去償付用戶存入平颱的資産。因此,交易所需要一種方式來證明其具有足夠的儲備資産,以便在用戶提出需求時可以100%地償還這些資産,也意味著交易所需要證明其儲備資産的價值高於用戶存入資産的價值。這種證明被稱爲儲備金證明,在Gate.io也被稱爲100%儲備金審計證明。

證明存款的最簡單方法是髮布(用戶名,餘額)對的列錶。每個用戶都可以檢查自己的餘額是否包含在列錶中,任何人都可以檢查完整列錶,確認每個餘額均爲非負數以防虛假賬戶,併且餘額總和爲交易所所稱金額。當然,這會破壞隱私,因此稍微改變方案:髮布(哈希(用戶名,Salt值),餘額)對的列錶,併曏每個用戶私下髮送他們的Salt值。但即使這樣也會泄露餘額,還會泄露餘額變動。爲了保護隱私,有了更進一步的創新:默剋爾樹。

(圖一 來源:https://vitalik.ca/general/2022/11/19/proof_of_solvency.html)

默剋爾樹技術會將用戶餘額數據放入默剋爾總和樹。在默剋爾總和樹中,每個節點是一個(餘額,哈希)對。底層葉子節點代錶單獨用戶的餘額及用戶名的加鹽哈希。在每個更高層節點中,餘額是兩個下麵的餘額之和,哈希是下麵兩個節點的哈希。默剋爾總和證明與默剋爾證明類似,是樹的“分支”,由從葉子至根的姊妹節點組成。交易所曏每個用戶髮送他們餘額的默剋爾總和證明,用戶就可以檢查自己餘額已經正確地包含在交易所總餘額中。

這種設計的隱私泄漏比完全公開的列錶低得多,併且可以通過每次髮布“根”時重新洗牌“分支”來進一步減少隱私泄漏,但仍然存在一些問題:Charlie了解到有人的餘額爲164 ETH,有兩個用戶的餘額相加爲70 ETH等(見圖一)。控製許多賬戶的攻擊者仍然可能推算到有關交易所用戶的重要信息。

基於默剋爾樹的儲備金證明的缺陷

盡管基於默剋爾樹的儲備金證明已經能夠較爲有效地確保用戶資産安全,但這一方案仍有一些問題:

  1. 前端欺詐問題。默剋爾樹數據存在交易平颱內部服務器上,用戶與交易平颱交互的前端頁麵是交易平颱掌控的,交易平颱完全可能返回假的頁麵來欺騙用戶,存在前端欺詐的可能性。
  2. 惡意默剋爾樹算法攻擊。CEX可以直接在挪用資金後設立餘額爲負值的虛假賬戶,比如用戶原有價值$1,000的資産,交易所挪用$500,用戶界麵餘額顯示爲$1,000,此刻如果按照$1,000出具默剋爾樹證明,交易所實際資産($500)小於用戶存入資産($1,000),儲備金證明得出的結論是交易所資金儲備不足。而交易所通過設立餘額爲-$500的虛假賬戶讓默剋爾樹得到交易所實際資産($500)等於用戶存入資産(1,000-500=$500),此刻儲備證明輸出結果是交易所資金儲備正常。
  3. 上文提到的多賬戶攻擊者潛在的隱私問題。

零知識證明與zk-SNARK

零知識證明已經在各種用例中引起了廣泛關註,因爲它們具有提高安全性、保護用戶隱私和支持在Layer-2網絡中擴展的改革性潛力。

零知識證明使一方能夠曏另一方證明某個陳述是正確的,而不會透露任何額外信息。其既有助於增加隱私——因爲降低了參與方之間共享的信息量——又有助於可擴展性,因爲允許證明在更快的速度上進行驗證,而不必驗證整個數據集。

zk-SNARK(零知識證明-精簡非交互式參數論證)是一種零知識證明技術,由Nir Bitansky、Ran Canetti、Alessandro Chiesa和Eran Tromer在2012年共衕撰寫的一篇論文中提出。zk-SNARK 允許一方曏另一方證明他們知道一個秘密,而不透露秘密本身,實現在不暴露信息的情況下證明邏輯錶達式的正確性。在傳統的零知識證明中,證明者需要與驗證者之間進行多次交互,以生成證明。然而,在zk-SNARK中,一旦生成參數(特別是公共參數)和證明,驗證者可以在不必與證明者多次交互的情況下驗證證明的正確性。

舉個例子:假設你有一張藏寶圖,它能指引你到一個埋藏寶藏的確切位置。你想證明給某人看你知道寶藏的位置,但不想揭露寶藏圖的內容或寶藏的實際位置。使用zk-SNARK技術,你需要製作一份藏寶圖的拼圖。你選擇了一小塊關鍵拼圖(一個證明),併展示給對方看,足以讓他們確信你知道完整的拼圖如何組合,即寶藏的位置,而無需看到整個拼圖。但是,爲了做到這一點,你需要從一個可信的印刷廠穫取一些特殊的標記,證明你的拼圖塊是真實的。

zk-SNARK的實現基於橢圓曲線密碼學技術和多項式數學。這種方法使用映射將輸入轉換爲多項式,併利用橢圓曲線的階和離散對數等數學概念來驗證多項式上的約束條件是否滿足。它使用特殊的算法來壓縮數據,從而實現了數學計算的高效執行。

因此,使用zk-SNARK能極大地簡化和改善儲備金證明協議中的隱私問題。我們將把所有用戶的存款放入一顆默剋爾樹中,併用 zk-SNARK 來證明樹中所有的餘額都是非負的,且總和爲某個聲稱的值。如果交易所鏈上公開的資産大於該值,則可以證明該交易所具備100%償還能力。

將zk-SNARK與默剋爾樹結合使用,可以實現衕時驗證數據的完整性和一緻性,還可以保護交易的隱私。證明者可以使用zk-SNARK證明他們知道一個滿足特定條件的默剋爾證明,而無需透露證明的具體內容。這對於交易所來説,既可以證明他們有足夠的資金來滿足所有的債務,又可以保護平颱用戶隱私。

Gate.io的零知識儲備金升級

簡而言之,Gate.io的零知識證明技術將解決儲備金證明兩大關鍵問題:

  1. 讓用戶在不泄露任何敏感信息的情況下,證明自己擁有某些資産;

  2. 默剋爾樹中不含總凈餘額(用戶持有的所有資産的總美元價值)爲負值的用戶,不存在上文中的惡意默剋爾樹算法攻擊。

Gate.io採用zk-SNARK對儲備金證明進行升級,邁出了作爲頭部交易所保護用戶資産安全的重要一步。升級之後,用戶能夠實時查看儲備金證明,首次上線的幣種將覆蓋市值前100的數字資産。作爲行業引領者,Gate.io已將代碼開源,併將以此次零知識證明升級爲契機,繼續推動行業髮展,探索更加安全、隱私保護更加完備的加密未來。

擴展閲讀:

作者: Gate learn
譯者: Sonia
文章審校: Wayne Zhang、Edward、Elisa、Ashley 、Joyce BeelenHe、
* 投資有風險,入市須謹慎。本文不作為Gate.io提供的投資理財建議或其他任何類型的建議。
* 在未提及Gate.io的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io有權追究其法律責任。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!