Devcon5カンファレンスからイーサリアムとブロックチェーンの生態学的発展を振り返る
編集者注: この記事は Wanxiang Blockchain (ID: gh_1b8639a25429)、著者: Wanxiang Blockchain Research Group からのものであり、許可を得て公開されています。
この記事は、Wanxiang ブロックチェーン研究開発部の研究チームが Devcon5 に参加した後のカンファレンスの内容を一部解釈したものです。万向ブロックチェーン研究開発部の研究グループは、基盤となるブロックチェーン技術の研究と実装に焦点を当てた万向内のチームです。
文章
文章
副題
Ethereum1.X
昨年の Devcon4 では、イーサリアムのコア開発者と愛好家のグループがイーサリアムの現在の課題について議論しましたが、全員が同様の見解を持っていました: パフォーマンスのボトルネックがますます深刻になり、占有ストレージ容量が継続的に増加しているため、イーサリアムメインネットが変化を求めなければ, イーサリアムの使い勝手が非常に悪くなってしまいます。パフォーマンスの低下は主に、状態データが大きくなる (そして増加する) ことが原因です。ストレージ要件の増加。これは主に、ブロック、イベント ログ (受信)、および状態履歴 (現在、ほとんどのクライアントで削除可能) を永続化する必要があるためです。
最終的に、彼らは「改善する、イーサリアムメインネットを改善する必要がある」という合意に達しました。
彼らはまた、この改善計画に「Ethereum1.x」というコード名を与えた。イーサリアムメインネットが近い将来採用する予定のさまざまなメジャーアップグレードとアップデートが含まれています。
コードネーム「Ethereum1.x」というイニシアチブには次のものが含まれます。
1. TPS スループットを増加させることでメイン ネットワークのスケーラビリティを向上します (クライアントの最適化により、ブロックのガス制限が大幅に増加します)。
2. 「ストレージのレンタル」を通じて、ディスク領域の需要を削減および制限し、ノード全体の持続可能な動作を確保します。具体的なアプローチは、コードとデータを無期限に保存するのではなく、契約開発者とユーザーが EVM2 ストレージの料金を長期にわたって支払うことを要求するレンタル モデルを設計することです。
3. VM アップグレード (eWASM を含む) による開発者のエクスペリエンスの向上。
これらの目標と計画を達成するために、イーサリアムコア開発チームはいくつかのワーキンググループを設立しました。
1. 州の賃貸料: チェーン上のストレージ占有を制限するために、ストレージ占有のコストモデルを設計します。
2. eWASM: イーサリアム Wasm 仮想マシン。
3. ストレージ プルーニング: クライアントが占有するストレージ スペースを最適化します。
4. シミュレーション/シミュレーション。
今年の Devcon5 で、イーサリアム財団は過去 1 年間に設立されたいくつかのワーキング グループを紹介しました。
1. EVM の進化: パフォーマンス、セキュリティ、相互運用性を最適化します。
2. EIP 1559: トランザクションコストをより安定させ、予測可能にするためのコストモデルの最適化。
3. テスト/インフラストラクチャ: 新しいツールを使用して、テスト クライアント間の互換性を高めます。
4. ファイナリティ コンポーネント: Ethereum2.0 ビーコン チェーンを使用して、Ethereum1.0 によって生成されたブロックをファイナライズします。
ねえ、どうしてイーサリアム 1.0 と 2.0 があるのですか?それらはイーサリアム 1.x とどのように関係するのでしょうか?
簡単に言うと、イーサリアムの現在のメインネットワークはイーサリアム1.0、イーサリアム1.xは現在のメインネットワークの改良計画、イーサリアム2.0はイーサリアム1.0から独立して開発されたチェーンです。 Ethereum1.0は2.0に切り替わります。
副題
Ethereum2.0
イーサリアム2.0はイーサリアムのセレニティ版であり、先ほども述べたようにイーサリアム1.0とは独立して開発されたチェーンです。そして昨年の Devcon4 カンファレンスでは、イーサリアム 2.0 が 3 ~ 5 年以内に機能的にイーサリアム 1.0 を置き換えることはないことが明らかにされました。
イーサリアム 2.0 には、シャーディング (シャーディング)、プルーフ オブ ステーク コンセンサス、新しい VM (eWASM) などの一連のアップグレードが含まれます。
これには 5 つの主な目標があります。
☆ 分散化: 通常のコンシューマグレードのノートブックコンピュータが O(C) リソースを使用して O(1) フラグメントを処理および検証できるようにします (ビーコンチェーンなどのシステムレベルの検証を含む)。
☆ 復元力: メインネットワークが分割されている場合や、多数のノードがオフラインの場合でも、システムは引き続き利用可能です。
☆ セキュリティ (セキュリティ): 暗号化と設計技術を使用して、(短期および長期的に) 多数の検証ノードがシステムに参加できるようにします。
☆ シンプルさ (Simplicity): パフォーマンスが多少低下しても、複雑さを最小限に抑えます。
☆ 寿命: 量子安全コンポーネントを選択するか、利用可能な場合は対応する量子安全コンポーネントと簡単に交換します。
これは大きなプロジェクトであるため、一度に完了するものではなく、段階的に開発されます。ここでは、各フェーズとその計画の内容について簡単に説明します。
Phase0ビーコンチェーン
Phase0 はビーコン チェーンの開始点です。ビーコン チェーンはシステム全体の基盤であり、ビーコン チェーン自体と各シャードチェーンの Casper Proof of Stake プロトコルを管理するために使用されます。
1. 検証ノードとそのステークを管理します。
2. 各ステップで各シャードのブロックプロデューサーを任命します。
3. 検証ノードを検証委員会 (委員会) に組織し、提案されたブロックに投票するために使用されます。
4. コンセンサスプロトコルを実行します。
5. 検証ノードに報酬を与え、罰を与える。
6. 各シャードはアンカー ポイントとしてそのステータスを登録するため、シャード間でのトランザクションの実行が容易になります。
ビーコン チェーン上の主なデータ ロードは、シャード ブロックの可用性投票やビーコン ブロックの PoS 投票などの証明です。
Phase0 は、Casper the Friendly Finality Gadget (FFG) を使用してファイナリティを達成します。
Phase0 では、すべてのユーザー トランザクションとスマート コントラクトの計算が Ethereum1.0 上で実行されます。 Phase0 が完了すると、Ethereum1.0 チェーンと Ethereum2.0 チェーンの 2 つのチェーンが同時に存在します。
Phase1 シャードチェーン (シャードチェーン)
シャード化されたブロックチェーンはトランザクションを並行して実行できるため、将来のスケーラビリティの鍵となります。フェーズ 1 は主に、シャーディングされたブロックチェーン内のデータの構築、有効性、一貫性に焦点を当てますが、状態の実行とアカウント残高は実装しません。フェーズ 1 は、シャーディングを使用して拡張する試みというよりも、シャーディング構造の試行に近いものです。ビーコン チェーンの場合、シャード ブロックは構造化されたデータや意味のあるデータではなく、ビットのコレクションとして扱われます。
クロスリンクは、一定期間にわたるシャード (つまり、結合されたデータ ルート) の現在の状態を表すためにビーコン チェーン ブロックで使用されます。
Crosslink は、シャード チェーン上の検証ノード委員会上のブロックの有効な署名のセットであり、シャード ブロックチェーンの最新の状態を表し、シャード間の非同期通信の基礎でもあります。
Phase2 ステート実行 (State Execution)
Phase2では、関連するすべての機能が集約されます。断片化されたブロックチェーンのデータは単なるデータコンテナではなくなり、構造化されたチェーンデータとスマートコントラクトが再導入されます。各シャードは、eWASM ベースの VM、サポート アカウント、契約、状態データなどを管理します。
フェーズ 2 では州賃貸料が導入される可能性が高く、契約開発者とユーザーが eWASM ストレージの料金を支払うことになります。
Phase3以降も随時更新中
関連するプランは常に更新されます。詳細については、以下を参照してください。
副題
イーサリアム 2.0 のランダム性
この Devcon5 ミーティングでは、イーサリアム 2.0 のランダム性に関するディスカッション トピックがいくつかあります。
今日のブロックチェーン システムでは、システムのランダム性の問題がますます注目を集めています。
イーサリアム2.0はPoS(Proof of Stake)とシャーディングメカニズムを組み合わせたコンセンサスプロトコルを採用しており、コンセンサス委員会の選択はシステムが生成するランダム値に依存します。したがって、スキームの安全性は、システムによって生成されるランダム値のランダム性に大きく関係します。悪意のある攻撃者がランダム値の生成を操作したり影響を与えたりできるようになると、この利点を利用してコンセンサスプロセス中に委員会に選ばれる可能性が高まり、システム攻撃のコストが削減され、プロトコルのセキュリティが脅かされる可能性があります。 。
ブロックチェーンは、分散アプリケーションを実行するための基盤となるプラットフォームであり、チェーン上で提供される安全な乱数も、多くのアプリケーションのセキュリティに対する重要な保証となります。
Ethereum2.0では主に以下の3つのリンクで乱数が使われています。
ブロック提案者の選択
コンセンサス委員会の選定
チェーンアプリケーション
安全なランダム性アルゴリズムでは、以下を保証する必要があります。
1. 公平性 (公平性): どの参加者も乱数生成の結果に影響を与えることはできません。
2. 予測不可能: 乱数が生成される前に、参加者は出力結果を事前に予測できません。
さらに、分散システムの耐障害性を満たすために、信頼性の高いランダム性アルゴリズムは、システム内のいくつかのノードが動作を停止した場合でもアルゴリズムが実行し続けることを保証する必要もあります。
したがって、安全なランダム性アルゴリズムは次のとおりです。
1. ブロック提案者の選択の公平性を確保し、攻撃者が事前に提案者の身元を予測して DOS 攻撃を開始することを防ぎます。
2. 委員会の選択段階で、攻撃者が特定の委員会を制御する可能性を低減します。
副題
分散ランダムアルゴリズム RANDAO
RANDAO は、複数のノードがインタラクティブにネゴシエートして一貫した安全な乱数を生成できるようにするシンプルな分散ランダム性アルゴリズムです。
アルゴリズムは 2 つの段階で構成されます。
コミットメントフェーズ(コミット)
リビールステージ(リビール)
コミットメントフェーズでは、システム内のすべてのノードがオフラインで特定の乱数を選択し、その乱数に対するコミットメントをRANDAOに送信します。
公開フェーズでは、各参加者がその乱数値を公開するコミットメントを開き、すべての公開乱数の XOR 演算の結果が、このラウンドの合意によって生成される乱数になります。
しかし、RANDAO にも欠陥があります。
1. RANDAO プロトコルによって生成される乱数は予測不可能であり、基礎となるコンセンサス プロトコルと同じ耐障害性を備えていますが、公平性には依然として欠陥があります。
2. プロトコルの公開フェーズで、最終的にランダム値を発表するノードは、最終的に生成されるランダム値に影響を与える可能性があります。
3. 具体的には、悪意のある攻撃者は、ネットワーク内の他のすべてのノードが選択した乱数を公開していることを確認した後、自分の乱数に基づいて XOR 演算を実行し、長所と短所に従って独自の乱数を公開するかどうかを決定できます。結果は自分自身で得られます。
4. これにより、1 人の攻撃者が出力に一定の影響を与えることができますが、同時に、攻撃者が制御する参加者の数が増加するにつれて、このタイプの攻撃の破壊性も増加します。
5. ブロックチェーン システムの場合、攻撃者が乱数生成プロセスで得られる利点を利用すれば、システムへの攻撃に必要なコストが削減されます。具体的には、ブロックチェーン システムが RANDAO と最長チェーン原則をコンセンサス プロトコルとして採用している場合、攻撃者はプレッジ (ステーク) の 36% を所有するだけでシステム全体を制御できます。 (注: この分析は大物ヴィタリック氏によるものです)。
副題
VDF機能
VDF は一種の数学関数 (Verifable Delay Function) であり、次のような特徴があります。
1. 計算には少なくとも既知の時間が必要です。
2. 証明により、関数の出力結果の正しさを迅速に検証できます。
VDF 関数の計算遅延を利用して、RANDAO プロトコルで最終的にランダム値を発表するノードは、最終結果への影響を失う可能性があります。
具体的には、RANDAOプロトコルの公開フェーズでは、参加者全員が発表するランダム値は単純なXOR演算ではなくなり、最終的なランダム値はVDF関数を通じて取得されることが期待されます。その場合、攻撃者は最終的な乱数値を事前に計算することができず、自分の乱数値を公開することの利点を自分で判断することができないため、乱数アルゴリズムの公平性が確保されます。
副題
イーサリアム 1.0 から 2.0 への切り替え
Ethereum1.0 チェーンから Ethereum2.0 チェーンに移行するには、2 つの重要な要素を考慮する必要があります。まず、既存のイーサを移行する必要があり、次に状態を移行する必要があります。
Phase0 イーサリアム移行 (ビーコンチェーン)
フェーズ 0 では、イーサリアム 1.0 チェーン上のユーザーは、契約内で自分のイーサをロックし、イーサリアム 2.0 のビーコン チェーンで同等の量のイーサを受け取ることができます。その後、ETH (32 ETH) をステーキングしてバリデーターとなり、イーサリアム 2.0 チェーンで検証報酬の受け取りを開始できます。
Phase1 状態遷移(シャーディング)
フェーズ 1 では、現在の Ethereum1.0 チェーンの状態が Ethereum2.0 チェーン上のシャードに転送されます。 Ethereum1.0 チェーンからのすべての情報が Ethereum2.0 チェーンで利用できることが保証されます。フェーズ 1 以降は現在積極的に開発されていません。
Phase2 スマートコントラクト
このフェーズでは、スマート コントラクトを再導入し、現在の EVM を eWASM に置き換える予定です。さらに、イーサリアム1.xで言及された州賃貸料の概念がこの段階で実装される可能性があります。
Phase3 オフチェーン状態ストレージ
フェーズ 3 では、チェーン上の状態を可能な限りオフチェーンに転送して、チェーン上の状態を最小限に抑えようとします。フェーズ 3 でのオフチェーン状態の維持と取得は、dApp の設計上の重要な制約になります。
Phase4 断片化契約
異なるシャード上のコントラクト間の相互作用を実現します。シャーディング コントラクトの相互運用性に関する現在のさまざまな提案の中で、最も困難な段階の 1 つでもある同期と拡張という相反する問題を解決できるものはないようです。


