取引のプライバシー 暗号通貨の不可欠な要素であり、多くのユーザーにとって最も重要な要素の XNUMX つです。 ビットコインは、主流のメディアによって匿名の価値移転媒体として特徴付けられることがよくありますが、実際には、ビットコインは疑似匿名にすぎません。
ビットコイン台帳は 完全に透明 また、ユーザー ID は英数字のアドレスの背後に隠されていますが、追跡してアドレスと ID を関連付ける方法があります。 ID の難読化により、ユーザーはある程度の匿名性を得ることができますが、各トランザクションで転送された金額が表示されるため、ある程度の機密性が失われます。
この問題の解決策として、プライバシーに重点を置いた一部の暗号通貨は、 機密取引(CT)、 を使用してトランザクションで転送された金額を難読化する 約束 (具体的に Pedersenのコミットメント)金額に。
CTが実装されたときに転送された値の公開透明性がなければ、トランザクションが有効であることを確認するには、 範囲証明 トランザクション入力の合計がトランザクション出力の合計よりも大きく、すべてのトランザクション値が正であることを確認します。
これらの範囲証明はすべてのトランザクションに添付され、トランザクション サイズがはるかに大きくなり、複数の範囲証明を必要とする複数の出力を持つトランザクションが発生し、トランザクション サイズがさらに増加し、検証とストレージの効率が低下する可能性があります。 入る 防弾.
防弾の背景
Bulletproofs は、2017 年 XNUMX 月にスタンフォード大学の Applied Cryptography Group (ACG) によって提案されました。 学術論文 ユニバーシティ カレッジ オブ ロンドンと Blockstream からの寄稿によるものです。
防弾は 「秘密のコミットされた値が特定の間隔にあることを証明するための、知識システムの新しいゼロ知識引数。」 防弾の名前は、Shashank Agrawal が「弾丸のように短く、防弾セキュリティの前提があります。
CT のコミットメントを検証する際の効率的かつ有用な進歩として賞賛されている防弾は、信頼できるセットアップを必要としない、短く非対話的なゼロ知識証明です。 それらは事実上、zk-SARKS や STARK に見られるゼロ知識証明方法を利用するはるかに効率的で安全な形式の範囲証明ですが、信頼できるセットアップを必要としません。 zk-SNARKS STARKほど大きくはありません。 それらのアプリケーションは、さまざまなシステムや状況で有益であり、その多くは学術論文で直接概説されています.
Bulletproofs は、ブロックチェーンの分散型でトラストレスな性質に特に適しており、範囲証明の現在の実装よりも大幅な長期的なコスト削減、大幅なスペースの節約、低料金、および検証時間の短縮を実現できます。 防弾がどのように機能するかを説明する前に、範囲証明とゼロ知識証明という XNUMX つの用語を理解することが重要です。
範囲証明
基本的に、範囲証明は、コミットメントが指定された範囲内の金額を表すことを誰でも検証できるようにするコミットメント検証の形式であり、その値 (秘密の値として知られている) について他に何も明らかにすることはありません。
たとえば、単純な範囲証明を使用して、その人の正確な年齢を実際に明らかにすることなく、その人の年齢が 28 ~ 52 歳であることを検証できます。
これは、機密トランザクションの検証に重要な影響を及ぼします。 Monero などの匿名性に重点を置いた暗号通貨内では、トランザクションで転送された金額を実際に明らかにすることなく、支払い金額が正であることを確認するために使用されます。
より具体的には、トランザクション出力ベースのシステムでは、コミットされた入力または出力を実際に明らかにすることなく、コミットされた入力がコミットされた出力の合計よりも大きいことを証明します。
当時のスタンフォード紙によると、機密トランザクションの現在の実装はすべて、コミットされた値に対して範囲証明を使用します。ここで、証明サイズは n で線形です。
防弾に関する重要な部分は、「リニアイン n」、 つまり、レンジ プルーフは、プルーフの範囲内の出力数とビット数に比例してサイズが変化します。
その結果、CT では範囲証明がトランザクションのサイズの大部分を占めます。 モネロのような CT を使用する匿名性に重点を置いた暗号通貨のブロックチェーンのサイズは、CT を使用しない典型的な暗号通貨よりもはるかに速く成長するため、防弾が導入される前は大きな懸念事項でした。
最終的に、CT を使用するブロックチェーンのサイズは、ブロックチェーン全体をダウンロードするために必要なディスク容量を持たない多くのユーザーにとって非常に非現実的になり、ノード全体の分散化に間接的に影響を与えます。
ゼロ知識証明
あなたがこれを読んでいるなら、暗号通貨の分野でのゼロ知識証明について聞いたことがあるでしょう。それらは、いくつかの恐ろしい数学に基づいた非常に興味深い概念を表しているからです。 概念を理解するのは難しいですが、学術機関が暗号通貨に適用されるように概念をさらに進めているという事実と相まって、それらの実装は業界にとって非常に有望な兆候です.
本質的に、ゼロ知識証明は、ある当事者が変数の値を知っていることを別の当事者に証明できる暗号化の方法です。 y の価値を知っているという事実以外に、他の情報を伝えることなく y.
伝統的に、これは、検証者と証明者が何らかの形で相互作用することを意味します。 ただし、防弾は 非インタラクティブ ゼロ知識 知識の議論、 これは、証明者と検証者の間の相互作用が不要なゼロ知識証明の特定の変形です。
これにより、離散対数の仮定に依存し、 Fiat-Shamir ヒューリスティック それらを非インタラクティブにします。
では、防弾とは何ですか?
防弾に戻ります。 前述のように、防弾はセキュリティのために離散対数の仮定に依存し、非対話型になるために Fiat-Shamir ヒューリスティックを使用します。
これにより、防弾のサイズは、出力の数と範囲のプルーフのサイズに対して対数的にのみ増加します。 その結果、CT を実装するトランザクションのサイズを大幅に削減できます。
Monero は、トランザクション サイズが 80% 削減されたと述べています。 防弾を利用することで、料金も 80% 削減されます。
Bulletproofs は、CT を使用するトランザクションのサイズを縮小するのに役立つだけでなく、証明者が複数の出力を持つトランザクションの複数の範囲証明を単一の短い証明に集約できるようにします。
各出力の範囲証明を必要とする複数の出力を持つトランザクションの代わりに、それらをすべて XNUMX つに集約できます。 さらに、防弾の検証は、サイズだけでなく時間の点でもより効率的です。
の外 zk-SNARKS、防弾よりも迅速に検証するため、防弾を検証する時間は既存の範囲証明よりも短く、ブロックチェーンの検証が迅速になります。
重要なことに、防弾には信頼できるセットアップは必要ありません。 信頼できるセットアップは、ゼロ知識証明 zk-SNARKS を使用するときに必要な、物議を醸す XNUMX 回限りのセットアップです。
問題は、この XNUMX 回限りのセットアップでは、XNUMX 回限りのセットアップのキーを作成した人が、完了後に破棄するために、そのキーを作成したユーザーを暗黙のうちに信頼する必要があることです。 作成します 無限の ネイティブトークンの量、 検出されない. 明らかに、信頼できるセットアップには重大な懸念があります。
防弾のプルーフは、他の範囲プルーフよりもはるかに短く、「入力が、証人の要素に対する Pedersen のコミットメントであることを許可します。
それらが短く、非インタラクティブなゼロ知識証明であることの結果として、防弾を最適化し、効率的なマルチパーティ計算 (MPC) プロトコルのサポートや、複雑でプライバシーを保護するスマート コントラクトの実装など、さまざまな状況に適用することができます。
防弾の応用
Bulletproofs は、シンプルな MPC プロトコルを効率的にサポートします。秘密にコミットされた値を持つ複数の当事者が、秘密の値を互いに明らかにすることなく、すべての値に対して単一の小さな範囲証明を共同で生成できるようにします。
基本的に、複数の関係者からの入力を持つ複雑な機密トランザクションでは、提案された MPC プロトコルは、必要なすべての証明をトランザクション全体の単一の短い証明に集約できます。
これによってもたらされる効率と節約は、控えめに言っても過言ではありません。
Provisions プロトコルは、Bitcoin 取引所が他の情報を明らかにすることなく支払い能力があることを証明できるようにするイノベーションです。
これは、取引所が実際に帳簿を公開することなく、そうでなければ信頼できず支払不能であると見なされる取引所の支払能力を検証するための重要なステップです。
プロトコルは範囲証明に依存しています」取引所がマイナスの残高を持つ偽のアカウントを挿入するのを防ぐため。」 これらのプルーフ サイズは非常に大きく、顧客数に比例します。
Bulletproofs は、Provisions プロトコルで使用される非インタラクティブなゼロ知識証明の自然な代替品であり、交換の全体的な証明サイズを最大 300 倍近くまで削減できます。
イーサリアムの高度に表現力のあるスマート コントラクトは公開されており、コントラクトのパラメーターにある程度のプライバシーは提供されません。
非インタラクティブなゼロ知識証明は、コントラクト内のプライバシーのメカニズムとして提案されていますが、コントラクトの計算は制限されており、ブロックチェーン ネットワーク全体でコストがかかります。 SNARK は別の潜在的な解決策ですが、信頼できる設定が必要になるという問題があります。 これがどこに向かっているのかがわかります。
Bulletproofs は、信頼できるセットアップを必要としない短い証明であり、表現力豊かなスマート コントラクト内でのプライバシー保護の役割に最適です。
ストレートなドロップインとして、防弾はこの点で安価ではありませんが、インセンティブ委任モデルと組み合わせて、当事者がその検証に異議を唱えない限り、証明の有効性を実行する必要はありません.
誤った課題を提示するパーティは処罰され、さらに、この設計は効率的なマルチパーティ計算でサポートできます。
まとめ
Bulletproofs は、トランザクション金額を保護および難読化するために使用されるゼロ知識証明およびその他のプロトコルの重要な研究分野において、重要かつ広く適用可能なイノベーションです。
機密トランザクションに固有のトレードオフは、サイズが大きくなることです。 防弾を使用すると、プライバシーとセキュリティを維持しながらこのトレードオフを大幅に削減する機会は、大きな前進です.
トランザクションを保護し、匿名性を提供するために使用される基本的なプロトコルがより重視されるようになるにつれて、学術界がどのように対応し、すでにイノベーションの最前線にある分野の最前線でテクノロジーを進化させ続けるかを見るのは興味深いことです。