Vitalikの新作:イーサリアム The Merge 後のロードマップの潜在的な技術路線

コレクション
現在、楕円曲線に依存している各イーサリアムプロトコル部分は、ハッシュまたは他の量子耐性に基づく代替案を必要としています。

原文タイトル:《Ethereumプロトコルの可能な未来、パート1:ザ・マージ

著者:Vitalik Buterin

翻訳:Tia,Techub News

最初、「ザ・マージ」はプルーフ・オブ・ワークからプルーフ・オブ・ステークへの移行を指していました。現在、イーサリアムはプルーフ・オブ・ステークシステムとして安定して運用されており、プルーフ・オブ・ステークは安定性、パフォーマンス、そして中央集権リスクの回避において非常に優れた成果を上げています。しかし、プルーフ・オブ・ステークにはまだ改善が必要な分野があります。

私が2023年に描いたロードマップには、以下のいくつかの部分が含まれています:技術特性の改善、例えば安定性、パフォーマンス、小規模なバリデーターへのアクセスの向上、そして経済的変革による中央集権リスクへの対処。前者は「ザ・マージ」に含まれる部分であり、後者は「ザ・スカージ」の一部です。

この記事では「ザ・マージ」部分に焦点を当てます:プルーフ・オブ・ステークの技術設計にはどのような改善の余地があり、これらの改善を実現するための方法は何ですか?

これはアイデアのリストであり、プルーフ・オブ・ステークに必要な作業の詳細なリストではないことに注意してください。

シングルスロット最終性とステーキングの民主化

私たちは何の問題を解決しようとしているのか?

現在、1つのブロックを最終的に確定させるには2-3エポック(約15分)が必要であり、ステーキングを行うには32 ETHが必要です。これは、3つの目標の間でバランスを取るための妥協によるものです:

  • ステーキングに参加するバリデーターの数を最大化する(これは直接的にステーキングに必要な最小ETHの数を最小化することを意味します)

  • 最終確定時間を最小化する

  • ノードの運用コストを最小化する

これら3つの目標は相互に対立しています:経済的最終性を実現するためには(つまり、攻撃者が大量のETHを破壊しなければ最終確定したブロックを回復できないようにするためには)、最終確定を実現するたびに各バリデーターが2つのメッセージに署名する必要があります。したがって、多くのバリデーターがいる場合、すべての署名を処理するのに長い時間がかかるか、非常に強力なノード性能が必要になります。

最終的には、攻撃者が成功するためには巨額のコストをかける必要があるという目標にサービスを提供することになります。これが「経済的最終性」という言葉の意味です。この目標を考慮しない場合、私たちは単にランダムに委員会を選択して(例えば、Algorandが行っているように)各スロットを最終確定させることができます。しかし、この方法の問題は、攻撃者が51%のバリデーターを制御できる場合、非常に低コストで攻撃を行うことができることです(最終確定したブロックを取り消したり、検閲したり、最終確定を遅延させたりすることができます):委員会内のその部分のノードだけが攻撃に参加していると見なされ、罰せられることになります。これは、罰金や少数派ソフトフォークによって行われます。つまり、攻撃者はそのチェーンを何度も攻撃することができます。したがって、経済的最終性を実現したい場合、単純な委員会制度は機能しません。

一見すると、すべてのバリデーターが参加する必要があるように思えます。

しかし、理想的には、以下の2つの部分を改善することで経済的最終性を実現できる可能性があります

  1. 1つのスロット内でブロックを完了させる(理想的には、現在の12秒の長さを維持または短縮する)、15分ではなく

  2. バリデーターが1 ETHをステーキングできる(元々は32 ETH)

これらの目標は「イーサリアムのパフォーマンスを(より中央集権的な)パフォーマンス重視のL1に近づける」ことと見なすことができます。

しかし、それでもより高い安全性を保証する最終確定メカニズムを使用して、すべてのイーサリアムユーザーの安全性を確保します。現在、大多数のユーザーはこのレベルの安全性を得ることができません。なぜなら、彼らは15分待つことを望まないからです;シングルスロット最終確定メカニズムを使用すれば、ユーザーは取引を確認した後、ほぼ即座に取引の最終確定を実現できます。次に、ユーザーとアプリケーションがチェーンのロールバックを心配する必要がない場合、プロトコルと周囲のインフラストラクチャを簡素化でき、考慮すべき要素が少なくなります。

