みんながL2でブロック時間がますます短くなっていると主張している中、何が起こっているのかを説明する時が来たと思いました。具体的には、L2ブロックとは何か、L1ブロックとはどう違うのか、そしてL2ブロック時間にそれほど注意を払う必要がない理由、それが興味深いエンジニアリング指標であっても。
ブロックチェーンという用語が実際に意味を持っていた時(2009年頃)、ブロックの概念が導入されたのは、コンセンサスに提出された取引のグループに対する単位が必要だったからです。
例えば、Bitcoinでは、各ブロック生産者は、PoW要件を満たす取引の配列を見つけようとし、その後このブロックをネットワークにブロードキャストします。他のノードは、このブロックが実際にPoW要件を満たしていることを検証します。PoSおよびアカウントベースのEthereumでは、ブロック生産者は、各ブロックの実行後のブロックチェーンの状態のハッシュ(状態のコミットメント)を計算し、検証者はその値を再計算してブロックの簡単な検証を行います。全体的なプロセスは常に同じです:
レイヤー1チェーンでは、ブロックが重要です:ブロックレベルでチェーンの整合性を検証し、ブロックレベルでフォークを管理します。
TL;DR: ブロックは合意の重要な原始的な要素です。
L2は、コンセンサスが遅いために存在し、分散化には遅いコンピューターとネットワークのサポートが必要です。 L2アプローチは、トランザクション処理を最速の利用可能なマシンにオフロードし、その後、コンセンサスのためにL1に検証可能な実行サマリーを投稿します。 簡単に言えば、今日のほとんどのL2は、ブロックチェーンをLARPしている中央集権化システムです。 そして、それは完全に問題ありません。
これがブロックの時間が曖昧になる場所です。 L2は主にL1ソフトウェアの互換性のためにブロックを続けて構築しますが、それは主に人為的です。 L1に要約を投稿する際、L2は通常、コストを削減するために複数のブロックを一緒にバッチ処理します。詐欺/有効性の証明のために時折状態のコミットメントが必要ですが、すべてのブロックに必要ではありません。したがって、L2のブロックは基本的に無用です。
誰かが自分のL2ブロックが速いと主張するとき、それは単にシステム構成値を調整してブロック時間を短縮しただけです。まだブロックごとに意味のあるトランザクションを処理する必要がありますが、それがその範囲です。
ユーザーとして、タイミング的に重要なのは1つだけです: ラウンドトリップ時間。他の言葉で言えば、私の取引がL2シーケンサーに到達し、実行され、その結果が私が使用しているRPCノードで見えるようになるまでにはどれくらいの時間がかかるでしょうか?最後の部分に焦点を当てましょう: 取引の実行をRPCに通知するのにどれくらいの時間がかかるのでしょうか?
遅いブロックチェーンは通常、ブロックの最後を待ってから、それをピアに送信します。 Solanaは、ブロックをストリーミングできるというアイデアをスタートしました:処理したトランザクションをすぐに他の検証者に送信するだけです。 Solanaはこれらをエントリ(最大64トランザクションのグループ)に分割し、それ自体をネットワーク上で転送するためにシュレッドに分割します。私たちはin-depth articleこのトピックに興味がある場合は、ご覧ください。これらはリーダーノードから他のノードに連続してストリーミングされるため、ブロックが終了する前にトランザクションの実行に関する情報を得ることができます。
L2sは、このメカニズムを再利用することを決定しました:ベースは、Flashblocksとともに、ブロック時間が2秒から200ms未満のサブブロックに変わります。 MegaETHには、テストネットで15msごとに生産される「ミニブロック」という概念があります(ほとんどの場合)。 EclipseはSolanaのエントリー/シュレッドシステムを使用しています。これにより、ユーザーはトランザクションの実行を待つ時間が短縮されます。UXにとって非常に良いです!
しかし、はっきり言っておきましょう:ここでの本当の特徴は「ネットワーク全体での通信間隔の短縮」です。他のものよりもいかなるブロックが本質的に優れているということとは何の関係もありません。単にブロックをより小さな部分に分割し、実行と並行してストリーミングしているだけです。これらの部分をブロック、ミニブロック、またはシュレッドと呼ぶかどうかは重要ではありません。最終目標は、より速い通信であり、より優れたブロックではありません。
مشاركة
みんながL2でブロック時間がますます短くなっていると主張している中、何が起こっているのかを説明する時が来たと思いました。具体的には、L2ブロックとは何か、L1ブロックとはどう違うのか、そしてL2ブロック時間にそれほど注意を払う必要がない理由、それが興味深いエンジニアリング指標であっても。
ブロックチェーンという用語が実際に意味を持っていた時(2009年頃)、ブロックの概念が導入されたのは、コンセンサスに提出された取引のグループに対する単位が必要だったからです。
例えば、Bitcoinでは、各ブロック生産者は、PoW要件を満たす取引の配列を見つけようとし、その後このブロックをネットワークにブロードキャストします。他のノードは、このブロックが実際にPoW要件を満たしていることを検証します。PoSおよびアカウントベースのEthereumでは、ブロック生産者は、各ブロックの実行後のブロックチェーンの状態のハッシュ(状態のコミットメント)を計算し、検証者はその値を再計算してブロックの簡単な検証を行います。全体的なプロセスは常に同じです:
レイヤー1チェーンでは、ブロックが重要です:ブロックレベルでチェーンの整合性を検証し、ブロックレベルでフォークを管理します。
TL;DR: ブロックは合意の重要な原始的な要素です。
L2は、コンセンサスが遅いために存在し、分散化には遅いコンピューターとネットワークのサポートが必要です。 L2アプローチは、トランザクション処理を最速の利用可能なマシンにオフロードし、その後、コンセンサスのためにL1に検証可能な実行サマリーを投稿します。 簡単に言えば、今日のほとんどのL2は、ブロックチェーンをLARPしている中央集権化システムです。 そして、それは完全に問題ありません。
これがブロックの時間が曖昧になる場所です。 L2は主にL1ソフトウェアの互換性のためにブロックを続けて構築しますが、それは主に人為的です。 L1に要約を投稿する際、L2は通常、コストを削減するために複数のブロックを一緒にバッチ処理します。詐欺/有効性の証明のために時折状態のコミットメントが必要ですが、すべてのブロックに必要ではありません。したがって、L2のブロックは基本的に無用です。
誰かが自分のL2ブロックが速いと主張するとき、それは単にシステム構成値を調整してブロック時間を短縮しただけです。まだブロックごとに意味のあるトランザクションを処理する必要がありますが、それがその範囲です。
ユーザーとして、タイミング的に重要なのは1つだけです: ラウンドトリップ時間。他の言葉で言えば、私の取引がL2シーケンサーに到達し、実行され、その結果が私が使用しているRPCノードで見えるようになるまでにはどれくらいの時間がかかるでしょうか?最後の部分に焦点を当てましょう: 取引の実行をRPCに通知するのにどれくらいの時間がかかるのでしょうか?
遅いブロックチェーンは通常、ブロックの最後を待ってから、それをピアに送信します。 Solanaは、ブロックをストリーミングできるというアイデアをスタートしました:処理したトランザクションをすぐに他の検証者に送信するだけです。 Solanaはこれらをエントリ(最大64トランザクションのグループ)に分割し、それ自体をネットワーク上で転送するためにシュレッドに分割します。私たちはin-depth articleこのトピックに興味がある場合は、ご覧ください。これらはリーダーノードから他のノードに連続してストリーミングされるため、ブロックが終了する前にトランザクションの実行に関する情報を得ることができます。
L2sは、このメカニズムを再利用することを決定しました:ベースは、Flashblocksとともに、ブロック時間が2秒から200ms未満のサブブロックに変わります。 MegaETHには、テストネットで15msごとに生産される「ミニブロック」という概念があります(ほとんどの場合)。 EclipseはSolanaのエントリー/シュレッドシステムを使用しています。これにより、ユーザーはトランザクションの実行を待つ時間が短縮されます。UXにとって非常に良いです!
しかし、はっきり言っておきましょう:ここでの本当の特徴は「ネットワーク全体での通信間隔の短縮」です。他のものよりもいかなるブロックが本質的に優れているということとは何の関係もありません。単にブロックをより小さな部分に分割し、実行と並行してストリーミングしているだけです。これらの部分をブロック、ミニブロック、またはシュレッドと呼ぶかどうかは重要ではありません。最終目標は、より速い通信であり、より優れたブロックではありません。