ZK-Rollups: ゼロ知識証明に基づくレイヤー 2 拡張ソリューション

不正証明 [1] とは異なり、Zk-Rollup は有効性証明を使用して、データがチェーンにアップロードされる前にゼロ知識証明を通じてデータを検証し、最初に証明します。トランザクションに問題がないことを確認し、チェーン上の対応するデータの有効性と資金の安全性を確保するために、更新されたステータス、トランザクションの証拠、および圧縮されたトランザクションデータをメインチェーンに送信します。

Zk-Rollup のセキュリティは暗号原理に依存しており、その主な利点の 1 つはチャレンジ期間が必要ないことです [2]。

現時点では、Zk-Rollup の一般的なコンピューティング機能は不十分であり、オンライン バージョンのほとんどは転送と特定のアプリケーション シナリオしか実装できず、開発者にとっては不向きです。現在、最新の Zk-Rollup ソリューションの一部は、一般的な EVM と互換性のある L2 拡張ソリューションを研究しています。これが成功すれば、大きな意味を持つことになります。

Zk-Rollup は暗号世界のスタイルにより沿っており、他の人が間違った取引を報告するのを待つのではなく、暗号原理を使用して取引の正しさを証明します。

知識ゼロの証明

ゼロ知識証明は、ゼロ漏洩証明としても知られる暗号概念であり、証明者と検証者で構成されます。

証明者は特殊なハードウェア上で実行する必要があり、トラストレスです。つまり、システムのセキュリティは証明者が信頼できるか、証明者が実行するハードウェアが信頼できるかを前提とする必要がありません。なぜなら、数学的には偽物を偽造する方法が存在しないからです。ゼロ知識証明。

検証者は特殊なハードウェアを必要とせず、任意のノード上で実行できます。平たく言えば、証明者はシステムの入力から証明を作成し、検証者は再計算することなく証明者が正しい計算結果をアップロードしたことを確認します。それをまた。

哲学的な言い方をすると、あるビットコインアカウントが私のものであることを証明したい場合、私はこのアカウントの秘密鍵を知っていることを証明したいのですが、秘密鍵を他人に教えることはできません。 (秘密鍵署名、公開鍵検証)

zk-スナーク

ブロックチェーンでより一般的に使用されているのは、非対話性を必要とする特別なゼロ知識証明である zk-SNARK です (ビットコインを検証するゼロ知識証明の以前の例は非対話型ではなかったため、非対話型に変更する必要がありました)言い換えれば、転送トランザクションを発行し、そのアカウントのコインを別のアカウントに転送するだけで、すべてのノードがこのビットコイン アカウントが私のものであることを確認できるようになります。ブロックチェーン シナリオの場合、証明者はメッセージ Published を送信するだけで済みます。ブロックチェーン、すべてのノードが検証可能、証明者と対話する必要がない、この種の検証者はパブリック検証者と呼ばれます)とシンプルさ(必要なバイト数はわずか数百バイトで、元の入力が大きい場合でも、証明の生成は非常に簡単です)簡単に小さい)。​

欠点は、証明を生成する証明者の作業負荷が非常に大きいことです。送金の際、匿名送金トランザクションの開始には数秒かかりますが、トランザクションの正当性の検証には数ミリ秒しかかかりません。

zk-SNARK は信頼設定を必要とし、初期化中にすべてのメンバーが共有する一連のパブリック パラメータをランダムに生成する必要があります。漏洩すると、セキュリティ システムが崩壊し、悪意のある攻撃者が次のような情報を作成する可能性があります。このリスクを回避するために、zk-SNARK の初期化プロセスには複数の関係者が関与し、そのうちのいずれかが初期化で使用されるランダム ソースを破壊する限り、システムは安全です。

ブロックチェーンにおけるzk-SNARKの応用

    

代表的なアプリケーションの 1 つは Zcash で、もう 1 つは Filecoin です。これら 2 つのプロジェクトは、ここでは zk-SNARK のアプリケーション シナリオを説明するために使用されているだけです。

Zcash は、zk-SNARK を使用して、取引情報、両当事者の身元、取引金額を非表示にし、sender.address、receive.address、iuput.value、out.value を知らなくても取引の合法性を検証できます。これはビットコインとは大きく異なります。ビットコインのすべての取引は、通貨の起源とその通貨が由来する以前の取引を説明する必要があります。この方法でのみ、私たちが使用する通貨が無から作られたものではなく合法であることを証明できます。 。 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つの代表的なプロジェクトがあります。

