要約:
現在、レイヤー 2 ソリューションでは、スケーラビリティと状態の断片化がトレードオフになっています。レイヤー2(L2)設計=nil;を導入し、統一された実行環境の利点を損なうことなく、イーサリアムのスケーラビリティの限界を押し広げます。このソリューションは、動的シャーディングメカニズムと、ゼロ知識技術によって保護されたイーサリアムデータへの検証可能なアクセスを組み合わせたものです。主な要素は次のとおりです。
zkSharding =nil;は、単一の設計とモジュラー設計の両方の利点を享受します。
スケーラビリティ
統一実行環境
セキュリティ
機能性
下位レベルでは、=nil;の状態が主要なシャードと複数のセカンダリシャードに分割されます。メインシャードの役割は、セカンダリシャードからデータを同期し、統合することです。それは、Typical zkRollups操作と同様に、状態遷移の証明の検証者およびデータ可用性層として、Ethereumを使用しています。
セカンダリシャードは、ユーザートランザクションを実行する「ワーカー」として機能します。これらのシャードは、クロスシャードメッセージングプロトコルを介して統合された流動性とデータを維持し、それらの間の断片化を排除します。
各シャードはバリデータ委員会によって監視されています。これらのバリデータは定期的にシャード間でローテーションされます。さらに、シャードの状態の更新はzkEVMを使用してメインシャードに検証されます。
ユーザーによる開始からイーサリアムでの確認までの取引フローを説明するために、次の手順を考えてみてください。
この概要では、ユーザーのトランザクションがクロスシャードメッセージングプロトコルをアクティブにしないものと仮定しています。ただし、この場合、トランザクションフローは同じままであり、違いとしては、ユーザーのトランザクションが他のシャードで新しいトランザクションの作成をトリガーできるという点です。
全てのアカウントがシャードに分散されているため、これはアプリケーション固有のロールアップ手法で見られるデータの断片化の問題に似ているように思えるかもしれません。しかし、主な違いはクロスシャード通信の扱い方にあります:これは別々の外部ブリッジによって管理されるのではなく、全体のプロトコルに直接統合されています。
各セカンダリシャードのセキュリティを保証するために、そのバリデータ委員会は、小規模なバリデータグループ内で詐欺が発生していないことを確認するため、主要なシャードに状態遷移を証明する義務があります。各シャードのバリデータ委員会には、シャードのメンテナンスを超えた追加のタスクがあります。バリデータは、「近隣シャード」内のクロスシャードメッセージという特定のイベントを追跡する責任があります。「近隣シャード」は、シャード識別子のハミング距離に基づいて決定されます。
=nil;s zkEVMは、zkLLVMでコンパイルされたType-1 zkEVMです。より伝統的なzkEVMと=nil;のzkEVMの違いを理解するには、zkEVMの基礎となる回路定義プロセスに関連する制限について議論する必要があります。zkEVM回路は、通常、カスタムzkDSLまたは単純にライブラリで定義されることが多く、状態遷移証明が正しいと見なされるための重要な部分です。このような回路定義方法には、以下の問題が関連しています。
=nil; zkEVMは、以下の課題を効果的に解決しています:
zkLLVMはzkLLVMを介してコンパイルされるzkEVMは、evmoneを活用して設計時にセキュリティが確保されており、Ethereumの本番で使用されているEVMと完全に一貫性を確保しています。 zkLLVM(C++またはRust)は、回路に自動的にコンパイルされるため、回路定義プロセスから人為的なエラーが除去されます。
さらに、=nil; zkEVM は zkLLVM を介してコンパイルされるため、手動で定義された回路よりも自由度が高く(したがって将来にも耐える)ため、自由に調整でき、回路生成が自動的です。また、監査がより可能であり、そのセキュリティはイーサリアムに追加された最新の EIP を含むコストがかかることはありません。
プライマリシャードとセカンダリシャードは、それぞれ専用のタスクに関して異なるため、セカンダリシャードはトランザクション処理に焦点を当てており、プライマリシャードはデータ同期に焦点を当てているため、緊急事態で状態データを回復するためにデータ可用性(DA)に異なるアプローチを取っています。つまり:
このアレンジメントは、開始時に2種類のシャードを立ち上げることで確立されます: 外部DAソリューションを持つものと持たないもの。 後続のフェーズでは、同じDAカテゴリのシャードのみがマージできます。 これは、作成時に各アカウントを特定のDAカテゴリにマッピングする必要があることを意味します。
さらに、このフレームワークは他の種類のDAを含めるように拡張することができます。
私たちの主な目標の1つは、アプリケーションの合成性を最適化し、流動性の断片化を防ぐことです。そのため、zkShardingアプローチは、イーサリアムの状態に対する信頼できないアクセスなしには不完全であるはずがありません。これは=nil;が、データプロバイダーモジュールを介してイーサリアムと完全に合成可能で透明な統合を提供します。
データプロバイダーは、シャードのデータストレージとは独立して運営し、情報を外部データベースと同期させ、最後に監視されたデータベースの状態のイーサリアムのフィンガープリント(イーサリアムのブロックハッシュで表される)をシャードのブロックに注入します。このデータベースの最新の状態は、確認モジュールからの検証を受けます。この確認モジュールは、イーサリアムのCasper FFGコンセンサスプルーフを使用したzkBridgeを使用します。
=nil; および zkSharding は、=nil; Foundation が過去4年間に開発してきた製品の集大成です。その目的は、最初の合成可能でスケーラブルかつ汎用性のあるEthereum L2 zkRollup ソリューションであることです。次の数ヶ月でより多くの実装の詳細を共有できることを楽しみにしています。進捗状況について最新情報を入手するには、当社のTwitter をフォローしてください!
技術に精通している方々のために、私たちは開発しました独立した包括的な入門書この入門書は、=nil;およびzkシャーディングの詳細に踏み込みます。この入門書は、このアプローチの裏にある複雑さを理解するためのゲートウェイであり、必要なすべての技術的詳細と予備知識を備えています。
今すぐ技術入門書に飛び込んで、会話に参加しましょうディスコードそしてTelegram. 一緒にzkShardingの無限の可能性を探検しましょう!
要約:
現在、レイヤー 2 ソリューションでは、スケーラビリティと状態の断片化がトレードオフになっています。レイヤー2(L2)設計=nil;を導入し、統一された実行環境の利点を損なうことなく、イーサリアムのスケーラビリティの限界を押し広げます。このソリューションは、動的シャーディングメカニズムと、ゼロ知識技術によって保護されたイーサリアムデータへの検証可能なアクセスを組み合わせたものです。主な要素は次のとおりです。
zkSharding =nil;は、単一の設計とモジュラー設計の両方の利点を享受します。
スケーラビリティ
統一実行環境
セキュリティ
機能性
下位レベルでは、=nil;の状態が主要なシャードと複数のセカンダリシャードに分割されます。メインシャードの役割は、セカンダリシャードからデータを同期し、統合することです。それは、Typical zkRollups操作と同様に、状態遷移の証明の検証者およびデータ可用性層として、Ethereumを使用しています。
セカンダリシャードは、ユーザートランザクションを実行する「ワーカー」として機能します。これらのシャードは、クロスシャードメッセージングプロトコルを介して統合された流動性とデータを維持し、それらの間の断片化を排除します。
各シャードはバリデータ委員会によって監視されています。これらのバリデータは定期的にシャード間でローテーションされます。さらに、シャードの状態の更新はzkEVMを使用してメインシャードに検証されます。
ユーザーによる開始からイーサリアムでの確認までの取引フローを説明するために、次の手順を考えてみてください。
この概要では、ユーザーのトランザクションがクロスシャードメッセージングプロトコルをアクティブにしないものと仮定しています。ただし、この場合、トランザクションフローは同じままであり、違いとしては、ユーザーのトランザクションが他のシャードで新しいトランザクションの作成をトリガーできるという点です。
全てのアカウントがシャードに分散されているため、これはアプリケーション固有のロールアップ手法で見られるデータの断片化の問題に似ているように思えるかもしれません。しかし、主な違いはクロスシャード通信の扱い方にあります:これは別々の外部ブリッジによって管理されるのではなく、全体のプロトコルに直接統合されています。
各セカンダリシャードのセキュリティを保証するために、そのバリデータ委員会は、小規模なバリデータグループ内で詐欺が発生していないことを確認するため、主要なシャードに状態遷移を証明する義務があります。各シャードのバリデータ委員会には、シャードのメンテナンスを超えた追加のタスクがあります。バリデータは、「近隣シャード」内のクロスシャードメッセージという特定のイベントを追跡する責任があります。「近隣シャード」は、シャード識別子のハミング距離に基づいて決定されます。
=nil;s zkEVMは、zkLLVMでコンパイルされたType-1 zkEVMです。より伝統的なzkEVMと=nil;のzkEVMの違いを理解するには、zkEVMの基礎となる回路定義プロセスに関連する制限について議論する必要があります。zkEVM回路は、通常、カスタムzkDSLまたは単純にライブラリで定義されることが多く、状態遷移証明が正しいと見なされるための重要な部分です。このような回路定義方法には、以下の問題が関連しています。
=nil; zkEVMは、以下の課題を効果的に解決しています:
zkLLVMはzkLLVMを介してコンパイルされるzkEVMは、evmoneを活用して設計時にセキュリティが確保されており、Ethereumの本番で使用されているEVMと完全に一貫性を確保しています。 zkLLVM(C++またはRust)は、回路に自動的にコンパイルされるため、回路定義プロセスから人為的なエラーが除去されます。
さらに、=nil; zkEVM は zkLLVM を介してコンパイルされるため、手動で定義された回路よりも自由度が高く(したがって将来にも耐える)ため、自由に調整でき、回路生成が自動的です。また、監査がより可能であり、そのセキュリティはイーサリアムに追加された最新の EIP を含むコストがかかることはありません。
プライマリシャードとセカンダリシャードは、それぞれ専用のタスクに関して異なるため、セカンダリシャードはトランザクション処理に焦点を当てており、プライマリシャードはデータ同期に焦点を当てているため、緊急事態で状態データを回復するためにデータ可用性(DA)に異なるアプローチを取っています。つまり:
このアレンジメントは、開始時に2種類のシャードを立ち上げることで確立されます: 外部DAソリューションを持つものと持たないもの。 後続のフェーズでは、同じDAカテゴリのシャードのみがマージできます。 これは、作成時に各アカウントを特定のDAカテゴリにマッピングする必要があることを意味します。
さらに、このフレームワークは他の種類のDAを含めるように拡張することができます。
私たちの主な目標の1つは、アプリケーションの合成性を最適化し、流動性の断片化を防ぐことです。そのため、zkShardingアプローチは、イーサリアムの状態に対する信頼できないアクセスなしには不完全であるはずがありません。これは=nil;が、データプロバイダーモジュールを介してイーサリアムと完全に合成可能で透明な統合を提供します。
データプロバイダーは、シャードのデータストレージとは独立して運営し、情報を外部データベースと同期させ、最後に監視されたデータベースの状態のイーサリアムのフィンガープリント(イーサリアムのブロックハッシュで表される)をシャードのブロックに注入します。このデータベースの最新の状態は、確認モジュールからの検証を受けます。この確認モジュールは、イーサリアムのCasper FFGコンセンサスプルーフを使用したzkBridgeを使用します。
=nil; および zkSharding は、=nil; Foundation が過去4年間に開発してきた製品の集大成です。その目的は、最初の合成可能でスケーラブルかつ汎用性のあるEthereum L2 zkRollup ソリューションであることです。次の数ヶ月でより多くの実装の詳細を共有できることを楽しみにしています。進捗状況について最新情報を入手するには、当社のTwitter をフォローしてください!
技術に精通している方々のために、私たちは開発しました独立した包括的な入門書この入門書は、=nil;およびzkシャーディングの詳細に踏み込みます。この入門書は、このアプローチの裏にある複雑さを理解するためのゲートウェイであり、必要なすべての技術的詳細と予備知識を備えています。
今すぐ技術入門書に飛び込んで、会話に参加しましょうディスコードそしてTelegram. 一緒にzkShardingの無限の可能性を探検しましょう!