ZK-Rollups: ゼロ知識証明に基づくレイヤー 2 拡張ソリューション
不正行為の証明 [1] とは異なり、Zk-Rollup は有効性証明を使用し、データがチェーンにアップロードされる前にゼロ知識証明を使用してトランザクションの正当性を確認し、最初にそれを証明します。トランザクションに問題がない場合は、更新されたステータス、トランザクションの証拠、圧縮されたトランザクションデータをメインチェーンに送信して、チェーン上の対応するデータの有効性と資金の安全性を確保します。
Zk-Rollup のセキュリティは暗号原理に依存しており、その主な利点の 1 つはチャレンジ期間が必要ないことです [2]。
現時点では、Zk-Rollup の一般的なコンピューティング機能は貧弱で、オンライン バージョンのほとんどは転送と特定のアプリケーション シナリオしか実装できず、開発者にとっては不親切です。現在、最新の Zk-Rollup ソリューションの一部は、一般的な EVM と互換性のある L2 拡張ソリューションを研究しています。これが成功すれば、大きな意味を持つことになります。
Zk-Rollup は暗号世界のスタイルにより沿っており、他の人が間違った取引を報告するのを待つのではなく、暗号原理を使用して取引の正しさを証明します。
知識ゼロの証明
ゼロ知識証明は、ゼロ漏洩証明としても知られる暗号概念であり、証明者と検証者で構成されます。
証明者は特殊なハードウェア上で実行する必要があり、トラストレスです。つまり、システムのセキュリティは証明者が信頼できるか、証明者が実行するハードウェアが信頼できるかを前提とする必要がありません。なぜなら、数学的には偽物を偽造する方法が存在しないからです。ゼロ知識証明。
検証者は特殊なハードウェアを必要とせず、任意のノード上で実行できます。平たく言えば、証明者はシステムの入力から証明を作成し、検証者は再計算することなく証明者が正しい計算結果をアップロードしたことを確認します。それをまた。
哲学的な言い方をすると、あるビットコインアカウントが私のものであることを証明したい場合、私はこのアカウントの秘密鍵を知っていることを証明したいのですが、秘密鍵を他人に教えることはできません。 (秘密鍵署名、公開鍵検証)
zk-スナーク
ブロックチェーンで最も一般的に使用されるのは zk-SNARK です。これは、非対話性を必要とする特別なゼロ知識証明です (ビットコインを検証するゼロ知識証明の以前の例は非対話的ではなかったため、非対話型に変更する必要がありました)言い換えれば、転送トランザクションを発行し、そのアカウントのコインを別のアカウントに転送するだけです。これにより、すべてのノードがこのビットコイン アカウントが私のものであることを確認できるようになります。ブロックチェーンのシナリオでは、証明者は「Published to the blockchain」というメッセージを送信するだけで済みます。 、すべてのノードが検証でき、証明者と対話する必要はありません。この種の検証者はパブリック検証者と呼ばれます)およびシンプルさ(必要なバイト数はわずか数百バイトで、元の入力が大きい場合でも、証明の生成は非常に簡単です)小さい)。
欠点は、証明を生成する証明者の作業負荷が非常に大きいことです。送金の際、匿名送金トランザクションの開始には数秒かかりますが、トランザクションの正当性の検証には数ミリ秒しかかかりません。
zk-SNARK は信頼設定を必要とし、初期化中にすべてのメンバーが共有する一連のパブリック パラメータをランダムに生成する必要があります。漏洩すると、セキュリティ システムが崩壊し、悪意のある攻撃者が次のような情報を作成する可能性があります。虚偽の証明のリスクを避けるために、zk-SNARK の初期化プロセスには複数の関係者が関与し、そのうちのいずれかが初期化中に使用されるランダム ソースを破壊する限り、システムは安全です。
ブロックチェーンにおけるzk-SNARKの応用
代表的なアプリケーションの 1 つは Zcash で、もう 1 つは Filecoin です。これら 2 つのプロジェクトは、ここでは zk-SNARK のアプリケーション シナリオを説明するためにのみ使用されています。
Zcash は、zk-SNARK を使用して、トランザクション情報、トランザクションの両当事者の ID、およびトランザクション金額を、sender.address、receive.address、iuput.value、out を知らなくても検証できます。価値。これはビットコインとは大きく異なります。ビットコインのすべての取引は、通貨の起源とその通貨が由来する以前の取引を説明する必要があります。この方法でのみ、私たちが使用する通貨が無から作られたものではなく合法であることを証明できます。 。 Zcash の場合、使用する通貨が現在のシステムに存在する法定通貨であることを数学的に証明する必要があるだけであり、それがどの通貨であるかを特定する必要がないため、通貨の出所を追跡する方法はありません。
Filecoin は、これまでに展開された最大の zk-SNARK ネットワークであり、毎日何百万ものゼロ知識証明を生成しています。 Filecoin マイナーはデータを保存することでブロック報酬を取得し、約束されたデータを保存していることを定期的に証明する必要があります。これらのマイナーは zk-SNARK プロトコルの証明者であり、複製証明 [3] と時空の 2 種類の証明を提供する必要があります。証拠[4]。
レプリケーション証明は、ユーザーとストレージ プロバイダーが最初にストレージ トランザクションに到達したときに 1 回だけ行われます。ストレージ プロバイダーは、ユーザーのデータを実際に保存していることを証明するために、時空間証明を定期的に提供する必要があります。元のデータの場合、ストレージ プロバイダーは、契約中に時空間証明を提供できなかった場合、初めて顧客にデータを保存することに同意するときに、対応するトークン ファイルを誓約する必要があります。罰せられ、誓約されたファイル トークンを失う可能性があります。
zk-SNARK テクノロジーの利点は、生成される証明が非常に短く、ネットワーク帯域幅を節約し、検証が高速であることです。Filecoin は、本当の意味でのプライバシー コンピューティングを実装しておらず、Filecoin のコンセンサス メカニズムにのみ使用されます。これまでのところ、ほとんどすべての zk-SNARK 回路は、さまざまなアプリケーションに応じてカスタマイズされたゼロ知識証明技術であるアプリケーション固有の集積回路であり、zk-SNARK テクノロジーはチューリング完全ではありません。まだ普遍的なスマートコントラクト。
ZK-Rollup代表プロジェクト
ZK Rollupには、zkSyncとSTARKWAREという2つの代表的なプロジェクトがあります。
zkSync
zkSync は zk-SNARK のゼロ知識アルゴリズムを使用し、セキュリティは初期信頼設定に依存します (乱数はイーサリアム創設者 V God を含む一部の参加者によって定式化され、少なくとも 1 人の参加者が正直であることが必要です。その後、このシステムが安全であることが証明されます) )。
EVM 互換性の点では、zkSync には、Solidity 互換性を実現するためにスマート コントラクトを zkEVM でサポートされるオペコードに変換するコンパイラーがあります。
データの可用性に関して、zkSync は 2 つのデータ可用性ソリューションを提供します。ユーザーはデータをチェーンにアップロードすることを選択できます (つまり、データを L1 チェーンに保存するか、セキュリティを高めるためにイーサリアムに保存する必要があります)。チェーンよりも多く支払う)(ガス料金が安い)、ユーザーはデータをオフチェーンに保存することも選択できます(これにより、容量を大幅に拡張でき、ガス料金をさらに節約できますが、ある程度の分散化とセキュリティが犠牲になります)。つまり、zkSync はオンチェーンとオフチェーンの両方のデータ ストレージ モードをサポートしており、データがオフチェーンに保存されている場合、L2 は L1 と同じセキュリティを確保する必要があるため、オフチェーン データは本当の意味での L2 ではないと考える人もいます。 -chain、可用性は L1 と同じです。オフチェーンのクラウド サービス プロバイダーに保存されている場合は、分散化の概念に反します。IPFS のような分散型ストレージに存在する場合は、違いがあります。データの可用性を保証する方法はまだありません (データは IPFS に存在し、イーサリアム上に存在する場合は異なります)。イーサリアムやビットコインのようなブロックチェーンでは、そこに保存されているデータは失われませんが、IPFS はデータが失われることを保証しません。改ざん可能性。
スターウェア
現在、市場でゼロ知識証明を生成するための 2 つの最も主流のシステムは、zk-SNARK と zk-STARK です。
zk-Sync は zk-SNARK を使用し、StarkWare は zk-STARK 証明に基づく暗号化テクノロジーです。 zk-STARK このテクノロジーは StarkWare チームによって発明され、zk-SNARK テクノロジーのアップグレード版とみなすことができ、このアルゴリズムを使用してブロックチェーンの最下層をオンチェーンに追加できます。トランザクション データと一部のデータのストレージは、ソリューションのためにオフチェーンに転送され、オフチェーンでバッチ処理されたデータをパッケージ化して STARK 証明書を生成し、関係者が検証するためにチェーンに送信できます。信憑性。 STARK には、zk-Sync で使用される SNARK と比較して 3 つの主な利点があります。1 つ目の利点は、システムが動作するために信頼設定を必要としないことです。一方、SNARK 証明には、zk-SNARK の使用が必須である必要があります。初期設定の参加者が不正な場合、偽の証明書や偽造トランザクションが作成される可能性がありますが、zk-STARK は、ランダムな公開検証を通じて、第三者によるパラメータの破壊や変更を防ぐことができます。この利点が持つ実際の価値は不明です。 (シャオ先生は、この利点はあまり重要ではないと考えています)
2 番目の利点はスケーラビリティです。StarkWare は、zk-STARK は計算の複雑さを軽減し、SNARK よりも速く STARK 証明を生成すると主張していますが、この声明には多少の議論の余地があります。
3 番目の利点は、量子攻撃に対する耐性です。理論的には、zk-STARK は、量子攻撃に対する耐性を向上させるために耐衝突性ハッシュ関数を使用します。この利点はほとんど重要ではありません。
STARK の欠点は、技術が SNARK よりもはるかに成熟しておらず、普及率も低いことです。StarkWare の利点は、STARK と SNARK の開発者を含む技術チームが非常に少ないことです。欠点は、コミュニティが存在しないことです。これは、STARK の普及率が不十分であることにも関係しています。
もう1つの問題は、EVMの互換性です。EthereumのEVMはTuring完全ですが、STARKがTuring完全を達成したい場合は、EVMのスマートコントラクト言語であるSolidityをSTARK互換形式に変換する必要があります。非常に複雑であるため、StarkWare チームは STARK でサポートされるプログラムを実行するために特定のプログラミング言語 Cario を作成しました。Cario の学習コストは比較的高く、EVM と互換性がないため、イーサリアム上の既存の Dapps は非常に複雑になります。移行が困難であり、これが StarkWare エコシステムの構築が容易ではない理由の 1 つです。別の観点から見ると、歴史的な痕跡がなく、イーサリアムでは実現できないいくつかの機能を実現できるまったく新しい言語を使用することにも利点があります。
データの可用性に関して、StarkWare には 2 つのデータ可用性スキームがあり、ユーザーは各トランザクションでオンチェーン データが利用可能なロールアップ スキームを採用するか、オフチェーン データが利用可能な検証スキームを採用するかを選択できます。
Validium スキームのデータ可用性委員会は、いくつかの評判の高い暗号化団体で構成されています。データ セキュリティの観点からは、チェーン上に保存されたデータが最も安全であるという欠点があり、これは大量の資金に適しています。リアルタイム要件が低い状況では、データをオフチェーンに保存すると、ある程度のセキュリティが犠牲になります。その利点は、資金が比較的少なく、リアルタイム要件が高いアプリケーション シナリオに適していることです。 、GameFiなど。
名詞の解釈
不正証明: 分散システムでは、不正証明は、誤った状態の更新を検出して修正するために使用されます。オプティミスティック ロールアップでは、ほとんどの操作が正しいことを前提としていますが、誤った操作に異議を唱えて修正するメカニズムが提供されます。
チャレンジ期間: チャレンジ期間は、バリデータが状態更新の正確性をチェックして確認できるようにする指定された時間枠であり、システムのセキュリティと公平性を確保する上で重要です。
レプリケーションの証明: レプリケーションの証明は、特定のデータが特定の時点で指定された場所に実際に保存され、複数のコピーが作成されたことを証明します。
時空証明: 時空証明は、空間 (ストレージ) と時間 (継続的ストレージ) を組み合わせた証明メカニズムであり、特定のデータが一定期間保存され続けることを示します。
結論
2021年1月、イーサリアム創設者のブテリン氏は、「短期的には、EVMとの互換性によりOptimistic-Rollupsが勝つだろうが、単純なトランザクションなどのユースケースではZK-Rollupsが勝つ可能性が高いだろう。中長期的には、 zk-SNARK テクノロジーが向上するにつれて、最終的には ZK-Rollups がすべてのユースケースに勝つでしょう。」
Chainyuan Technology は、ブロックチェーンのセキュリティに重点を置いている会社です。私たちの主な業務には、ブロックチェーンのセキュリティ研究、オンチェーンのデータ分析、資産と契約の脆弱性救済が含まれており、個人や組織のために盗まれた多くのデジタル資産の回収に成功してきました。同時に、当社はプロジェクトの安全性分析レポート、オンチェーントレーサビリティ、および技術コンサルティング/サポートサービスを業界団体に提供することに尽力しています。
読んでいただきありがとうございます。私たちは今後もブロックチェーンのセキュリティコンテンツに焦点を当て、共有していきます。