zkシンク

zkSync は zk-SNARK のゼロ知識アルゴリズムを使用し、セキュリティは初期信頼設定に依存します (乱数はイーサリアム創設者 V God を含む一部の参加者によって定式化され、少なくとも 1 人の参加者が正直であることが必要です。その後、このシステムが安全であることが証明されます) )。

EVM 互換性の点では、zkSync にはスマート コントラクトを zkEVM でサポートされるオペコードに変換して Solidity 互換性を実現できるコンパイラーが備わっています。​

データの可用性に関して、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 の 2 つの技術の発明者を含めて非常に少数であることです。群集生態学がまだ遅れていることは、STARKの普及率が不十分であることにも関係しています。

もう1つの問題は、EVMの互換性であり、STARKがTuring完全性を達成したい場合は、EVMのスマートコントラクト言語であるSolidityをSTARK互換形式に変換する必要があります。非常に複雑であるため、StarkWare チームは STARK でサポートされるプログラムを実行するために特定のプログラミング言語 Cario を作成しました。Cario の学習コストは比較的高く、EVM と互換性がないため、イーサリアム上の既存の Dapps は非常に複雑になります。これが、StarkWare エコシステムの構築が容易ではない理由の 1 つです。別の観点から見ると、歴史的な痕跡がなく、イーサリアムでは実現できないいくつかの機能を実現できるまったく新しい言語を使用することにも利点があります。

データ可用性に関して、StarkWare は 2 つのデータ可用性ソリューションを提供しており、ユーザーはオンチェーン データが利用可能なロールアップ ソリューションを使用するか、オフチェーン データが利用可能な Validium ソリューションを使用するかをトランザクションごとに選択できます。 。

Validium スキームのデータ可用性委員会は、いくつかの評判の高い暗号化団体で構成されています。データ セキュリティの観点からは、チェーン上に保存されたデータが最も安全であるという欠点があり、これは大量の資金に適しています。リアルタイム要件が低い状況では、オフチェーンのデータ ストレージはある程度のセキュリティを犠牲にしますが、その利点はコストが低く、比較的少量の資金と高いリアルタイム要件を持つアプリケーション シナリオに適していることです。 、GameFiなど。​

名詞の解釈

不正証明: 分散システムでは、不正証明は、誤った状態の更新を検出して修正するために使用されます。オプティミスティック ロールアップでは、ほとんどの操作が正しいことを前提としていますが、誤った操作に異議を唱えて修正するメカニズムが提供されます。

チャレンジ期間: チャレンジ期間は、バリデータが状態更新の正確性をチェックして確認できるようにする指定された時間枠であり、システムのセキュリティと公平性を確保する上で重要です。

レプリケーションの証明: レプリケーションの証明は、特定のデータが特定の時点で指定された場所に実際に保存され、複数のコピーが作成されたことを証明します。

時空証明: 時空証明は、空間 (ストレージ) と時間 (継続的ストレージ) を組み合わせた証明メカニズムであり、特定のデータが一定期間保存され続けることを示します。

結論

2021年1月、イーサリアム創設者のブテリン氏は、「短期的には、EVMとの互換性によりOptimistic-Rollupsが勝つだろうが、単純なトランザクションなどのユースケースではZK-Rollupsが勝つ可能性が高いだろう。中長期的には、 zk-SNARK テクノロジーが向上するにつれて、最終的には ZK-Rollups がすべてのユースケースに勝つでしょう。」

Chainyuan Technology は、ブロックチェーンのセキュリティに重点を置いている会社です。私たちの主な業務には、ブロックチェーンのセキュリティ研究、オンチェーンのデータ分析、資産と契約の脆弱性救済が含まれており、個人や組織のために盗まれた多くのデジタル資産の回収に成功してきました。同時に、当社はプロジェクトの安全性分析レポート、オンチェーントレーサビリティ、および技術コンサルティング/サポートサービスを業界団体に提供することに尽力しています。

読んでいただきありがとうございます。私たちは今後もブロックチェーンのセキュリティコンテンツに焦点を当て、共有していきます。