Zcashhalo2の背後にあるテクノロジーの紹介

1はじめに

2019年以来、ECCチームは2021年にZcashのスケーラビリティに関する関連する事前調査を実施しました。主な調査結果は、Zcashの2つの主要な問題を解決する新しいタイプのzk-SNARKソリューションとしてのHaloです。

  • パフォーマンスを確保することを前提として、信頼できるセットアップは削除されます。
  • プライベートデジタル決済をサポートする拡張可能なフレームワーク。

Haloの論文については、「信頼できるセットアップなしの再帰的プルーフ構成」を参照してください。また、私のブログも参照してください。

構築されたHalo2に基づくHalo-高性能zk - SNARKによって記述されたRust言語が実現されました。この実装では、Zcashのスケーラビリティを確保しながら、信頼できるセットアップが排除されます。

2. Halo2の背後にあるテクノロジー

2.1ソニック

2019年、Sean Boweは論文「Sonic:線形サイズのユニバーサルおよび更新可能な構造化参照文字列からのゼロ知識SNARK」を共同発行しました。Sonicプロトコルでは、2つの主要な要素は次のとおりです。[これら2つの要素により、Sonicは任意の計算のためのゼロ知識証明を作成するための多項式コメントスキーム。

  • 1)多項式コミットメントスキーム[Haloペーパーで改善され、集計をサポートする内積引数に基づく多項式コミットメントスキームを実現しました。
  • 2)多項式IOP [MarlinとPlonkの論文で改善された、Plonkの改善された多項式IOPは、より高い柔軟性とより優れた効率を備えています。

現在の多項式コミットメントスキームの中で、最も効率的なものは、信頼できるセットアップを必要とするペアリンググループに基づいています。Sonicは主に、信頼できるセットアップを必要とする多項式コミットメントスキームに関係しています。

ただし、別のブランチはBulletproofsの内積引数基づく多項式コミットメントスキームですこのスキームでは、信頼できるセットアップと比較的小さいプルーフサイズは必要ありませんが、コストは検証パフォーマンスが低くなります。

2.2Halo-集計をサポートする内積引数に基づく多項式コミットメントスキーム

ハロー紙、内積の引数に基づいて、多項式ビットコミットメントが詳しく紹介されており、前例のないアグリゲーション技術を同時に実現しています。この集約技術を使用すると、独立して作成された多数のプルーフの検証時間は、単一のプルーフの検証時間に相当します。Zcashの既存のzk-SNARKよりも優れたソリューションにします。

Haloペーパーは、Sonicペーパーで説明されている多項式IOPを取り除き、ペアリングベースの多項式コミットメントを内積引数に基づく多項式コミットメントスキームに置き換える、特定の形式の再帰的証明構成について説明しています。

いわゆる再帰的証明構成とは、次のことを指します。

  • 1つの証明を使用して、ほぼ無制限の上限で他の証明の正しさを証明することができます。
  • 可有有効地圧缩主観的计算(和信息)。
    【再帰的証明構成は、無制限の計算量を圧縮し、監査可能な分散システムを作成し、拡張性の高いブロックチェーンを構築し、すべての人類のプライバシーを保護する可能性を秘めています。この概念は、それ自体の別のインスタンスの正しさを検証する証明であり、任意の量の計算作業とデータで、すばやく確認できる短い証明を生成できます。]

再帰的プルーフ構成は、スケーラブルなZcashの基本コンポーネントであり、水平方向のネットワーク拡張をサポートするだけでなく、少数の参加者がネットワークの他の部分の整合性を信頼できるようにします。

Haloソリューションの前は、再帰的なプルーフ構成を実現するために、多くの計算オーバーヘッドと信頼できるセットアップが必要でした。
Haloでは、「ネストされた償却」テクノロジーは、上記の集計テクノロジーに基づいて構築されているため、次のようになります。

  • 内積引数に基づく多項式コミットメントスキームを使用して、対応する再帰的証明構成を実現できます。
  • パフォーマンスが大幅に向上しました。
  • 信頼できるセットアップは避けてください。

その後、2020年の論文「蓄積スキームからの証明付きデータで、科学者のグループがHaloの再帰的証明合成技術を「蓄積スキーム」として要約し、安全認証を実施しました。新しい名前「アキュムレータスキーム」は、Haloの「ネストされた償却」テクノロジの実際の動作原理を示しています。つまり、「アキュムレータ」に証明を追加することによって(これらの証明はアキュムレータの以前の状態に関連しています)、アキュムレータの現在の状態をチェックすることにより、以前のすべての証明が(誘導によって)正しいかどうかをチェックできます。

