原文

Lean仕様、特にLean-Multisigについて調査を行ってきました。明らかなことの一つは、まずPQが優先されていることですが、この段階で本格的なzkEVM仕様を目指すのではなく、XMSS署名集約のために「最小限のzkVM」も開発されている点です。

マルチシグのSNARK化には、私見ですがいくつかの興味深い効果があります。

BLSのようなペアリングによる暗号学的集約ではなく、Leanは実際にすべての署名を計算し、その計算の有効性を集約として証明します。これにより、SNARKの簡潔さが得られます。

集約は再帰的に集約されるため、署名検証は署名委員会全体で実際に並列化されます。これは、計算による証明ではなく単なる暗号学的検証であるペアリングベースの集約とは、パラダイム的に異なります。

もちろん、これはSSFの文脈でしばしば注目されます。SSFは、BLSにはないそのようなレベルの効率性に関して実現可能になります。

誰も話していないように思えるのは、これが実質的にビーコンチェーンの実行を並列化したという事実です。そして、それが可能であることの意味合いは、実に目覚ましいものです。私の考えを説明させてください。

実行チェーンとコンセンサスチェーンの概念的な分離は、ビーコンチェーンがコンセンサスエンジンのPoSとブロブ検証を計算するのに対し、実行チェーンのSTFがEVMとワールドステートを計算するという、その分離された性質に一部起因しています。どちらも実質的に独立したステートマシンであり、ビーコンマシンはイーサリアム仮想マシンをカプセル化しています。

コンセンサスエンジンを並列化することは、それがもたらすスケーラビリティのレベルから見て非常に重要です。ある意味で、SSFはコンセンサス層における無限のスケーラビリティです。では、自問してみてください。計算証明の再帰的集約を通じて理論上最適なスケーラビリティが実行層に実装できるとしたら、それはどのようなものになるでしょうか?理論的には、利用可能なすべての計算リソースを完全に活用するネットワークです。

この種の並列化がビーコンチェーンで可能な理由の一つは、バリデータの署名がコンテキストを持たないことです。署名の有効性/存在は、他のすべての署名の有効性/存在とは独立しているため、衝突することがなく、独立したプロセッサ間で計算できるため、無限に並列化できます。対照的に、実行層のSTFにおける完璧な並列化は困難です。なぜなら、ワールドステートは異なる計算間で衝突する可能性のある一種のコンテキストだからです。しかし、どこまで進めるでしょうか?

BALの存在は、EVMの並列化が有益であることを証明していますが、並列化できる状態変更の数にはどのような限界があるのでしょうか?独立したトランザクションをどれだけうまく並列化しても、CPUのスレッドが尽きる点に達します。では、その独立した実行が他のノードに移動したらどうなるでしょうか?実際にどのように機能するかを説明します。

各スロットでインクルージョンリスト (inclusion-list) が確立されます。これはおそらくEIP(Ethereum 改善提案)-7805に似ています。ILは、選択されたトランザクション (txs) が属する「実行カラム (execution-column)」を示すメタデータを定義します。これらのカラムはすべて、副作用において独立したトランザクションを含んでおり、したがって他のカラムのトランザクションと並列に実行できます。トランザクションを副作用の同値関係に基づいて同値クラスに分割するようなものだと考えてください。その後、APSスタイルの委任を使用して、「実行委員会 (execution-committees)」を選択し、IL内の特定のトランザクションカラムを実行できます。現在のLean-Multisigと同様に、これらの計算はSNARK化され、これらのSNARKは委員会リーダー(または任意のメンバー)によって集約され、ブロックのプロポーザーに送信されます。プロポーザーは、委員会のSNARKをさらにSNARKに再帰的に集約し、ブロック全体の有効な実行を証明します。

これは実質的に、分散化のために、どの家庭用コンピューターも他のどのブロックも再実行できる必要があるという、現在ネットワークに存在する上限を排除します。これは完全なSNARK化がなされたとしても当てはまります。なぜなら、プロポーザーは依然として自身のブロックを完全に実行できる必要があるからです。

これをEIP(Ethereum 改善提案)-4444とEIP(Ethereum 改善提案)-7736の履歴およびステートの有効期限切れ、完全なデータアベイラビリティ (DAS)、そしてVerkleツリーに似たものと組み合わせれば、データ層と実行層の両方でネットワーク全体のほぼすべてのリソースを活用し、理論上最適なスケーラビリティを達成できる可能性があります。さらに、トランザクションの並列化可能性に応じてコストが増加する新しいガス計算を実装することで、最適化を進めることもできます。これにより、ユーザーは実質的にワールドステートのよりアクティブな部分にアクセスするために対価を支払うことになります。このマルチスレッドガスは、DAOがイーサの総供給量のごく一部を誤って蓄積したような状況を防ぐことができたかもしれません。なぜなら、より多くのユーザーがワールドコンピューター内の同じ状態を改変し始めるにつれて、ユーザーはますます高額なガス料金を支払う必要があったでしょうから。トランザクションの並列化可能性に応じて支払われるガス料金は、アカウント抽象化と自身のコードの使用を奨励し、分散化を強化します。

本質的に、ブロックチェーンのジレンマは、真に信頼できる実行は自身のCPUで発生したものだけであるため、どの単一ノードもネットワーク全体の実行をリアルタイムで追跡できる必要があるという点です。zkEVMの並列化により、信頼できないノードがチェーンを並列実行する際の実行の有効性を簡潔な証明を用いて証明することで、このボトルネックを解決し、理論上最適なスケーラビリティを達成できます。

お読みいただきありがとうございます。

1投稿 - 1参加者

トピック全文を読む