2つ目の目標はソロステーキングをサポートするためのものです(ユーザーが機関に依存せずに独立してステーキングすること)。より多くの人々がソロステーキングを行うのを妨げる主な要因は、32 ETHの最低限度です。最低限度を1 ETHに引き下げることで、この問題を解決し、他の問題が個別のステーキングの主な制約要因となるでしょう。

しかし、挑戦があります:より迅速な確定性とより民主的なステーキングは、コストの最小化と対立しています。これが、最初からシングルスロット最終性を採用しなかった理由です。しかし、最近の研究はこの問題を解決するいくつかの可能な方法を提案しています。

それは何であり、どのように機能するのか?

シングルスロット最終性は、1つのスロット内でブロックを最終的に確定させるコンセンサスアルゴリズムを指します。これは実現が難しい目標ではありません:多くのアルゴリズム(例えばTendermintコンセンサス)は、最適な特性を持ってこれを実現しています。しかし、イーサリアム独自の「++非活動漏れ++」特性は、Tendermintにはありません。この特性により、イーサリアムは1/3以上のバリデーターがオフラインであっても、引き続き運用し、最終的に復元することができます。幸いなことに、現在この特性を実現するための解決策があります:提案がすでに存在しますTendermintスタイルのコンセンサスを非活動漏れに適応させるためのものです。

シングルスロット最終性提案

最も難しい部分は、バリデーターの数が非常に多い場合にシングルスロット最終性を機能させる方法を見つけることであり、同時にノード運営者のコストを極端に高くしないことです。現在、いくつかの解決策があります:

  • オプション1:ブルートフォース------より良い署名集約プロトコルを実現するために努力し、ZK-SNARKsを使用することで、実際に各スロット内で数百万のバリデーターの署名を処理できるようにします。

Horn、集約の最適化プロトコル設計の1つ

  • オプション2: オービット委員会 中型の委員会をランダムに選択してチェーンの最終性を決定する新しいメカニズムですが、高い経済的攻撃コストを持つ必要があります。

オービットSSFを考える一つの方法は、経済的最終性を持たないAlgorandスタイルの委員会のようにすることなく、ある程度高い経済的攻撃コストを実現する妥協オプションを開くことです。これにより、イーサリアムは非常に安全であるための十分な経済的最終性を維持しつつ、シングルスロットの効率を向上させることができます。

オービットは、バリデーターの預金規模に事前に存在する異質性を利用して、可能な限り多くの経済的最終性を得ると同時に、小型バリデーターに相応の役割を与えて参加させます。さらに、オービットは隣接する法定人数間の高度な重複を確保するために、緩やかな委員会のローテーションメカニズムを使用しており、そのため経済的最終性は委員会のローテーション時にも適用されます。

  • オプション3:二層ステーキング、このメカニズムは、ステーキング者を2つのカテゴリに分け、一方は預金要件が高く、もう一方は預金要件が低いものです。預金要件が高い層のステーキング者のみが直接的な経済的最終性を持ちます。いくつかの提案がすでに存在します(例えば、レインボーステーキングの投稿を参照)低い層の預金ステーキング者が必要とする権利と責任を具体化しています。一般的なアイデアには以下が含まれます:

  • より高い層の権利を持つ者に権益を委託する

  • 低い層のステーキング者をランダムに抽出して各ブロックを証明し、最終確定させる

  • インクルージョンリストを生成する権利

既存の研究との関連は何ですか?

まだ何をする必要があるのか?どのようなトレードオフがあるのか?

選択肢は4つあります(混合パスを取ることもできます):

  1. 現状維持

  2. オービットSSF

  3. ブルートフォースSSF

  4. 二層ステーキングメカニズムを持つSSF

(1)は何もせずにそのまま維持することを意味しますが、これによりイーサリアムのセキュリティ体験とステーキングの中央集権属性が本来の状態よりも悪化します。