2.3 Marlin and Plonk-改良された多項式IOPは、より高い柔軟性とより優れた効率を備えています

Haloは、信頼できるセットアップなしで再帰的なプルーフ構成を実装しますが、その実行速度は依然として要件を満たすことができません。

Haloの同じ時期に、Marlinなど、他の多くのチームがSonicよりも効率的な新しい多項式IOPSを発見しましたこれらの多項式IOPソリューションの中で、最も効率的なのはPLONKです。

PLONKは、アプリケーションの特定のニーズに基づいて効率的な実装を設計するための優れた柔軟性を提供します。PLONKのこの機能は、より効率的なHaloバージョンを作成するために不可欠です。

3. Halo VS Halo2

ここに画像の説明を挿入
Halo2とHaloの最大の違いは、SonicのPolynomialIOPがPlonkのより効率的なPolynomialIOPソリューションに置き換わっていることです。

つまり、HaloはSonicスキームを使用してトランザクションを検証し、Halo2はPlonkを使用してトランザクションを検証します。Plonkの効率はSonicの効率よりも優れており、Plonkはより少ないゲートでより複雑な回路を表すことができます。

Haloの背後にある新しいアイデアは、Coda(Pickles)やMir(Plonky)などの再帰的なSNARKプロジェクトで採用されています。

  • Haloプログラムコードの実装:https://github.com/ebfull/halo
  • Halo2スキームのコード実装:https://github.com/zcash/halo2

4.Halo2の目標


Halo2の目標は、Zcashプロトコルにアクセスするために、コミュニティ標準に準拠するものを構築することです。

Halo2の実際の実装プロセスでは、過去数年間に出現した新しいアイデアが採用されるだけでなく、プロセス中にチームによって発見されたアクティブな最適化と新しい技術も採用されます。その一部は、形成と改善に懸命に取り組んでいます。コミュニティに公開するための対応するドキュメント。

Halo2は120,000米ドルのEthereumFoundationのサポートを受けており、ECCチームによって完全に開発されています。2021年初頭に信頼できるセットアップを削除する予定です。同時に、将来の再帰的証明のサポートにより、レイヤー1のスケーラビリティーの基盤。

新しいフロンティアテクノロジーを実現するプロセスは長いプロセスです。これには、科学的なピアレビュー、エンジニアリング、サードパーティのセキュリティ監査、および安全性を確保するためのテストが含まれます。ECCには革新的なテクノロジーを安全に導入した実績があり、この作業にはコラボレーションが必要であることを私たちは知っています。オープンソースのHaloから、Ethereum Foundationとの協力、将来の実装の研究まで、コラボレーションは私たちの仕事の中核です。

5.Halo2の意味

Saplingのアップグレードでは、Zcashのパフォーマンスが大幅に向上し、サードパーティのウォレットとエクスチェンジがZcashのシールドテクノロジーを初めて使用しました。

Zcashはビットコインコードベースからフォークされているため、基盤となるレイヤー自体はスケーラブルではありません。
Halo2テクノロジーの助けを借りて、信頼できるセットアップなしで回路のアップグレードを許可できるため
、ユーザー定義資産(UDA)などの追加資産のサポートなど、将来の改善においてZcashのシールドプロトコルがより柔軟になります

同時に、暗号化によってプライバシーを実現するZcashの機能からも恩恵を受けることができる他のプロジェクトやトークンにも有益です。

Halo2の助けを借りて、レイヤー1レベルでのZcashのスケーラビリティーのロックを解除できます。

参照

[1] Zcashプロトコル仕様
[2] Zcash Orchard機能設計仕様[Orchardは機能提案であり、ネットワークのアップグレードではありません。Orchardは、ZcashCanopyのアップグレードに伴う機能提案です。]
[3] ZcashHalo2設計マニュアル
[4] ECC 2020年9月1日ブログECCがHalo2のコードをリリース
[5] ECC 2020年9月1日ブログHalo2の説明
[6] ECC 2021年1月8日ブログHalo2をZcashに導入

おすすめ

転載: blog.csdn.net/mutourend/article/details/114059130