Gate.io Proof of Reserve Upgrade:zk-SNARKでより良いサービスを構築

中級Nov 19, 2023
1,300万人のユーザーを抱える信頼できる取引所として、Gate.io はファンドのセキュリティの重要性を理解しています。 2020年5月、Gate.io はプルーフ・オブ・リザーブをいち早く導入した取引所の1つとなり、それ以来、この分野のリーダーとなっています。 FTXの事件後、Proof of Reservesは解決策として大きな注目を集めています。 今回、Gate.io は、zk-SNARKテクノロジーを利用してプライバシー、透明性、信頼性を高め、ユーザーの資金をさらに保護する、100%プルーフ・オブ・リザーブへの大幅なアップグレードを発表できることを嬉しく思います。
Gate.io Proof of Reserve Upgrade:zk-SNARKでより良いサービスを構築

プルーフ・オブ・リザーブとマークル・ツリー

ヴィタリック・ブテリン氏の記事「 安全なCEXを持つ:ソルベンシーの証明など 」は、中央集権的な取引所がユーザー資産を検証し、ユーザーの預金を尊重するのに十分な準備金を確保する上で直面する課題を強調しています。 したがって、取引所は、ユーザーから要求されたときにこれらの資産を全額返済するのに十分な準備資産があることを証明する方法、つまり、準備資産の価値がユーザーの預金の価値を超えていることを証明する必要があります。 この証明は準備金の証明として知られており、Gate.io で100%準備金監査証明と呼ばれます。

入金を証明する最も簡単な方法は、(ユーザー名と残高)ペアのリストを公開することです。 各ユーザーは自分の残高がリストに含まれているかどうかを確認でき、誰でも完全なリストを確認して、すべての残高が負でなく、合計が取引所によって請求された金額と一致することを確認できます。 ただし、これはプライバシーを侵害します。 これに対処するために、(hash(username, salt), balance) ペアのリストを公開し、各ユーザーに salt 値を非公開で送信するというわずかな変更が加えられます。 しかし、これでもバランスとバランスの変化が明らかになります。 プライバシーを保護するために、さらなるイノベーションが導入されました:マークルツリー。

(図1出典:https://vitalik.ca/general/2022/11/19/proof_of_solvency.html)

マークルツリー手法は、ユーザーバランスデータをマークル和ツリーに整理します。 このツリー構造では、各ノードは(バランス、ハッシュ)ペアで構成されます。 下部のリーフノードは、個々のユーザー残高とユーザー名のソルト付きハッシュを表します。 上位の各ノードでは、残高はその下の 2 つの残高の合計であり、ハッシュはその下の 2 つのノードのハッシュです。 マークル和証明は、マークル証明と同様に、葉から根までの兄弟ノードで構成される木の「枝」を表します。 取引所は、各ユーザーに残高のマークル合計証明を提供し、残高が取引所の合計残高に正しく含まれていることを確認できるようにします。

この設計により、完全に公開されているリストと比較してプライバシーが大幅に強化されます。 さらに、「ルート」が公開されるたびに「ブランチ」をシャッフルすることで、プライバシーの漏洩をさらに最小限に抑えることができます。 しかし、まだいくつかの課題が残っています。 たとえば、Charlie は、あるユーザーが 164 ETH を持っていることを知り、2 人のユーザーの残高を合計すると 70 ETH になります (図 1 を参照)。 複数のアカウントを制御している攻撃者は、Exchange ユーザーに関する機密情報を推測する可能性があります。

マークルツリーベースのプルーフ・オブ・リザーブの限界

マークルツリーベースのプルーフ・オブ・リザーブは、ユーザー資産のセキュリティを確保するのに効果的ですが、このアプローチにはまだいくつかの問題があります。

  1. フロントエンド詐欺: マークルツリーのデータは取引所の内部サーバーに保存され、取引所はユーザーが操作するフロントエンドページを制御します。 取引所は、ユーザーを欺くために偽のページを返す可能性があり、フロントエンド詐欺の可能性につながります。
  2. 悪意のあるマークルツリーアルゴリズム攻撃:中央集権型取引所(CEX)は、資金を不正に流用した後、残高がマイナスの偽のアカウントを作成する可能性があります。 たとえば、ユーザーが1,000ドル相当の資産を持っていて、取引所が500ドルを横領した場合、インターフェースに表示されるユーザーの残高には1,000ドルが表示されます。 マークルツリープルーフが1,000ドルに基づいて発行されている場合、取引所の実際の資産(500ドル)はユーザーの預け入れ資産(1,000ドル)よりも少なく、準備金が不足していることを示しています。 しかし、残高が-$500の偽の口座を作成することで、取引所はマークルツリーに実際の資産($500)がユーザーの預金資産(1,000-500 = $500)と等しいことを示させ、通常のPoR出力を得ることができます。
  3. 複数のアカウントを持つ攻撃者にとっての潜在的なプライバシーの問題。

ゼロ知識証明とzk-SNARK

ゼロ知識証明は、セキュリティの強化、ユーザーのプライバシーの保護、レイヤー2ネットワークのスケーラビリティのサポートなど、さまざまなユースケースで広く注目を集めています。

ゼロ知識証明は、ある当事者が、追加情報を明かすことなく、ある発言が真実であることを別の当事者に証明することを可能にします。 参加者間で共有される情報の量を減らすことでプライバシーの向上に貢献し、データセット全体を検証せずに証明をより迅速に検証できるようにすることでスケーラビリティをサポートします。

zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)は、2012年にNir Bitansky、Ran Canetti、Alessandro Chiesa、Eran Tromerの共同論文で提案されたゼロ知識証明技術です。 zk-SNARKは、一方の当事者が秘密自体を明かすことなく、秘密を知っていることを別の当事者に証明することを可能にし、したがって、情報を公開することなく論理表現の正しさを証明します。 従来のゼロ知識証明では、証明者は証明を生成するために検証者と複数回対話する必要があります。 しかし、zk-SNARKでは、パラメータ(特にパブリックパラメータ)と証明が生成されると、検証者は証明者との複数回の対話を必要とせずに、証明の正しさを検証できます。