(2)は「ハイテク」を避け、プロトコルの仮定を巧妙に再考することで問題を解決します:私たちは「経済的最終性」の要件を緩和し、攻撃が高価であることを要求しますが、攻撃コストは現在の10分の1になる可能性があります(例えば、攻撃コストが250億ドルではなく25億ドル)。人々は一般的に、現在のイーサリアムの経済的最終性が必要なレベルをはるかに超えていると考えており、その主要なセキュリティリスクは他の場所にあるため、これは受け入れ可能な犠牲であると言えます。

主な作業は、オービットメカニズムが安全であり、私たちが望む特性を持っているかどうかを検証し、それを完全に形式化して実装することです。さらに、EIP-7251(最大有効残高の増加)は、ザ・マージのバリデーター残高を自発的に増加させ、チェーンのバリデーションコストを即座に削減し、オービットの効果的な初期段階として機能します。

(3)はハイテクを用いて問題を強引に解決します。これを実現するには、非常に短い時間内(5-10秒)に大量の署名(100万以上)を収集する必要があります。

(4)は、過度にメカニズムを考えずに高い技術を使用せずに二層のステーキングシステムを作成しますが、それでも中央集権リスクを持ちます。リスクは、低いステーキング層が得る特定の権利に大きく依存します。例えば:

  • 低いステーキング者がその証明権を委託する必要がある場合、委託が中央集権化する可能性があり、最終的には2つの高度に集中したステーキング層が生まれます。

  • 低い層をランダムに抽出して各ブロックを承認する必要がある場合、攻撃者は非常に少ないETHで最終確定を妨害できます。

  • 低いレベルのステーキング者がインクルージョンリストを作成することしかできない場合、証明層は中央集権化されたままとなり、この場合、証明層への51%攻撃がインクルージョンリスト自体を検閲することができます。

複数の戦略を組み合わせることができます。例えば:

(1 + 2):オービットを追加するが、シングルスロット最終性を実行しない

(1 + 3):強力な技術を使用して最小預金額を削減するが、シングルスロット最終性を実行しない。必要な集約量は純粋な(3)よりも64倍少ないため、問題はより簡単になります。

(2 + 3):保守的なパラメータを使用してオービットSSFを実行し(例えば、8kまたは32kではなく128kのバリデーター委員会)、ブルートフォース技術を使用して超効率的にします。

(1 + 4):レインボーステーキングを追加するが、シングルスロット最終確認を行わない

それは他のロードマップの部分とどのように相互作用するのか?

他の利点に加えて、シングルスロット最終性は特定のタイプのマルチブロックMEV攻撃のリスクを低下させます。さらに、シングルスロット最終性の世界では、証明者-提案者分離設計や他のプロトコル内のブロック生成メカニズムは異なる方法で設計する必要があります。

ブルートフォースで目標を達成することの弱点は、スロット時間を短縮することがより困難になることです。

単一秘密リーダー選挙

私たちは何の問題を解決しようとしているのか?

現在、次のブロックを提案するバリデーターが誰であるかは事前に知ることができます。これにより、セキュリティの脆弱性が生じます:攻撃者はネットワークを監視し、どのバリデーターがどのIPアドレスに対応しているかを特定し、バリデーターがブロックを提案しようとする際にDoS攻撃を仕掛けることができます。

それは何であり、どのように機能するのか?

DoS問題を解決する最良の方法は、次のブロックを生成するバリデーターが誰であるかの情報を隠すことです(少なくともブロックが実際に生成される前に)。「単一」という要件(1つの当事者が次のブロックを生成する)を考慮しない場合、1つの解決策は、誰でも次のブロックを作成できるようにすることですが、これはrandao revealが2 (256) / N未満である必要があります。一般的には、1人のバリデーターのみがこの要件を満たすことができます(ただし、時には2人以上、または時には誰もいないこともあります)。したがって、「秘密」要件と「単一」要件を組み合わせることは常に難題でした。

