Forward the Original Title‘Epochs and slots all the way down: ways to give Ethereum users faster transaction confirmation times’
優れたブロックチェーンユーザーエクスペリエンスの重要な特性の1つは、迅速な取引確認時間です。 今日、イーサリアムは5年前と比較してすでに大幅に改善されています。 その要因は、EIP-1559そして安定したブロック時間の後マージ,ユーザーがL1で送信した取引は、信頼性を持って5〜20秒以内に確認されます。これは、クレジットカードで支払いをするときの体験とほぼ競争力があります。ただし、ユーザーエクスペリエンスをさらに向上させる価値があり、数百ミリ秒またはそれ以下の遅延を必要とするアプリケーションもあります。この投稿では、Ethereumにあるいくつかの実用的なオプションについて説明します。
今日、イーサリアムのガスパーコンセンサスはスロットとエポックのアーキテクチャを使用しています。各12秒のスロットごとに、一部のバリデータがチェーンのヘッドに投票を行い、32スロット(6.4分)の間に、すべてのバリデータが一度投票する機会を得ます。これらの投票は、曖昧なメッセージとして再解釈されます。PBFTのようなコンセンサスアルゴリズムは、2つのエポック(12.8分)後に非常に厳しい経済的保証であるファイナリティを提供します。
ここ数年で、現在のアプローチにますます不快感を覚えています。主な理由は、(i) 複雑であり、スロット毎の投票メカニズムとエポック毎の最終性メカニズムの間に多くの相互作用のバグがあること、および (ii) 12.8分はあまりにも長く、誰もその長さを待ちたがりません。
シングルスロットファイナリティは、このアーキテクチャを、より類似したメカニズムに置き換えますTendermintコンセンサス, Tendermintとの主な逸脱点は、ブロックNが作成される前にブロックNが確定されることです。インアクティビティリーク「メカニズムは、チェーンが続行し、もし検証者の1/3以上がオフラインになった場合には回復できるようにするものです。
主要な提案の図シングルスロット最終性設計_
SSFの主な課題は、単純には、すべてのイーサリアムステーカーが12秒ごとに2つのメッセージを公開する必要があるように思われることであり、これはチェーンが処理するために多くの負荷になるでしょう。クレバーなアイデアこれを軽減する方法、特に最近の方法Orbit SSF提案。 ただし、これにより「最終性」が速くなり、UXが大幅に向上しますが、ユーザーは5〜20秒待つ必要があるという事実は変わりません。
ここ数年、イーサリアムはに続いていますロールアップ中心のロードマップ, イーサリアムベースレイヤー(「L1」と呼ばれる)をサポートすることを中心に設計することデータの利用可能性および他の機能、その後、層2プロトコルによって使用される可能性がありますロールアップ(but alsovalidiumsそしてプラズマ) これにより、ユーザーにイーサリアムと同じレベルのセキュリティを提供できますが、はるかに高いスケールです。
これは作成します関心の分離イーサリアムエコシステム内: イーサリアム L1 は検閲耐性、信頼性、安定性に焦点を当て、一定の基本的な機能のコアを維持し向上させることに焦点を当て、L2 はより直接ユーザーに到達することに焦点を当てることができます - 両方を通じて異なるカルチュラルそして技術的なトレードオフ。しかし、この道を進むと、避けられない問題が1つ発生します:L2sは、5-20秒よりもはるかに速い確認を希望するユーザーにサービスを提供したいと考えています。
これまで、少なくとも retoric では、L2s は独自の「分散型シーケンシング」ネットワークを作成する責任がありました。より小さなグループのバリデータがブロックに署名し、おそらく数百ミリ秒ごとに1回、そしてそれらのブロックに「ステーク」を入れます。最終的に、これらの L2 ブロックのヘッダーが L1 に公開されます。
L2バリデーターセットは、最初にブロックB1に署名し、次に競合するブロックB2に署名し、B1の前のチェーンにコミットすることができます。しかし、これを行うと、捕まり、預金を失うことになります。実際には、これの中央集権的なバージョンが見られますが、ロールアップは分散型シーケンシングネットワークの開発に時間がかかりました。また、すべての L2 に分散シーケンシングを要求するのは不公平な取引であり、ロールアップに基本的に新しい L1 全体を作成するのとほぼ同じ作業を行うよう求めていると主張することもできます。このような理由から、Justin Drake氏は、すべてのL2(およびL1)に、イーサリアム全体で共有される事前確認メカニズムへのアクセスを提供する方法を推進しています。ベースの事前確認.
ベースの事前確認アプローチは、Ethereumの提案者がMEVに関連する理由から非常に洗練された行為者になると仮定しています(参照ここMEVの説明については、また、見てください実行チケット提案のライン)。ベースとなる事前確認アプローチは、この洗練された技術を活用し、これらの洗練された提案者が事前確認サービスの提供の責任を受け入れることを促進します。
基本的なアイデアは、ユーザーが追加料金を提供して、トランザクションが次のブロックに含まれることを即座に保証するための標準化されたプロトコルを作成することです。実行されるトランザクションに関する結果についての主張も含まれる可能性があります。提案者がユーザーに対して行う約束を破ると、罰金を科されることがあります。
述べたように、ベースの事前確認はL1取引に保証を提供します。ロールアップが「ベース」その後、すべてのL2ブロックはL1トランザクションであり、したがって、同じメカニズムを使用して、任意のL2に事前確認を提供することができます。
シングルスロットファイナリティを実装するとします。私たちはオービット-like techniquesを使用して、スロットごとに署名するバリデータの数を減らしますが、あまり多くはならないようにして、32 ETHのステーキング最小額を削減するという主要な目標にも進展できるようにします。その結果、おそらくスロット時間が上昇し、16秒になります。その後、ロールアップの事前確認、またはベースの事前確認を使用して、ユーザーにより速い確認を提供します。今、何を持っていますか?エポックとスロットのアーキテクチャです。
「彼らは同じ絵だ」というミームはこの時点でかなり使い古されているので、私は単に数年前に描いたガスパーのスロットとエポックのアーキテクチャを説明する古い図と、L2の事前確認の図を並べてみます。そうすればポイントが伝わるといいのです。
エポックとスロットのアーキテクチャが避けられないように見えるのは、何かについておおよその合意に達するのにかかる時間が、それについて経済的な最終的な合意をするよりも少ない時間がかかるから、という深い哲学的な理由があるようです。
ノード数が理由の1つです。古い線形 @VitalikButerin"/parametrizing-casper-the-decentralization-finality-time-overhead-tradeoff-3f2011672735">decentralization / finality time / overhead tradeoffが、ハイパーオプティマイズされたBLS集約と近い将来のZK-STARKsによって緩和されていますが、根本的に真実であることは変わりません。
イーサリアムでは、今日の12秒スロットは、(i)ブロックの公開と配布、(ii)アテステーション、および(iii)アテステーションの集約に分割されています。 アテスター数がはるかに少ない場合、2つのサブスロットに減らし、8秒スロット時間にすることができます。 もう1つの、そして現実的にはより大きな要因は、ノードの「品質」です。 近似合意を専門化されたノードのサブセットに頼ることもできれば(最終的には完全な検証者セットを使用して確定)、それを約2秒に短縮することが可能です。
したがって、スロットとエポックのアーキテクチャは明らかに正しいと感じますが、すべてのスロットとエポックのアーキテクチャが同じ価値であるわけではなく、設計空間をより十分に探ることに価値があります。特に、Gasperのように密接に絡み合っていないオプションを探る価値があり、代わりにこれらの2つのメカニズムの間により強い関心の分離がある場合です。
私の見解では、現時点でL2が取るのに合理的な戦略は3つあります:
一部のアプリケーションでは、(例:ENS, キーストア)、一部の支払い)、12秒のブロック時間は十分です。そうでないアプリケーションの場合、唯一の解決策はスロットとエポックのアーキテクチャです。すべての場合において、「エポック」はイーサリアムのSSF(たぶん、「シングルスロット」という頭字語を「Secure Speedy Finality」以外の意味に改変することができます)。しかし、上記の3つのケースそれぞれで「スロット」は異なるものです。
カテゴリ(1)で何をどれほど良くすることができるかは重要な問題です。特に、本当に優れたものになれば、カテゴリ(3)はあまり意味を持たなくなるように感じられます。カテゴリ(2)は常に存在するでしょう。少なくとも、「ベースとなる」ものはプラズマやヴァリディウムなどのオフチェーンデータL2には適していません。しかし、イーサリアム固有のスロットとエポックのアーキテクチャが1秒の「スロット」(つまり、事前確認)時間まで短縮できる場合、カテゴリ(3)のスペースはかなり小さくなります。
今日、これらの質問に最終的な答えを持つには遠く及んでいます。鍵となる質問 - ブロック提案者がどのように洗練されるか - は、かなりの不確実性がある領域のままです。オービットSSF非常に最近ですが、Orbit SSFのようなエポックがまだかなり未開拓であるスロットとエポックデザインの設計空間を示唆しています。我々が持つ選択肢が多ければ多いほど、L1およびL2の両方のユーザーのためにより良いことができ、L2開発者の仕事をより簡単にすることができます。
Forward the Original Title‘Epochs and slots all the way down: ways to give Ethereum users faster transaction confirmation times’
優れたブロックチェーンユーザーエクスペリエンスの重要な特性の1つは、迅速な取引確認時間です。 今日、イーサリアムは5年前と比較してすでに大幅に改善されています。 その要因は、EIP-1559そして安定したブロック時間の後マージ,ユーザーがL1で送信した取引は、信頼性を持って5〜20秒以内に確認されます。これは、クレジットカードで支払いをするときの体験とほぼ競争力があります。ただし、ユーザーエクスペリエンスをさらに向上させる価値があり、数百ミリ秒またはそれ以下の遅延を必要とするアプリケーションもあります。この投稿では、Ethereumにあるいくつかの実用的なオプションについて説明します。
今日、イーサリアムのガスパーコンセンサスはスロットとエポックのアーキテクチャを使用しています。各12秒のスロットごとに、一部のバリデータがチェーンのヘッドに投票を行い、32スロット(6.4分)の間に、すべてのバリデータが一度投票する機会を得ます。これらの投票は、曖昧なメッセージとして再解釈されます。PBFTのようなコンセンサスアルゴリズムは、2つのエポック(12.8分)後に非常に厳しい経済的保証であるファイナリティを提供します。
ここ数年で、現在のアプローチにますます不快感を覚えています。主な理由は、(i) 複雑であり、スロット毎の投票メカニズムとエポック毎の最終性メカニズムの間に多くの相互作用のバグがあること、および (ii) 12.8分はあまりにも長く、誰もその長さを待ちたがりません。
シングルスロットファイナリティは、このアーキテクチャを、より類似したメカニズムに置き換えますTendermintコンセンサス, Tendermintとの主な逸脱点は、ブロックNが作成される前にブロックNが確定されることです。インアクティビティリーク「メカニズムは、チェーンが続行し、もし検証者の1/3以上がオフラインになった場合には回復できるようにするものです。
主要な提案の図シングルスロット最終性設計_
SSFの主な課題は、単純には、すべてのイーサリアムステーカーが12秒ごとに2つのメッセージを公開する必要があるように思われることであり、これはチェーンが処理するために多くの負荷になるでしょう。クレバーなアイデアこれを軽減する方法、特に最近の方法Orbit SSF提案。 ただし、これにより「最終性」が速くなり、UXが大幅に向上しますが、ユーザーは5〜20秒待つ必要があるという事実は変わりません。
ここ数年、イーサリアムはに続いていますロールアップ中心のロードマップ, イーサリアムベースレイヤー(「L1」と呼ばれる)をサポートすることを中心に設計することデータの利用可能性および他の機能、その後、層2プロトコルによって使用される可能性がありますロールアップ(but alsovalidiumsそしてプラズマ) これにより、ユーザーにイーサリアムと同じレベルのセキュリティを提供できますが、はるかに高いスケールです。
これは作成します関心の分離イーサリアムエコシステム内: イーサリアム L1 は検閲耐性、信頼性、安定性に焦点を当て、一定の基本的な機能のコアを維持し向上させることに焦点を当て、L2 はより直接ユーザーに到達することに焦点を当てることができます - 両方を通じて異なるカルチュラルそして技術的なトレードオフ。しかし、この道を進むと、避けられない問題が1つ発生します:L2sは、5-20秒よりもはるかに速い確認を希望するユーザーにサービスを提供したいと考えています。
これまで、少なくとも retoric では、L2s は独自の「分散型シーケンシング」ネットワークを作成する責任がありました。より小さなグループのバリデータがブロックに署名し、おそらく数百ミリ秒ごとに1回、そしてそれらのブロックに「ステーク」を入れます。最終的に、これらの L2 ブロックのヘッダーが L1 に公開されます。
L2バリデーターセットは、最初にブロックB1に署名し、次に競合するブロックB2に署名し、B1の前のチェーンにコミットすることができます。しかし、これを行うと、捕まり、預金を失うことになります。実際には、これの中央集権的なバージョンが見られますが、ロールアップは分散型シーケンシングネットワークの開発に時間がかかりました。また、すべての L2 に分散シーケンシングを要求するのは不公平な取引であり、ロールアップに基本的に新しい L1 全体を作成するのとほぼ同じ作業を行うよう求めていると主張することもできます。このような理由から、Justin Drake氏は、すべてのL2(およびL1)に、イーサリアム全体で共有される事前確認メカニズムへのアクセスを提供する方法を推進しています。ベースの事前確認.
ベースの事前確認アプローチは、Ethereumの提案者がMEVに関連する理由から非常に洗練された行為者になると仮定しています(参照ここMEVの説明については、また、見てください実行チケット提案のライン)。ベースとなる事前確認アプローチは、この洗練された技術を活用し、これらの洗練された提案者が事前確認サービスの提供の責任を受け入れることを促進します。
基本的なアイデアは、ユーザーが追加料金を提供して、トランザクションが次のブロックに含まれることを即座に保証するための標準化されたプロトコルを作成することです。実行されるトランザクションに関する結果についての主張も含まれる可能性があります。提案者がユーザーに対して行う約束を破ると、罰金を科されることがあります。
述べたように、ベースの事前確認はL1取引に保証を提供します。ロールアップが「ベース」その後、すべてのL2ブロックはL1トランザクションであり、したがって、同じメカニズムを使用して、任意のL2に事前確認を提供することができます。
シングルスロットファイナリティを実装するとします。私たちはオービット-like techniquesを使用して、スロットごとに署名するバリデータの数を減らしますが、あまり多くはならないようにして、32 ETHのステーキング最小額を削減するという主要な目標にも進展できるようにします。その結果、おそらくスロット時間が上昇し、16秒になります。その後、ロールアップの事前確認、またはベースの事前確認を使用して、ユーザーにより速い確認を提供します。今、何を持っていますか?エポックとスロットのアーキテクチャです。
「彼らは同じ絵だ」というミームはこの時点でかなり使い古されているので、私は単に数年前に描いたガスパーのスロットとエポックのアーキテクチャを説明する古い図と、L2の事前確認の図を並べてみます。そうすればポイントが伝わるといいのです。
エポックとスロットのアーキテクチャが避けられないように見えるのは、何かについておおよその合意に達するのにかかる時間が、それについて経済的な最終的な合意をするよりも少ない時間がかかるから、という深い哲学的な理由があるようです。
ノード数が理由の1つです。古い線形 @VitalikButerin"/parametrizing-casper-the-decentralization-finality-time-overhead-tradeoff-3f2011672735">decentralization / finality time / overhead tradeoffが、ハイパーオプティマイズされたBLS集約と近い将来のZK-STARKsによって緩和されていますが、根本的に真実であることは変わりません。
イーサリアムでは、今日の12秒スロットは、(i)ブロックの公開と配布、(ii)アテステーション、および(iii)アテステーションの集約に分割されています。 アテスター数がはるかに少ない場合、2つのサブスロットに減らし、8秒スロット時間にすることができます。 もう1つの、そして現実的にはより大きな要因は、ノードの「品質」です。 近似合意を専門化されたノードのサブセットに頼ることもできれば(最終的には完全な検証者セットを使用して確定)、それを約2秒に短縮することが可能です。
したがって、スロットとエポックのアーキテクチャは明らかに正しいと感じますが、すべてのスロットとエポックのアーキテクチャが同じ価値であるわけではなく、設計空間をより十分に探ることに価値があります。特に、Gasperのように密接に絡み合っていないオプションを探る価値があり、代わりにこれらの2つのメカニズムの間により強い関心の分離がある場合です。
私の見解では、現時点でL2が取るのに合理的な戦略は3つあります:
一部のアプリケーションでは、(例:ENS, キーストア)、一部の支払い)、12秒のブロック時間は十分です。そうでないアプリケーションの場合、唯一の解決策はスロットとエポックのアーキテクチャです。すべての場合において、「エポック」はイーサリアムのSSF(たぶん、「シングルスロット」という頭字語を「Secure Speedy Finality」以外の意味に改変することができます)。しかし、上記の3つのケースそれぞれで「スロット」は異なるものです。
カテゴリ(1)で何をどれほど良くすることができるかは重要な問題です。特に、本当に優れたものになれば、カテゴリ(3)はあまり意味を持たなくなるように感じられます。カテゴリ(2)は常に存在するでしょう。少なくとも、「ベースとなる」ものはプラズマやヴァリディウムなどのオフチェーンデータL2には適していません。しかし、イーサリアム固有のスロットとエポックのアーキテクチャが1秒の「スロット」(つまり、事前確認)時間まで短縮できる場合、カテゴリ(3)のスペースはかなり小さくなります。
今日、これらの質問に最終的な答えを持つには遠く及んでいます。鍵となる質問 - ブロック提案者がどのように洗練されるか - は、かなりの不確実性がある領域のままです。オービットSSF非常に最近ですが、Orbit SSFのようなエポックがまだかなり未開拓であるスロットとエポックデザインの設計空間を示唆しています。我々が持つ選択肢が多ければ多いほど、L1およびL2の両方のユーザーのためにより良いことができ、L2開発者の仕事をより簡単にすることができます。