*元のタイトル「エポックとスロットはすべて下に: Ethereumユーザーにより速いトランザクション確認時間を提供する方法」を転送する
良いブロックチェーンユーザーエクスペリエンスの重要な特性の1つは、迅速な取引確認時間です。今日、イーサリアムは5年前と比べてすでに大幅に改善されています。これは、EIP-1559そして安定したブロックタイムの後マージ,ユーザーがL1で送信した取引は、信頼性があり、5〜20秒以内に確認されます。これは、クレジットカードで支払いをする体験とほぼ競争力があります。ただし、ユーザーエクスペリエンスをさらに向上させる価値があり、数百ミリ秒またはそれ以下の遅延が必要なアプリケーションもあります。この投稿では、イーサリアムが実際のオプションのいくつかについて説明します。
今日、EthereumのGasperコンセンサスはスロットとエポックのアーキテクチャを使用します。各12秒のスロットごとに、一部のバリデータがチェーンのヘッドに投票を行い、32スロット(6.4分)の間にすべてのバリデータが一度投票する機会を得ます。これらの投票は、あいまいなメッセージとして再解釈されます。PBFTのような2つのエポック(12.8分)後に非常に堅固な経済的保証であるファイナリティを提供するコンセンサスアルゴリズム。
過去数年間、私たちは現在のアプローチにますます不快感を抱いてきました。主な理由は、(i) シンプルではなく、スロットごとの投票メカニズムとエポックごとの最終性メカニズムの間に多くの相互作用バグがあり、(ii) 12.8 分はあまりにも長く、誰もその時間を待ちたくないからです。
シングルスロットの確定性は、このアーキテクチャをより類似したメカニズムで置き換えますTendermintコンセンサスTendermintとの主な違いは、ブロックNが作成される前にブロックNが確定することです。イーサリアム非活性漏れ「メカニズムは、バリデータの1/3以上がオフラインになっても、チェーンが続行し、回復することを可能にする。」
主要な提案の図シングルスロットの最終性設計_
SSFの主な課題は、単純には、すべてのイーサリアムステーカーが12秒ごとに2つのメッセージを公開する必要があるように思われるため、それはチェーンが処理する負荷が多くなることです。巧妙なアイデアこれを緩和する方法について、非常に最近の方法を含め、オービットSSF提案です。しかし、これにより「確定性」が速くなり、ユーザーエクスペリエンスが大幅に向上しますが、ユーザーは5〜20秒待つ必要があるという事実は変わりません。
ここ数年、イーサリアムはに従ってきましたロールアップ中心のロードマップ, Ethereumのベースレイヤー(L1)をサポートすることを中心に設計するデータの利用可能性そして、レイヤー2プロトコルなどによって使用されることができる他の機能性があります。ロールアップ(しかし、validiumsそしてプラズマ)は、イーサリアムと同じレベルのセキュリティをユーザーに提供できますが、はるかに高いスケールで行うことができます。
これによって作成されます分離の原則イーサリアムエコシステム内での:イーサリアムL1は検閲耐性、信頼性、安定性を重視し、ある基本レベルの機能の維持と改善に集中することができ、L2は異なる手段でユーザーに直接アプローチすることに重点を置くことができます。文化的そして技術的なトレードオフ。しかし、この道を進むと、避けられない問題が1つ出てきます:L2は、5〜20秒よりもはるかに速く確認したいユーザーにサービスを提供したいと考えています。
今まで、少なくとも言葉遣いでは、L2は自分自身の「分散型順序付け」ネットワークを作成する責任があった。より小さなグループのバリデーターがブロックに署名し、おそらく数百ミリ秒ごとに署名し、これらのブロックに「ステーク」を入れていました。最終的に、これらのL2ブロックのヘッダーがL1に公開されます。
L2バリデーターセットは不正行為を行う可能性があります:まずブロックB1に署名をし、後で矛盾するブロックB2に署名し、B1よりも前にそれをチェーンにコミットすることができます。しかし、これを行うと、彼らは捕まり、デポジットを失うことになります。実際には、これの中心化バージョンを見てきましたが、ロールアップは分散型シーケンスネットワークを開発するのに時間がかかっています。そして、L2全体に分散型シーケンスを要求することは不公平な取引だと主張することができます:基本的にはロールアップに、新しいL1を作成するのとほぼ同じ作業を行うよう求めています。この理由やその他の理由から、Justin DrakeはすべてのL2(およびL1)にEthereum全体で共有の事前確認メカニズムにアクセスする方法を推進しています。ベースのpreconfirmations.
ベースの事前確認アプローチでは、イーサリアム提案者が MEV に関連する理由から非常に洗練されたアクターになると仮定しています (参照 ここMEVの説明については、以下も参照してください実行チケット提案の列)。ベースとなる事前確認アプローチは、これらの洗練された提案者がプリコンファメーションサービスを提供する責任を引き受けることを奨励することで、この洗練されたアプローチを活用しています。
基本的な考えは、ユーザーが追加手数料を提供して取引が次のブロックに含まれることを即座に保証するための標準化されたプロトコルを作成することであり、可能な限りその取引の実行結果についての主張を含めることです。提案者が任意の約束を破ると、その取引者は罰せられます。
述べたように、事前確認に基づいてL1トランザクションに保証を提供します。もしロールアップがベース、その後、すべてのL2ブロックはL1トランザクションであり、同じメカニズムを使用して、どのL2に対しても事前確認を提供することができます。
シングルスロットのファイナリティを実装するとします。使用するオービット-like techniques to reduce the number of validators signing per slot, but not too much, so that we can also make progress on the key goal of reducing the 32 ETH staking minimum. As a result, perhaps the slot time creeps upward, to 16 sec. We then use either rollup preconfirmations, or based preconfirmations, to give users faster assurances. What do we have now? An epoch-and-slot architecture.
「彼らは同じ画像」というミームは、この時点でかなり使い古されているので、私はちょうど数年前に描いたガスパーのスロットとエポックのアーキテクチャを説明するための古い図とL2の事前確認の図を並べて置くことにします。そして、それがポイントを伝えることを願っています。
エポックとスロットのアーキテクチャを回避するのがなぜ難しいのか、深い哲学的な理由があります。何かについておおよその合意に達するのにかかる時間は、それについて最大限に強化された「経済的確定性」の合意に達する時間よりも少なくなるのが本質的です。
ノードの数が理由の一つです。古い直線的な@VitalikButerin"/parametrizing-casper-the-decentralization-finality-time-overhead-tradeoff-3f2011672735">decentralization / finality time / overhead tradeoffは、超最適化されたBLS集約と将来的にはZK-STARKsによって穏やかになっていますが、それでも根本的には真実です:
イーサリアムでは、今日、12秒のスロットが3つのサブスロットに分割されています。(i) ブロックの発行と配布、(ii) アテステーション、および(iii) アテステーションの集約。もしアテスターの数がずっと少ない場合、2つのサブスロットに減らして8秒のスロット時間にすることができます。もう1つ、そして現実的にはもっと大きな要素は、ノードの「品質」です。専門化されたノードのサブセットにもおおよその合意を行わせることができれば(最終的には完全な検証者セットを使用して確定させる)、おそらくそれを約2秒まで短縮することができます。
したがって、(i)スロットとエポックのアーキテクチャは明らかに正しいと感じますが、(ii)すべてのスロットとエポックのアーキテクチャが同じ価値を持っているわけではなく、設計領域をより詳しく探求する価値があります。特に、Gasperのように密接に組み合わされていないオプションや、代わりに2つのメカニズム間の関心の強い分離があるオプションを探索する価値があります。
私の見解では、現時点でL2が採るべき合理的な戦略は3つあります:
一部のアプリケーションでは、(例えば、ENS、キーストア), いくつかの支払い), 12秒のブロックタイムは十分です。それ以外のアプリケーションの場合、唯一の解決策はスロットとエポックのアーキテクチャです。これらの3つのケースでは、「エポック」はイーサリアムのSSF(おそらく「シングルスロット」という頭字語を別の意味に変えることができます。例えば、「セキュアで迅速な確定」となるかもしれません)です。しかし、「スロット」は上記の3つのケースそれぞれで異なるものです:
主要な問題は、カテゴリ(1)のものをどれくらい優れたものにすることができるか、ということです。特に、それが本当に優れたものになれば、カテゴリ(3)はあまり意味を持たなくなるように感じられます。カテゴリ(2)は常に存在します。最低限、何かが「ベース」であるためにはプラズマやバリディアムなどのオフチェーンデータL2には機能しません。しかし、イーサリアムネイティブのスロットとエポックのアーキテクチャが1秒の「スロット」(つまり、事前確認)時間まで短縮できれば、カテゴリ(3)のスペースはかなり小さくなります。
今日、これらの質問に対する最終的な答えを持っているとは程遠い状況です。どの程度高度なブロック提案者になるかという重要な問題は、かなりの不確実性がある領域のままです。Orbit SSF非常に最近のもので、Orbit SSFのようなものがエポックとなるスロットとエポックの設計空間はまだ十分に探索されていないことを示唆しています。私たちが持つ選択肢が多ければ多いほど、L1とL2のユーザーのためにより良いことができ、L2の開発者の仕事をより簡単にすることができます。
Поділіться
*元のタイトル「エポックとスロットはすべて下に: Ethereumユーザーにより速いトランザクション確認時間を提供する方法」を転送する
良いブロックチェーンユーザーエクスペリエンスの重要な特性の1つは、迅速な取引確認時間です。今日、イーサリアムは5年前と比べてすでに大幅に改善されています。これは、EIP-1559そして安定したブロックタイムの後マージ,ユーザーがL1で送信した取引は、信頼性があり、5〜20秒以内に確認されます。これは、クレジットカードで支払いをする体験とほぼ競争力があります。ただし、ユーザーエクスペリエンスをさらに向上させる価値があり、数百ミリ秒またはそれ以下の遅延が必要なアプリケーションもあります。この投稿では、イーサリアムが実際のオプションのいくつかについて説明します。
今日、EthereumのGasperコンセンサスはスロットとエポックのアーキテクチャを使用します。各12秒のスロットごとに、一部のバリデータがチェーンのヘッドに投票を行い、32スロット(6.4分)の間にすべてのバリデータが一度投票する機会を得ます。これらの投票は、あいまいなメッセージとして再解釈されます。PBFTのような2つのエポック(12.8分)後に非常に堅固な経済的保証であるファイナリティを提供するコンセンサスアルゴリズム。
過去数年間、私たちは現在のアプローチにますます不快感を抱いてきました。主な理由は、(i) シンプルではなく、スロットごとの投票メカニズムとエポックごとの最終性メカニズムの間に多くの相互作用バグがあり、(ii) 12.8 分はあまりにも長く、誰もその時間を待ちたくないからです。
シングルスロットの確定性は、このアーキテクチャをより類似したメカニズムで置き換えますTendermintコンセンサスTendermintとの主な違いは、ブロックNが作成される前にブロックNが確定することです。イーサリアム非活性漏れ「メカニズムは、バリデータの1/3以上がオフラインになっても、チェーンが続行し、回復することを可能にする。」
主要な提案の図シングルスロットの最終性設計_
SSFの主な課題は、単純には、すべてのイーサリアムステーカーが12秒ごとに2つのメッセージを公開する必要があるように思われるため、それはチェーンが処理する負荷が多くなることです。巧妙なアイデアこれを緩和する方法について、非常に最近の方法を含め、オービットSSF提案です。しかし、これにより「確定性」が速くなり、ユーザーエクスペリエンスが大幅に向上しますが、ユーザーは5〜20秒待つ必要があるという事実は変わりません。
ここ数年、イーサリアムはに従ってきましたロールアップ中心のロードマップ, Ethereumのベースレイヤー(L1)をサポートすることを中心に設計するデータの利用可能性そして、レイヤー2プロトコルなどによって使用されることができる他の機能性があります。ロールアップ(しかし、validiumsそしてプラズマ)は、イーサリアムと同じレベルのセキュリティをユーザーに提供できますが、はるかに高いスケールで行うことができます。
これによって作成されます分離の原則イーサリアムエコシステム内での:イーサリアムL1は検閲耐性、信頼性、安定性を重視し、ある基本レベルの機能の維持と改善に集中することができ、L2は異なる手段でユーザーに直接アプローチすることに重点を置くことができます。文化的そして技術的なトレードオフ。しかし、この道を進むと、避けられない問題が1つ出てきます:L2は、5〜20秒よりもはるかに速く確認したいユーザーにサービスを提供したいと考えています。
今まで、少なくとも言葉遣いでは、L2は自分自身の「分散型順序付け」ネットワークを作成する責任があった。より小さなグループのバリデーターがブロックに署名し、おそらく数百ミリ秒ごとに署名し、これらのブロックに「ステーク」を入れていました。最終的に、これらのL2ブロックのヘッダーがL1に公開されます。
L2バリデーターセットは不正行為を行う可能性があります:まずブロックB1に署名をし、後で矛盾するブロックB2に署名し、B1よりも前にそれをチェーンにコミットすることができます。しかし、これを行うと、彼らは捕まり、デポジットを失うことになります。実際には、これの中心化バージョンを見てきましたが、ロールアップは分散型シーケンスネットワークを開発するのに時間がかかっています。そして、L2全体に分散型シーケンスを要求することは不公平な取引だと主張することができます:基本的にはロールアップに、新しいL1を作成するのとほぼ同じ作業を行うよう求めています。この理由やその他の理由から、Justin DrakeはすべてのL2(およびL1)にEthereum全体で共有の事前確認メカニズムにアクセスする方法を推進しています。ベースのpreconfirmations.
ベースの事前確認アプローチでは、イーサリアム提案者が MEV に関連する理由から非常に洗練されたアクターになると仮定しています (参照 ここMEVの説明については、以下も参照してください実行チケット提案の列)。ベースとなる事前確認アプローチは、これらの洗練された提案者がプリコンファメーションサービスを提供する責任を引き受けることを奨励することで、この洗練されたアプローチを活用しています。
基本的な考えは、ユーザーが追加手数料を提供して取引が次のブロックに含まれることを即座に保証するための標準化されたプロトコルを作成することであり、可能な限りその取引の実行結果についての主張を含めることです。提案者が任意の約束を破ると、その取引者は罰せられます。
述べたように、事前確認に基づいてL1トランザクションに保証を提供します。もしロールアップがベース、その後、すべてのL2ブロックはL1トランザクションであり、同じメカニズムを使用して、どのL2に対しても事前確認を提供することができます。
シングルスロットのファイナリティを実装するとします。使用するオービット-like techniques to reduce the number of validators signing per slot, but not too much, so that we can also make progress on the key goal of reducing the 32 ETH staking minimum. As a result, perhaps the slot time creeps upward, to 16 sec. We then use either rollup preconfirmations, or based preconfirmations, to give users faster assurances. What do we have now? An epoch-and-slot architecture.
「彼らは同じ画像」というミームは、この時点でかなり使い古されているので、私はちょうど数年前に描いたガスパーのスロットとエポックのアーキテクチャを説明するための古い図とL2の事前確認の図を並べて置くことにします。そして、それがポイントを伝えることを願っています。
エポックとスロットのアーキテクチャを回避するのがなぜ難しいのか、深い哲学的な理由があります。何かについておおよその合意に達するのにかかる時間は、それについて最大限に強化された「経済的確定性」の合意に達する時間よりも少なくなるのが本質的です。
ノードの数が理由の一つです。古い直線的な@VitalikButerin"/parametrizing-casper-the-decentralization-finality-time-overhead-tradeoff-3f2011672735">decentralization / finality time / overhead tradeoffは、超最適化されたBLS集約と将来的にはZK-STARKsによって穏やかになっていますが、それでも根本的には真実です:
イーサリアムでは、今日、12秒のスロットが3つのサブスロットに分割されています。(i) ブロックの発行と配布、(ii) アテステーション、および(iii) アテステーションの集約。もしアテスターの数がずっと少ない場合、2つのサブスロットに減らして8秒のスロット時間にすることができます。もう1つ、そして現実的にはもっと大きな要素は、ノードの「品質」です。専門化されたノードのサブセットにもおおよその合意を行わせることができれば(最終的には完全な検証者セットを使用して確定させる)、おそらくそれを約2秒まで短縮することができます。
したがって、(i)スロットとエポックのアーキテクチャは明らかに正しいと感じますが、(ii)すべてのスロットとエポックのアーキテクチャが同じ価値を持っているわけではなく、設計領域をより詳しく探求する価値があります。特に、Gasperのように密接に組み合わされていないオプションや、代わりに2つのメカニズム間の関心の強い分離があるオプションを探索する価値があります。
私の見解では、現時点でL2が採るべき合理的な戦略は3つあります:
一部のアプリケーションでは、(例えば、ENS、キーストア), いくつかの支払い), 12秒のブロックタイムは十分です。それ以外のアプリケーションの場合、唯一の解決策はスロットとエポックのアーキテクチャです。これらの3つのケースでは、「エポック」はイーサリアムのSSF(おそらく「シングルスロット」という頭字語を別の意味に変えることができます。例えば、「セキュアで迅速な確定」となるかもしれません)です。しかし、「スロット」は上記の3つのケースそれぞれで異なるものです:
主要な問題は、カテゴリ(1)のものをどれくらい優れたものにすることができるか、ということです。特に、それが本当に優れたものになれば、カテゴリ(3)はあまり意味を持たなくなるように感じられます。カテゴリ(2)は常に存在します。最低限、何かが「ベース」であるためにはプラズマやバリディアムなどのオフチェーンデータL2には機能しません。しかし、イーサリアムネイティブのスロットとエポックのアーキテクチャが1秒の「スロット」(つまり、事前確認)時間まで短縮できれば、カテゴリ(3)のスペースはかなり小さくなります。
今日、これらの質問に対する最終的な答えを持っているとは程遠い状況です。どの程度高度なブロック提案者になるかという重要な問題は、かなりの不確実性がある領域のままです。Orbit SSF非常に最近のもので、Orbit SSFのようなものがエポックとなるスロットとエポックの設計空間はまだ十分に探索されていないことを示唆しています。私たちが持つ選択肢が多ければ多いほど、L1とL2のユーザーのためにより良いことができ、L2の開発者の仕事をより簡単にすることができます。