単一秘密リーダー選挙プロトコルは、いくつかの暗号技術を使用して各バリデーターに「盲」バリデーターIDを作成し、多くの提案者が盲IDプールをシャッフルして再盲化する機会を持つことで(これはミックスネットの動作方法に似ています)、この問題を解決します。各スロット内で、ランダムな盲IDが選択されます。盲IDの所有者だけが有効な証明を生成してブロックを提案できますが、誰もその盲IDがどのバリデーターに対応しているかを知りません。

Whisk SSLEプロトコル

既存の研究との関連は何ですか?

まだ何をする必要があるのか?どのようなトレードオフがあるのか?

実際には、十分にシンプルなプロトコルを見つけて実装することが残っています。私たちはイーサリアムのシンプルさを非常に重視しており、複雑さがさらに増すことを望んでいません。私たちが見ているSSLEの実装は、数百行の仕様コードを追加し、複雑な暗号に新しい仮定を導入しています。十分に効果的な量子耐性SSLEの実装を見つけることも未解決の問題です。

最終的には、他の理由(例えば、状態木、ZK-EVM)から大胆に試みてL1のイーサリアムプロトコルに一般的なゼロ知識証明を実行するメカニズムを導入する場合にのみ、SSLEの「限界的追加複雑性」が十分に低いレベルに下がる可能性があります。

別の選択肢は、SSLEを無視し、プロトコル外の緩和策(例えば、p2p層で)を使用してDoS問題を解決することです。

それは他のロードマップの部分とどのように相互作用するのか?

もし私たちが証明者-提案者分離(APS)メカニズムを追加するなら、例えば実行チケットのように、実行ブロック(つまり、イーサリアム取引を含むブロック)はSSLEを必要としません。なぜなら、私たちは専用のブロックビルダーに依存できるからです。しかし、コンセンサスブロック(つまり、プロトコルメッセージ(例えば、証明、リストを含む可能性がある部分など)を含むブロック)については、私たちは依然としてSSLEの恩恵を受けることになります。

より迅速な取引確認

私たちは何の問題を解決しようとしているのか?

イーサリアムの取引確認時間をさらに短縮することは価値があります。12秒から4秒に短縮することで、L1とロールアップベースのユーザー体験が大幅に改善され、DeFiプロトコルがより効率的になります。また、L2の去中心化が容易になり、大量のL2アプリケーションがロールアップに基づいて実行できるようになり、L2が独自の委員会ベースの去中心化ソートを構築する必要が減ります。

それは何であり、どのように機能するのか?

ここには大きく分けて2つの技術があります:

  1. スロット時間を短縮する、例えば8秒または4秒に短縮します。これは必ずしも4秒の最終性を意味するわけではありません:最終性自体は3ラウンドの通信を必要とするため、各ラウンドの通信を1つのブロックとして設定し、4秒後に少なくとも初期確認を得ることができます。

  2. 提案者がスロット期間中に事前確認を発行することを許可します。極端な場合、提案者はリアルタイムで彼らが見た取引をブロックに含め、各取引に対して即座に事前確認メッセージを発行できます(「私の最初の取引は0×1234…」、「私の2番目の取引は0×5678…」)。提案者が互いに矛盾する確認を発行する場合は、2つの方法で対処できます:(i) 提案者を罰する、または (ii) 証人がどちらが早いかを投票で決定します。

既存の研究との関連は何ですか?

まだ何をする必要があるのか?どのようなトレードオフがあるのか?

現在、スロット時間を短縮することの実現可能性は不明です。今日の時点でも、世界の多くの地域のバリデーターは、十分な速さで証明を得ることが困難です。4秒のスロット時間を試みることには、バリデーターの集中心化のリスクがあり、遅延のために特権的な地域以外でバリデーターになることは非現実的です。

提案者の事前確認方法の弱点は、平均的な状況の包含時間を大幅に改善できる一方で、最悪の状況を改善できないことです:現在の提案者が正常に機能している場合、あなたの取引は0.5秒以内に事前確認されますが、(平均的に)6秒以内に含まれることはありません。しかし、現在の提案者がオフラインまたは正常に機能していない場合、次のスロットが開始され、新しい提案者を提供するまで、あなたは12秒待たなければなりません。

