今年の半ば頃、金銭的価値の点でXNUMX番目に大きなブロックチェーンであり、運用に応じて数千億ドル相当の資産を持つイーサリアムは、今日のシステムを保護するプルーフオブワークコンセンサスアルゴリズムから移行します。 、明日のプルーフオブステークシステムへ–飛行機の飛行中に飛行機のエンジンを交換すると多くの人が説明する手順。 イーサリアムは、いかなる状況においても、有効なブロックの生成を停止することはできません。
たとえば、ほとんどのブロックチェーンとは異なり、 Bitcoin、イーサリアム財団によって奨励されたイーサリアムの開発者コミュニティ(EF)およびコミュニティの著名人の多くは、のプロトコルを実装するクライアントソフトウェアのいくつかのバージョンを開発することに同意しました ステークフル・オブ・ステーク コンセンサスブロックチェーン。イーサリアム2.0と呼ばれることもあります。 クライアントソフトウェアのさまざまなバージョンは、プログラミング言語とそれらを開発する個々のチームによって分離されています。
マージ後、XNUMX種類のノードがあります
移行は、合併であり、多くの場合、単に合併と呼ばれます。 Ethereum サブセットがマイナーとして機能する今日のネットワークノードと、2020年XNUMX月からすでに稼働しているいわゆるビーコンチェーンを実行しているノード。同時に、ノードの職務が分離されます。 現在、ノードはトランザクションの実行とそれらの同じトランザクションの検証の両方を実行します。
マージ後、XNUMXつのタイプのノードがあります。XNUMXつのタイプはイーサリアム仮想マシンを提示し、 EVM、ユーザーとスマートコントラクトにトランザクションを実行し、それらを検証ノードに送信して検証します。 実行チェーン上の実行ノードは、検証がコンセンサスチェーン上のバリデーターノードによって処理されることを除いて、基本的に現在と同じ役割を果たします。
XNUMXつのタイプのクライアントは、同じプログラミング言語で開発されており、実行クライアントがマージに対応するためにわずかに更新されているため、いくつかのコードを共有します。 EVMなどの実行クライアントのほとんどの部分は、わずかな変更を加えて再利用できます。 最終的に、実行クライアントは、現在の検証を行うコードの部分を完全に削除する可能性があります 実績 チェーン。
したがって、マージは、実際にはXNUMXつのチェーンがXNUMXつになるという常識的なマージではなく、特定の時点で、正確には特定のブロックの高さで、今日のノードはトランザクションの検証を停止します。代わりに、バリデーターによって実行されます。 これは、職務を異なる論理層に分離することによる堅牢性の古典的な強化です。
66人のクライアントのXNUMX%は、ゲームオーバーを意味する可能性があります
複数のクライアントソフトウェアを使用する理由は、同じコードやプログラミング言語を共有していないため、クライアントのXNUMXつに障害、バグ、または脆弱性が他のクライアントに影響を与えないためです。
たとえば、ビットコインではこれが当てはまらない理由を尋ねるのは公正です。 その理由は、ビットコインプロトコルとその実装がイーサリアムのプロトコルと比較して非常に単純だからです。 イーサリアムはビットコインよりも桁違いに複雑なマシンであり、本質的に複雑さが増すということは、脆弱性のリスクが高くなり、攻撃対象領域が増えることを意味します。
これは、さまざまなクライアントの分散が均等またはほぼ均等である限り、特にネットワークのステーキングパワーの33%以上が66つのクライアントを使用しない限り、すべて問題ありません。 そうでない場合、そして確かにXNUMXつのクライアントがステーキングパワーのXNUMX%以上で使用されている場合(今日の場合)、クライアントごとに異なるコードベースを使用するという考え全体はほとんど役に立ちません。
さまざまなディストリビューションがネットワークの運用にさまざまな影響を与える可能性があるという雑草にあまり踏み込むことなく、深刻なバグがステーキングパワーのXNUMX/XNUMX未満でクライアントを襲った場合、害はないということで十分です。 ネットワークは問題なく動作し続けます。 バグは修正され、すべてが通常に戻ります。
ステーキングパワーのXNUMX/XNUMXからXNUMX/XNUMXのクライアントに同じことが起こった場合、それはもう少し深刻ですが、ユーザーは気付かないでしょう。 さまざまな種類の自動メカニズムがそれを処理します。 深刻なバグがステーキングパワーのXNUMX/XNUMXを超えるクライアントを襲った場合、多くのメカニズムが自動的に実行され、最終的に状況が改善されますが、ネットワークに問題や障害が発生し、ユーザーに影響が及びます。
ただし、XNUMX/XNUMX以上のステーキングパワーで使用されているクライアントにバグが発生した場合、基本的にはゲームオーバーです。 バギークライアントは超多数派とそれに伴うすべての力を持っており、バギーチェーンが完成します。 本質的に、バギーでないクライアントができることは、チェーンを永続的に分割することです。この場合、XNUMXつのイーサリアムを使用するか、バギーチェーンに参加して、バグが発生したものをすべて処理します。
詳細を読むことに興味のある読者は、jmcookを読むことを強くお勧めします。 ethの 記事 ミラー上。
Prysmの過半数、理想的な状況ではない
今日の時点で、ネットワークのステーキングパワーの約XNUMX/XNUMXが、によって開発されたPrysmクライアントの実装を実行しています。 Prysmatic Labs。 これは、控えめに言っても、Prysmクライアントにバグが含まれていることが判明した場合の理想的な状況ではなく、ネットワーク上でコンセンサス障害を引き起こす方法でバグが悪用される可能性があります。 公平を期すために、このシナリオはありそうにありませんが、それでもゼロではありません。
市場に出回っている他のクライアントは、Lighthouse、Teku、Nimbus、Grandine、およびLoadstarです。 これらのうち、GrandineとLoadstarの市場シェアは非常に小さく、どちらも1%をはるかに下回っています。 Grandineは、クローズドソースライセンスの下で公開されている唯一のものです。
プレス時のコンセンサスクライアントの分布を下図に示します。 読者が見ることができるように、Prysmの優位性は満足のいくものをはるかに超えていますが、クリティカルなXNUMX/XNUMXレベルをわずかに下回っています。 最新の詳細とリソースについては、次のWebサイトをご覧ください。 clientdiversity.org.
尋ねるべき公正な質問は、なぜPrysmクライアントがそれほど支配的であるかということです。 バリデーターノードを実行する人々や組織がPrysmを選んだ理由は何かあるに違いありません。 質問に答えるために、CryptoSlateは、Geth(Golang Ethereum)プルーフオブワーククライアントに取り組んでいるEthereumコア開発者であるMarius vanderWijdenに連絡を取りました。
先発者のアドバンテージによるPrysmルール
「Prysmsが成功する大きな理由は、先発者のアドバンテージ、ツール、そしてゴーランだと思います。 Prysmは、ビーコンクライアントの最初のプロトタイプ実装でした。 したがって、彼らは早い段階でクライアントの最適化を開始でき、追加のツール(Web UIなど)と優れたドキュメントを作成するためのより多くの時間を費やすことができました。」
「もうXNUMXつの大きな利点は、prysmで使用されるプログラミング言語であるgolangです。これは、適度にパフォーマンスが高く、読み取りと開発が非常に簡単です。Go-ethereumもgolangで記述されているため、Gethに精通している開発者もprysmを簡単に理解して監査できます。」 vanderWijdenは言います。
プルーフオブワーク実行クライアント間の均等な分散の欠如は、コンセンサスクライアントの場合よりもさらに悪いため、後者は重要です。 これを書いている時点で、ゲスの「市場シェア」は85%を超えています。 ただし、合併後の世界では、実行ノードは単にトランザクションを実行するだけなので、これはそれほど問題にはなりませんが、コンセンサスクライアントのようにセキュリティを提供することはできません。
「Go-ethereumは現在、実行レイヤーで85%の過半数を占めています。 スタッカーは、常に正しいチェーンにたどり着くために、XNUMXつのビーコンクライアントで複数の実行レイヤークライアントを実行できるため、マージ後は少し良くなります」とvanderWijden氏は言います。
大きな取引所はPrysmの大きな貢献者です
現在、すべてのノード演算子が等しいわけではありません。 それどころか、一部のノードオペレーターは、他のノードオペレーターよりもはるかに多くのエーテルを賭けているため、より少ないピアよりも多くのステーキングパワーを使用します。 最大のスタッカーは、いわゆるステーキングサービスおよび/またはプールであり、32 ETHを咳をする必要なしに、ビーコンチェーンにイーサリアムをステーキングする機会を提供します。Prysmクライアントを実行しているすべての主要なステーキングサービスがそうでなかった場合、クライアントの多様性の問題は問題になりません。
これらのステーキングサービスには、Coinbase、Kraken、Binanceというおなじみの名前が付いています。 はい、同じです。
今日のビーコンチェーンには278,407個のバリデーターノードがあり、Coinbaseだけで、48,864個のバリデーター(17.5%)と92.4%のバリデーターがPrysmを実行しています。 貢献する 多様性の問題に対して24.3%。
CryptoSlateがCoinbaseに連絡して、クライアントの多様性の問題をどのように見ているのか、会社の貢献、そして問題を解決するためにCoinbaseが何をするのかを尋ねたところ、CoinbaseのコミュニケーションであるJaclyn Salesは、CoinbaseCloudによるツイートスレッドを指摘しました。 22月XNUMX日。
糸、Coinbaseは主に、Prysmを実行するという選択の背後にある動機としてセキュリティを指摘しています。
「Coinbaseは複数のeth2ステーキングプロバイダーを使用して、セキュリティとクライアント分散を最大化します。 eth2ステーキングを開始するとき、Coinbaseは既存のクライアントとプロバイダーを評価して、これらの特性を最大化しました。これは、リモート署名者をサポートする唯一の実行可能なクライアントであるため、Prysmから始めることを意味しました。」
「リモート署名者は、バリデーターがキーをバリデーター自体に保持するのではなく、分離された環境で生成および保存できるようにします。これにより、Coinbase上のeth2バリデーターのセキュリティが大幅に向上します。」
Coinbase:Prysmのセキュリティ機能が向上しました
ツイートによると、リモート署名者は、Coinbase Cloudが高水準のソフトウェアを介して二重署名保護を提供できるようにします。これは、クライアントの署名モジュールに関する問題からバリデーターを保護するのに役立ちます。
「CoinbaseCloudチームでは、Coinbase Retailだけでなく、他の多くの顧客にもサービスを提供しています。 私たちはほぼXNUMX年間Lighthouseをサポートしており、@ sigp_ioと協力して、昨年末にLighthouseにリモート署名者サポートを追加しました」とツイートは続けています。
Krakenについては、バリデーター数が30,847(11%)、Prysmの使用率が94.9%、Prysmの全体的な貢献度が15.7%であるため、KrakenのシニアプロダクトマネージャーであるBrianHoffmanは次のようにメールで回答しています。
「ETH2ステーキングモデルを最初に構築したとき、その成熟度と安定性により、Prysmが最も適切なソリューションであることがわかりました。」
「EthereumFoundationとの話し合いの後、Krakenと 杭打ち また、Tekuに基づいて構築された新しいバリデーターの展開や、既存のバリデーターの移行も開始しました。 このようにして、バリデータークライアントソフトウェアの多様性を高め、クライアントにさらに回復力のあるオンチェーンステーキングサービスを提供できます。」
24,410のバリデーター(8.7%)、76.6%のPrysm使用率、および10%の全体的なPrysm貢献によるバイナンスは、CryptoSlateのコメントの要求に答えませんでした。
50,274個のバリデーター(18%)を備えた42.8番目に大きなステーキングサービスであるLidoには、Binanceの11.5倍のバリデーターがありますが、Prysmの使用量は少なくともXNUMX%であるため、LidoはPrysmの優位性にXNUMX%貢献しています。
分散型のロケットプールが先導
もちろん例外もありますが、これらは非常に小さいものです。 たとえば、分散型ステーキングプールのロケットプールのバリデーター数は2,100(0.75%)で、バリデーターの10.6%だけがPrysmを実行しているため、ロケットプールはPrysmの支配にわずか0.12%しか貢献していません。
全体として、XNUMXつの主要なステーキングサービスとプールは状況を解決するために手の届くところにあり、物事の明るい面では、ステーキングサービス間、およびステーキングサービスとイーサリアム財団の間で継続的な議論があります。 イーサリアムのコア開発者であるMariusvander Wijdenによると、これらの議論の進展は「良い」ものです。
「はい、これについては社内外で話し合いがあります。 大きなステーキングプールは、インフラストラクチャの一部を他のクライアントに切り替える作業を行っていると思います。 新しいクライアントのメトリックと監視インフラストラクチャを更新する必要があるため、ホームバリデーターよりも切り替えに時間がかかる可能性があります」とvanderWijden氏は述べています。
van der Wijdenによると、ノードオペレーターがクライアントソフトウェアを切り替えることは危険でも難しいことでもありません。
「すべての主要な実装は、かなりよくテストされ、維持されています。 ユーザーがすでにステーキングを行っている場合は、スラッシュデータベースをシャットダウンして永続化する必要があります。スラッシュデータベースがない場合は、古いクライアントをシャットダウンしてから新しいクライアントを起動するまでに数分(> 7分)待つ必要があります。クライアント。 一部のクライアントは他のクライアントとは異なるAPIを提供するため、大きなスタッカーで唯一の問題が発生する可能性があります」とvanderWijdens氏は言います。
マージは安全に実行できますか?
わずか数か月先のマージで、イーサリアムコミュニティはおそらく理想的とは言えないクライアントディストリビューションを受け入れる必要があります。 Prysmの支配が33%を下回る可能性は、非常に小さいと見なす必要があります。 ただし、これは、Marius vanderWijdenや他のEthereumコア開発者がマージを追求することを思いとどまらせるものではありません。
「私は追求するのが安全だと思います。 私の意見では、コンセンサスの失敗が発生する可能性は非常に低いです。 クライアント間の違いを見つけるために永続的に実行される優れたテストとファジングインフラストラクチャがあります。 コンセンサスの失敗が発生した場合でも、新しいリリースをプッシュしてフォークをすばやく簡単に解決できるようになります。」
「また、クライアントが誤動作した場合に過半数のクライアントを実行するスタッカーを救済しないという強いコンセンサスがあります」とvanderWijden氏は言います。
ポスト イーサリアムのクライアントの多様性:66%がPrysmを実行しているので、The Mergeは安全に追求できますか? 最初に登場した CryptoSlate.
- "
- 100
- 11
- 2020
- 7
- 私たちについて
- 従った
- NEW
- 利点
- アルゴリズム
- すべて
- 既に
- 間で
- API
- 周りに
- 資産
- 監査
- 寄託
- 基本的に
- ビーコンチェーン
- になる
- 最大の
- 億
- ビンランス
- ビット
- Bitcoin
- ブロック
- ブロックチェーン
- バグ
- これ
- 生じました
- チャンス
- クラシック
- 閉まっている
- クラウド
- コード
- coinbase
- コマンドと
- 通信部
- コミュニティ
- 会社の
- 比べ
- 複雑な
- コンセンサス
- 続ける
- 続ける
- 契約
- 基本
- 可能性
- カップル
- Customers
- データベース
- 分権化された
- 開発する
- 発展した
- Developer
- 開発者
- 開発
- 開発者
- DID
- 異なります
- ディストリビューション
- 多様性
- ドル
- ダウン
- Drop
- 早い
- 簡単に
- 効果
- 本質
- ETH
- エーテル
- イーサリアム
- エテリアム2.0
- イーサリアム財団
- すべてのもの
- 例
- 除く
- 交換について
- 実行
- 不良解析
- フェア
- 終わり
- 名
- フォロー中
- 発見
- Foundation
- ゲーム
- 生成する
- 行く
- 良い
- 素晴らしい
- 持って
- 高さ
- ことができます
- ハイ
- 非常に
- ホーム
- 認定条件
- HTTPS
- 何百
- アイデア
- 画像
- 重要
- 増える
- 個人
- インフラ
- 問題
- 問題
- IT
- join
- 保管
- キー
- クラーケン
- 言語
- ESL, ビジネスESL <br> 中国語/フランス語、その他
- 発射
- レベル
- ライセンス
- ロゴ
- 長い
- 探して
- 機械
- 主要な
- 大多数
- マネージャー
- 市場
- メトリック
- 鉱夫
- ミラー
- モニタリング
- ヶ月
- 最も
- 名
- 自然
- ネットワーク
- ノード
- 提供
- 意見
- 機会
- 注文
- 組織
- その他
- のワークプ
- プール
- プール
- 電力
- 現在
- かなり
- 問題
- プロダクト
- プログラミング
- プログラミング言語
- 著名な
- ステークフル・オブ・ステーク
- 実績
- 守る
- 保護
- 提供します
- 質問
- すぐに
- リーダー
- リーディング
- 理由は
- リリース
- リソース
- 小売
- リスク
- リスキーな
- 丈夫
- ロール
- ルール
- ラン
- ランニング
- 安全な
- セールス
- セキュリティ
- センス
- サービス
- サービス
- シェアする
- 株式
- 簡単な拡張で
- 小さい
- スマート
- スマート契約
- So
- ソフトウェア
- 解決する
- split
- 安定性
- 利害関係
- ステキング
- start
- 開始
- 店舗
- 強い
- 成功
- サポート
- サポート
- スイッチ
- トーク
- チーム
- テスト
- 介して
- 時間
- 今日
- 今日の
- 取引
- ツイート
- ui
- わかる
- アップデイト
- users
- 値
- 詳しく見る
- バーチャル
- バーチャルマシン
- 脆弱性
- 脆弱性
- wait
- ウェブ
- この試験は
- Wikipedia
- 以内
- 無し
- 働いていました
- ワーキング
- 世界
- 価値
- 書き込み
- 年