この文書は、私たちの仕事から着想を得て作成されました。FOCILコンセンサススペック23, ここで、プロトコルが特定の詳細が明示的に指定されていないため、リソース制約に関するより慎重な考慮が必要であることに気付きました。FOCIL Ethereumリサーチ投稿14.
始める前に、次のセットアップを想定して、私たちの考慮のためのクリーンなベースラインを確立すると仮定します:
進行する前に、次のアクターがプロトコルの一部であると仮定し、彼らの責任を分析します。
IL委員会、提案者、および証人が正直な行動を行うと仮定した以下のタイムラインを想定します:
IL委員会のメンバーは、ヘッド(CL → EL呼び出し)からILトランザクションのリストをELクライアントから取得し、それからローカルIL(トランザクション+サマリ)に署名し、ゴシップネットワークにリリースします。
チェーンをたどるノードは、ILをダウンロードし、アンチDOSを検証し(まだELにインポートしていません)、他のピアに転送します。また、ノードは IL を fork choice にインポートし、aggreGate キャッシュを使用してどの IL が確認されたかを追跡します。チェーンをフォローするアテスターとノードは、チェーンの同じビューを持つ必要があります。
次のスロットの提案者はILゴシップネットワークを積極的に監視し、ローカルのILを収集および集約し、IL集約のカットオフ(インターバル#2)で、提案者は自分のブロックに含まれるILトランザクションのリストでブロック構築プロセスを更新します。これにはCLからELへの呼び出しが必要です。
次のスロットの提案者が親ハッシュに基づいた十分な含有リストを観察した場合、提案者は不足しているビーコンブロックを手動でリクエストし、ブロックをインポートし、そのブロックの上に構築する必要があります。
上記に基づいて、リソースを多く消費する可能性のある領域を特定し、それらに絞り込むことができます。
提案者は、インクルージョンリストトランザクションのリストを使用してブロック構築プロセスを更新します。これはCL → ELコールです。
ロックインクルージョンリストビュー。この地点からローカルインクルージョンリストの受け入れを停止します。
提案者はELクライアントから実行ペイロードを取得し(CL→EL呼び出し)、ビーコンブロックのゴシップネットワークにリリースします。その後、他の全員がブロックを検証します。
ノードはビーコンブロックを受信し、検証します。新しい検証手順には、インクルージョンリストの集合構築のチェックと、評価関数を満たすかどうかを確認する手順が含まれます。これはCL上で完了することになります。IL条件のチェック(衝突のためスキップできるかどうか)はEL上で実行されます。
提案者の追加業務は重大な懸念ではないようです。ノードの新しい検証手順は、収容リストが満足のいく条件を満たしていることを確認することですが、追加のCPU負荷を導入する可能性がありますが、それは重大な問題ではないようです。
アテスターは、LMD GHOSTフォーク選択ルールを使用してビーコンブロックに投票します。アテスターは、インターバル1からの観測に基づいてインクルージョンリスト評価関数を満たすビーコンブロックにのみ投票します。
今日と違いはありません。
上記のように、最も重要なリソースに関する懸念事項は、含意リストのアップロード、ダウンロード、およびノードの視点からのスパムの可能性についてです。 もう一つの重要な懸念事項は、含意リストの検証とインポートに対するノードへのオーバーヘッド、および提案者が含意リストを満たすためにそのブロック構築プロセスを更新する必要があります。 これらの側面には、効率とセキュリティを確保するために慎重な考慮と設計が必要です。
上記を基に、仕様書の記載方法に影響を与えるいくつかの未解決の問題を概説します。
この文書は、私たちの仕事から着想を得て作成されました。FOCILコンセンサススペック23, ここで、プロトコルが特定の詳細が明示的に指定されていないため、リソース制約に関するより慎重な考慮が必要であることに気付きました。FOCIL Ethereumリサーチ投稿14.
始める前に、次のセットアップを想定して、私たちの考慮のためのクリーンなベースラインを確立すると仮定します:
進行する前に、次のアクターがプロトコルの一部であると仮定し、彼らの責任を分析します。
IL委員会、提案者、および証人が正直な行動を行うと仮定した以下のタイムラインを想定します:
IL委員会のメンバーは、ヘッド(CL → EL呼び出し)からILトランザクションのリストをELクライアントから取得し、それからローカルIL(トランザクション+サマリ)に署名し、ゴシップネットワークにリリースします。
チェーンをたどるノードは、ILをダウンロードし、アンチDOSを検証し(まだELにインポートしていません)、他のピアに転送します。また、ノードは IL を fork choice にインポートし、aggreGate キャッシュを使用してどの IL が確認されたかを追跡します。チェーンをフォローするアテスターとノードは、チェーンの同じビューを持つ必要があります。
次のスロットの提案者はILゴシップネットワークを積極的に監視し、ローカルのILを収集および集約し、IL集約のカットオフ(インターバル#2)で、提案者は自分のブロックに含まれるILトランザクションのリストでブロック構築プロセスを更新します。これにはCLからELへの呼び出しが必要です。
次のスロットの提案者が親ハッシュに基づいた十分な含有リストを観察した場合、提案者は不足しているビーコンブロックを手動でリクエストし、ブロックをインポートし、そのブロックの上に構築する必要があります。
上記に基づいて、リソースを多く消費する可能性のある領域を特定し、それらに絞り込むことができます。
提案者は、インクルージョンリストトランザクションのリストを使用してブロック構築プロセスを更新します。これはCL → ELコールです。
ロックインクルージョンリストビュー。この地点からローカルインクルージョンリストの受け入れを停止します。
提案者はELクライアントから実行ペイロードを取得し(CL→EL呼び出し)、ビーコンブロックのゴシップネットワークにリリースします。その後、他の全員がブロックを検証します。
ノードはビーコンブロックを受信し、検証します。新しい検証手順には、インクルージョンリストの集合構築のチェックと、評価関数を満たすかどうかを確認する手順が含まれます。これはCL上で完了することになります。IL条件のチェック(衝突のためスキップできるかどうか)はEL上で実行されます。
提案者の追加業務は重大な懸念ではないようです。ノードの新しい検証手順は、収容リストが満足のいく条件を満たしていることを確認することですが、追加のCPU負荷を導入する可能性がありますが、それは重大な問題ではないようです。
アテスターは、LMD GHOSTフォーク選択ルールを使用してビーコンブロックに投票します。アテスターは、インターバル1からの観測に基づいてインクルージョンリスト評価関数を満たすビーコンブロックにのみ投票します。
今日と違いはありません。
上記のように、最も重要なリソースに関する懸念事項は、含意リストのアップロード、ダウンロード、およびノードの視点からのスパムの可能性についてです。 もう一つの重要な懸念事項は、含意リストの検証とインポートに対するノードへのオーバーヘッド、および提案者が含意リストを満たすためにそのブロック構築プロセスを更新する必要があります。 これらの側面には、効率とセキュリティを確保するために慎重な考慮と設計が必要です。
上記を基に、仕様書の記載方法に影響を与えるいくつかの未解決の問題を概説します。