幣安儲備證明升級!採用「zk-SNARKs」技術,解決資產負餘額問題

Perry
分享
幣安儲備證明升級!採用「zk-SNARKs」技術,解決資產負餘額問題

在 FTX 破產後,用戶資產透明度的問題便在中心化交易所間引起廣泛討論,而幣安作為業內首屈一指的交易所,在去年 11 月便採用 Merkle tree 的技術進行資產證明,使用戶可以查驗不同資產的錢包地址以及餘額。然而,原先的 Merkle tree 架構有其問題,幣安在近期宣布將採用 zk-SNARKs 技術,使用戶在驗證資產時更加可信。

(前情提要:幣安公布資產證明!12萬個BTC、190萬個ETH、69.5億USDT)

幣安儲備證明系統原先問題有哪些?

根據幣安發表的文章,其認為原先基於 Merkle tree 的儲備證明解決方案有以下兩點問題:

廣告 - 內文未完請往下捲動

1.為了保護用戶隱私,Merkle 證明中的 Leaf Node 代表用戶持有資產的哈希值,因此,Merkle Tree 的 Root Node 無法反應其 Leaf Node 的餘額資訊總和。

2.根據 Vitalik 的文章,透過增加餘額為負值的假帳戶可以使所需的資產儲備總額降低。在這種惡意 Merkle Tree 的案例中,儘管 Root Node 仍會反應 Leaf Node 的餘額,但可能會導致隱私問題。

為了解決上述問題,幣安決定採用零知識證明協議「zk-SNARKs」來加強儲備證明系統,並做出以下改進:

  1. Merkle Tree 中所有的 Leaf Node 皆促成幣安聲稱的各資產用戶總額。
  2. Merkle Tree 中,沒有任何用戶的資產餘額為負值。

那麼,什麼是 zk-SNARKs?

簡單來說,像是 zk-SNARKs 這種零知識證明協議,允許證明者 (幣安) 向驗證者 (用戶) 證明,已在特定的限制下使用某種輸入資訊準確地進行計算,而這些輸入資訊皆沒有被公開。

儘管背後的計算過程相當費時,但可以幫助用戶快速地評估資產安全。

升級後的資產儲備證明

在採用 zk-SNARKs 協議後,幣安的儲備證明架構仍以 Merkle tree 為基礎,而與原先的差別在於會呈現用戶的資產和債務總額,以及各資產的資訊,幣安將其稱為 Global State。不過,用戶的個人帳戶資訊仍透過加密保護。

為了證明儲備,幣安將為 Merkle tree 的架構生成 zk-SNARKs 證明,而每個 Leaf Node,也就是用戶的資產餘額,需要符合以下條件:

  1. 用戶的每項資產餘額都包含在上述 Global State 列表中。
  2. 用戶淨資產餘額不得為負。
  3. Root Node 的改變在更新用戶訊息至 Leaf Node 的哈希值後生效。

透過儲備證明技術的更新,幣安希望將數位資產證明的透明度提升到更高水準,同時也解決 Vitalik 於文章中所提到的問題。

而作為此次升級的一部分,幣安的儲備證明系統新增了四種代幣,當前供支援 13 種加密資產,用戶可自行驗證在幣安托管中以下資產的持有量。