たとえば、埋もれた宝物の正確な場所につながる宝の地図があるとします。 地図の内容や宝物の実際の場所を明かさずに、宝物の場所を知っていることを誰かに証明したい。 zk-SNARK技術を使って、宝の地図のパズルのピースを作ります。 パズルの小さなピース(プルーフ)を選んで相手に見せると、パズル全体を見なくても、パズル全体を見なくても、パズル全体がどのように組み合わさっているか、つまり宝物の場所を知っていると相手に納得させるのに十分です。 ただし、これを実現するには、パズルのピースを認証するために、評判の良い印刷工場からいくつかの特別なマーキングを取得する必要があります。

zk-SNARKsの実装は、楕円曲線暗号と多項式数学に基づいています。 この手法では、マッピングを使用して入力を多項式に変換し、楕円曲線の順序や離散対数などの数学的概念を利用して、多項式の制約が満たされていることを検証します。 データ圧縮に特別なアルゴリズムを活用することで、数学的計算の効率的な実行を可能にします。

したがって、zk-SNARKsを使用することで、リザーブプルーフプロトコルのプライバシーを大幅に合理化し、強化することができます。 すべてのユーザーの預金をマークルツリーに組み込み、zk-SNARKを使用してすべての残高が負ではなく、合計が請求額であることを証明することで、ブロックチェーン上で公開されている資産がこの価値を超えた場合、取引所が負債を完全にカバーする能力を持っていることを確認することができます。

zk-SNARKをマークルツリーと統合することで、トランザクションのプライバシーを保護しながら、データの整合性と一貫性を同時に検証することが容易になります。 証明者は、zk-SNARKを使用して、証明の詳細を明らかにすることなく、特定の条件を満たすマークル証明を持っていることを証明できます。 取引所にとって、このアプローチは、ユーザーのプライバシーを保護しながら、すべての義務を果たすのに十分な資金があることを証明する方法を提供します。

Gate.ioのゼロ知識準備金アップグレード

要約すると、Gate.ioのゼロ知識証明技術は、埋蔵量の証明に関する2つの重要な問題に対処します。

  1. ユーザーが機密情報を公開することなく、特定の資産の所有権を証明できるようにする
  2. 前のセクションで説明したように、マークルツリーにマイナスのネット残高を持つユーザーが含まれていないことを確認することで、悪意のあるマークルツリーアルゴリズム攻撃の可能性を排除します

Gate.io は、zk-SNARKを使用して準備金の証明をアップグレードし、ユーザー資産のセキュリティを保護する主要な取引所として重要な一歩を踏み出しました。 このアップグレードにより、ユーザーはリザーブプルーフをリアルタイムで表示でき、サポートされている資産の最初のバッチは時価総額の上位100をカバーします。 業界のリーダーとして、コードをオープンソース化しており、今後も業界の発展を推進し、このゼロ知識証明のアップグレードにより、より安全でプライバシーを強化する暗号化された未来を模索していきます。

参考文献:

Autor: Gate learn
Traductor: Sonia
Revisor(es): Wayne Zhang、Edward、Elisa、Ashley 、Joyce BeelenHe、
* La información no pretende ser ni constituye un consejo financiero ni ninguna otra recomendación de ningún tipo ofrecida o respaldada por Gate.io.
* Este artículo no se puede reproducir, transmitir ni copiar sin hacer referencia a Gate.io. La contravención es una infracción de la Ley de derechos de autor y puede estar sujeta a acciones legales.
Empieza ahora
¡Regístrate y recibe un bono de
$100
!
Crea tu cuenta