さらに、事前確認をどのように奨励するかという未解決の問題があります。提案者は、可能な限り長く選択肢を最大化する動機があります。もし証人が事前確認のタイムリーさに署名すれば、取引送信者は部分的な手数料を即座に事前確認することを条件にすることができますが、これは証人に追加の負担をかけ、証人が中立的な「ダムパイプ」として機能し続けることを難しくする可能性があります。

一方で、私たちがそうしようとせず、最終確認時間を12秒(またはそれ以上)に保つなら、エコシステムはL2の事前確認メカニズムをより重視し、L2間の相互作用により長い時間がかかることになります。

それは他のロードマップの部分とどのように相互作用するのか?

提案者に基づく事前確認は、実際には証明者-提案者分離(APS)メカニズムに依存しています。例えば実行チケット。そうでなければ、通常のバリデーターにリアルタイムの事前確認を提供する圧力は過度に集中する可能性があります。

他の研究分野

51%攻撃の回復

一般的に、51%攻撃(暗号的証明ができない攻撃、例えば検閲制度を含む)が発生した場合、コミュニティは協力して少数派ソフトフォークを実施し、善人が勝ち、悪人は不活動によって漏洩または罰せられると考えられています。しかし、この程度の社交層への過度の依存は不健康であると言えます。私たちは、回復プロセスを可能な限り自動化することで、社交層への依存を減らすことができます。

完全な自動化は不可能です。なぜなら、完全に自動化されると、それは耐障害率>50%のコンセンサスアルゴリズムに相当し、この種のアルゴリズムの(非常に厳格な)数学的証明の限界が知られているからです。しかし、私たちは部分的な自動化を実現することができます:例えば、クライアントが長時間見ていた取引を検閲した場合、自動的にそのチェーンを最終的なものとして受け入れない、あるいはフォーク選択のヘッドとして受け入れないことができます。重要な目標は、攻撃者が少なくとも迅速に徹底的な勝利を得ることができないようにすることです。

法定人数の閾値を引き上げる

現在、67%のステーキング者が支持すれば、ブロックは最終的に確定します。この方法は過激すぎると考える人もいます。イーサリアムの歴史全体で、最終的な確定性の失敗は1回(非常に短期間)しかありません。この割合を80%に引き上げると、増加する非最終確定性の期間は比較的少なくなりますが、イーサリアムはセキュリティを得ることになります:特に、多くのより議論の余地のある状況が最終確定性の一時停止を引き起こすことになります。これは、「誤った側」が即座に勝つよりも健康的な状況であるように思えます。誤った側が攻撃者であれ、クライアントに誤りがあれ。

これにより、「ソロステーキング者の意義は何か」という質問にも答えられます。現在、大多数のステーキング者はステーキングプールを通じてステーキングを行っており、個別のステーキング者が51%に達する可能性は非常に小さいようです。しかし、もし私たちが努力すれば、個別のステーキング者が法定人数を阻止する少数派に達することは、特に法定人数が80%であれば(したがって法定人数が少数派を阻止するのに必要なのは21%だけです)実現可能であるように思えます。個別のステーキング者が51%攻撃に参加しない限り(最終確定性の逆転や検閲制度に関わらず)、この攻撃は「クリーンな勝利」を得ることはなく、個別のステーキング者は少数派のソフトフォークを組織する手助けをする動機を持つことになります。

量子攻撃への耐性

Metaculusは現在、量子コンピュータが2030年代のある時点で暗号を破る可能性があると考えています:

量子計算の専門家であるScott Aaronsonなどは、最近、量子コンピュータが中期的に実際に機能する可能性について真剣に考え始めています。これは、イーサリアムの全体的なロードマップに影響を与えます:これは、現在楕円曲線に依存しているすべてのイーサリアムプロトコル部分が、ハッシュまたは他の量子耐性の代替案を必要とすることを意味します。これは特に、私たちがBLS集約の優れた性能に永遠に依存できると仮定できないことを意味します。これは、プルーフ・オブ・ステーク設計の性能仮定における保守性が合理的であることを証明し、量子耐性の代替案をより積極的に開発する理由でもあります。

ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する