THE , scheduled for activation on , は、Pectraの後にEthereumの次の主要なネットワークアップグレードであり、それは仮想通貨の巨人によって取られたもう一つのスケールアップステップを意味します。 Fusaka hard fork December 3, 2025 Fusaka hard fork トップ > セキュリティー > セキュリティー > セキュリティー > セキュリティー > セキュリティー > セキュリティー > セキュリティー > セキュリティー > セキュリティー > セキュリティー トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > ( ガソリン取引の限界値( )と、ModExpガスコストを更新しました( トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > ( )およびブロックコストを安定的に維持し、実行コストに結びつく限界( トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > ( )を追加し、新しい CLZ オプコードを高速なビット操作( ), and introducing a secp256r1 precompile ( ) 現代の暗号化とハードウェアのセキュリティキーとのより良い互換性のために。 EIP-7594 EIP-7823 EIP-7825 EIP-7883 EIP-7917 EIP-7918 EIP-7934 EIP-7939 EIP-7951 ペクトラが「プラハ」と「エレクトラ」を組み合わせたのと同じように、フサカは and それは、Layer 2 ロールアップがより安く、より速く動作できる高度にスケーラブルでデータ豊かな未来に向けたEthereumの次の飛躍を表しています。 Fulu (execution layer) Osaka (consensus layer) このブログでは、Fusakaハードフォークのコア機能を解説し、PeerDASが実際にどのように機能するかを説明し、デヴネットデータでサポートされているホームストーカー、スーパーノード、フルノードの実際のネットワーク要件を検討します。 Key Changes Introduced In Fusaka Hard Fork Key Changes Introduced In Fusaka Hard Fork : PeerDAS - Peer Data Availability Sampling EIP-7594 EIP-7594 Ethereumはこの提案が必要だったため、ネットワークはユーザー、特にロールアップのためのより多くのデータの可用性を提供したいと考えています。 これにより、すべてのノードがすべてをダウンロードしなければならない場合、ネットワークの帯域幅とハードウェア要件が上昇し、分散化が苦しむ可能性があります。これを修正するために、Ethereumはノードがすべてをダウンロードすることなくデータが利用可能であることを確認する方法を必要とします。データ可用性サンプリング(DAS)は、ノードがデータの小さなランダムな部分だけをチェックするようにすることによってこれを解決します。 EIP-4844 PeerDASは、ノードが完全なデータが実際に公開されたことを確認するために、ブロブデータの小さな部分だけをダウンロードできるネットワークシステムです。 ノードは、すべてをダウンロードする代わりに、通常のジョシップネットワークを使用してデータを共有し、どの同僚が特定の部分を保持しているかを発見し、彼らが必要とする小さなサンプルだけを要求します。 主なアイデアは、ブロブの小さな、ランダムな部分だけをダウンロードすることで、ノードはまだブロブ全体が存在することを確信することができます。 たとえば、完全な256KBブロブをダウンロードする代わりに、ノードはその約8分の1をダウンロードする可能性があります - しかし、多くのノードが異なる部分をサンプルするので、いかなるデータが サンプル処理を行うために、PeerDAS は各ブロブを拡張します。 基本的な削除コードの使い方 — いくつかの部分が失われた場合でもパズルを完了する方法と同様に、ブロブは、後で再構築することが可能なオリジナルデータといくつかの追加の暗号化データを含む「列」になります。この行は、いくつかの小さい部分に分割され、セルと呼ばれ、これらはKZGのコミットメントに結びついている最小の検証されたユニットです。すべての行は「列」に再編成され、各列は各行から同じ位置にあるセルを含みます。各列は特定のゴシップサブネットに割り当てられます。ノードは、ノードIDに基づいて特定のコラムを保存し、各ピアのスロットからいくつかのコラムをサンプルする責任があります。ノードがすべて EIP-4844 Erasure coding is a technique that adds extra redundant data so that the original data can be recovered even if some pieces are missing さらに、EIPは重要なルールを導入する: この制限は、トランザクションの検証、冗談、ブロック作成、およびブロック処理中に強制されなければなりません。 no transaction can contain more than 6 blobs PeerDAS adds something called . セル KZG 証明書は、KZG コミットメントが実際に blob の 1 つの特定のセル (小さな部分) に匹敵することを示しています. This allows a node to download only the cells it wants to sample, instead of the full blob, while still guaranteeing data integrity. This is essential for data availability sampling. cell KZG proofs しかし、これらのすべての細胞の証拠を生成することは高価です。ブロックプロデューサーは、あまりにも遅い多くのブロックのために何度も何度もそれらを計算する必要があります。 to generate all the cell proofs ahead of time and include them in the transaction wrapper. the blob transaction sender したがって、トランザクションの噂(PooledTransactions)は現在、変更された包装を使用しています。 rlp([tx_payload_body, wrapper_version, blobs, commitments, cell_proofs]) 新しいウォーキングの内部では、 is just a list that contains every proof for every cell of each blob (for example: すべてのブロブのすべてのセルのすべての証拠を含むリスト) ) その他のフィールド - で、 , and 違いは、古い単一の「証拠」フィールドが削除され、この新しいフィールドに置き換えられることである。 リスト、そして新しいフィールドと呼ばれる どのバッテリー形式が使用されているかを表示するために追加されます。 cell_proofs [cell_proof_0, cell_proof_1, ...] tx_payload_body blobs commitments cell_proofs wrapper_version THE 単一のバイトであり、この提案では常に ♪ The field contains all of the cell proofs for each blob, including the proofs for the extra extension cells created during erasure coding. Because of the erasure coding, each blob corresponds to cell proofs. Even though the list contains proofs for the extension cells, the blobs themselves are still sent in their normal (non-extended) form. A blob only includes its original half—the receiving node can compute the extension half on its own, so there’s no need to send unnecessary data. wrapper_version 1 cell_proofs CELLS_PER_EXT_BLOB More formally, is the proof for the j-th cell of the i-th blob after running. is the proof for the j-th cell of the i-th blob after running. 元の細胞と拡張細胞の両方を生成する。 cell_proofs[i * CELLS_PER_EXT_BLOB + j] compute_cells(blobs[i]) ノードがこのウラッパーを受け取るときは、トランザクションを検証し、すべてが正しくラインアップしていることを確認する必要があります。 正確に含む すべてのバージョンは、それぞれのバージョンのバージョンのバージョン( ) 最後に、ノードは、各コミットメントが実際にブロブとその証拠と一致していることを確認する必要があります。 次に、すべてのセル証拠を検証します - バッチ検証はこれをより速くするために許可されます。 cell_proofs CELLS_PER_EXT_BLOB * number_of_blobs kzg_to_versioned_hash(commitments[i]) == tx_payload_body.blob_versioned_hashes[i] compute_cells : Imagine a blob is split into コードを削除した後( ) オリジナルブロブには、 , and the receiving node will calculate the missing 送信者: 送信者: The sender must include イン . Example 8 cells CELLS_PER_EXT_BLOB = 8 4 cells 4 extension cells all 8 proofs cell_proofs So for 1 blob, the transaction wrapper contains: blobs = [blob_0] (オリジナル 4 セルのみ) コミットメント=(コミットメント0) cell_proofs = [proof_0, proof_1, ..., proof_7] (8つのセルごとに証明) When a node samples, it might request only cell 2 or cell 5, and it can verify them instantly using the matching proofs, without ever downloading the full blob. PeerDAS により、Ethereum はノードの作業を難しくすることなくデータの可用性を増やすことができます。 . In the future, this might even go down to , Ethereumをよりスケールさせます. システムは、各ノードに多くのピアスがあるため、うまく機能します. したがって、ピアスが必要なデータを提供しない場合は、ノードは単に別のピアスに尋ねることができます. これは自然な redundancy を作成し、セキュリティを向上します. ノードはまた、ストレージを選択することができます 必要以上にデータを提供し、ネットワークをさらに強化する - プロトコル変更なしでさえ。 1/8 of the total blob data 1/16 or 1/32 more 検証者は通常のフルノードよりも少し責任があります。検証者はすでにより強力なハードウェアを実行しているので、PeerDASは、検証者の合計数に匹敵するデータの保管負荷を与えます。これは、常に安定したノードのグループがより多くのデータを格納し、共有するために利用可能であることを保証します。ネットワークをより信頼できるようにします。簡単に言えば、9万人の検証者が存在する場合、各検証者には、保管およびサービスするための総ブロブデータのわずかな部分が割り当てられます。 ピアノ利用 それはデータの再構築をより容易にするため、行サンプルの代わりに、ノードが完全な行(全体のブロブ)をサンプルした場合、彼らは、ブロック生産者を遅らせるために、自然に存在しない追加の「拡張ブロブ」を作成する必要があります。 Imagine a blob is a 4×4 grid of cells. Row sampling would mean taking all 4 cells from one row, but some extension rows aren’t ready yet, so the block producer would have to generate them on the spot. Column sampling means taking one cell from each row (a column). The extra cells needed for reconstruction can be prepared ahead of time, so nodes can verify the data without slowing down block production. column sampling Example: 完全に働きながら すでにEthereumで何もしていないので、すべてのテストと詳細なルールは、合意と実行仕様に含まれています。 EIP-7594 EIP-4844 すべてのDASシステムにおける主なセキュリティリスクは「データ保持攻撃」であり、ブロックプロデューサーがデータが利用可能であるふりをするが、実際にはその一部を隠している PeerDASは、ランダムサンプリングを使用してこれを防止します:ノードはデータのランダム部分をチェックします。サンプルされるノードが多ければ多いほど、攻撃者が詐欺するのが困難です。 表は、攻撃の成功確率が軽微なレベルに低下することを示しており、そのためPeerDASはデータ保持攻撃に対して安全であると考えられています。 . blog : Set upper bounds for MODEXP EIP-7823 エピソード7823 This proposal is needed because the current MODEXP precompile in Ethereum has caused many consensus bugs over the years. Most of these bugs happened because MODEXP allows extremely large and unrealistic input sizes, which creates endless, unusual cases that clients must handle. Since every node has to process whatever input a transaction provides, having no upper limit makes MODEXP harder to test, easier to break, and more likely to behave differently across different clients. Very large inputs also make the gas-cost formula hard to predict, because it is difficult to price something when its size can grow without limit. These problems also make it difficult to replace MODEXP with future EVM-level code through tools like EVMMAX, because without fixed limits, developers cannot create safe and optimized execution paths. To reduce these issues and make Ethereum more stable, this proposal adds strict maximum sizes to MODEXP inputs so that the precompile becomes safer, easier to test, and more predictable. EIP-7823 は、単純なルールを導入します: MODEXP が使用する 3 つの長さフィールド(BASE、EXPONENT、MODULUS のサイズ)はすべて、 , which is 1024 bytes. MODEXP inputs follow the format で定義されたように、 したがって、この EIP は長さ値を制限するだけです。 長さが 1024 バイトを超える場合、プレコンパイルは直ちに停止し、エラーを返し、すべてのガスを燃焼します。 たとえば、誰かが 2000 バイトの長さの BASE を提供しようとすると、呼び出しは仕事が起こる前に失敗します。 これらの制限は依然としてすべての実際の使用ケースをサポートします。 RSA 検証は通常、新しい制限の範囲内にある 1024, 2048 または 4096 ビットなどのキーサイズを使用します。 エリプティック曲線操作では、さらに小さいサイズを使用し、しばしば 384 ビット未満で、それらも影響を受けません。 8192 bits or less <len(BASE)> <len(EXPONENT)> <len(MODULUS)> <BASE> <EXPONENT> <MODULUS> EIP-198 これらの新しい制限は、将来のアップグレードにも役立ちます。MODEXPがEVMコードでEVMMAXを使用して再書き換えられた場合、開発者は256ビット、381ビット、または2048ビットなどの一般的な入力サイズのための最適化されたパスを追加し、より稀なケースのための遅いパスバックを使用することができます。固定された最大サイズで、開発者は非常に一般的なモジュール値のための特別な操作を追加することができます。 To confirm that this change would not break past transactions, the authors analyzed all MODEXP usage from block 5,472,266 (April 20, 2018) to block 21,550,926 (January 4, 2025). The results show that no successful historical MODEXP call ever used inputs larger than , far below the new 1024-byte limit. Most real calls used small lengths like 32 bytes, 128 bytes, or 256 bytes. There were a few invalid or broken calls, such as empty inputs, inputs filled with repeating bytes like , and one extremely large but invalid input. These would behave the same under the new limits because they were already invalid. So, while the EIP is technically a breakthrough change, in practice it would not have changed the outcome of any past transaction. これらは、すでに無効だったため、新しい限界の下で同じように振る舞うだろう。 513 bytes 0x9e5faafc From a security point of view, reducing the allowed input sizes does not create new risks. Instead, it removes unnecessary extreme cases that previously caused bugs and inconsistencies across clients. By limiting MODEXP inputs to realistic sizes, this EIP makes the system more predictable, reduces strange corner cases, and lowers the chance of errors between different implementations. These constraints also help prepare the system for a smoother transition if future upgrades like EVMMAX introduce optimized execution paths. : Transaction Gas Limit Cap EIP-7825 EIP-7825 Ethereumがこの提案を必要としたのは、今日の単一取引がほぼすべてのブロックガス限界を使用できるためです。これはいくつかの問題を生み出す:一つの取引がブロックの資源のほとんどを消費し、DoSスタイルの減速を引き起こす可能性があるため、大型ガス重量の取引はEthereumの状態をあまりにも速く高める可能性があり、ブロック検証はノードを追跡するのに遅くなり、より困難になります。もしユーザーがほぼすべてのガスを使用する巨大な取引を提出する場合(例えば、40万ガスブロックで3800万ガスを消費する取引)、その他の通常の取引はブロックに適合できず、各ノードはブロックの検証に余分な時間を費やさなければなりません。これはネットワーク EIP-7825 は、取引が 1 つ以上使用できないという厳格なルールを導入します。 . This becomes a protocol-level cap, meaning it applies everywhere: when a user sends a transaction, when the txpool checks it, and when validators include it in a block. If someone sends a transaction with a gasLimit higher than this number, the client must reject it immediately with an error such as たとえば、ブロックガス制限が4000万である場合でも、単一の取引では1670万以上のガスを使用することは許されません。 16,777,216 gas (2²⁴) MAX_GAS_LIMIT_EXCEED MAX_GAS_LIMIT_EXCEED これをよりよく理解するためには、ブロックに4000万台のガス容量があることを想像してください。このカプセルがなければ、誰かが35〜4000万台のガスを消費する単一の取引を送ることができます。その取引はブロックを独占し、他の誰にも余裕がありません。 提案はまた、クライアントがトランザクションを検証する方法に具体的な要件を追加します。 txpool は、その gasLimit が 16,777,216 を超える場合、トランザクションを拒否しなければなりません、つまり、そのようなトランザクションは決して列に入ることはありません。ブロック検証の際、ブロックに限界を超えるトランザクションが含まれている場合、ブロック自体は拒否されなければなりません。 番号 was chosen because it is a clean power-of-two boundary, making it easier to implement, and it is still large enough to handle most real-world transactions such as smart contract deployments, complex DeFi interactions, or multi-step contract calls. This value is roughly half of the typical block size, meaning even the most complex transactions should still fit comfortably within this limit. 16,777,216 (2²⁴) このEIPはまた、現在のガスメカニズムと互換性を維持します。ほとんどのユーザーは、既存のすべての取引がすでに1600万ガスを消費しているため、変更に気付かないでしょう。検証者とブロックビルダーは、それぞれの取引が新しいカプセルを尊重する限り、1670万を超えるブロックを作成することができます。影響を受けた唯一の取引は、以前は新しい限界を超える使用を試みた極めて大きな取引です。これらの取引は、非常に大きなファイルを2つの小さなファイルにアップロードするのと同様に、複数の小さな操作に分割されなければなりません。 セキュリティの面では、ガスキャップは、攻撃者が超大型トランザクションを処理するように強制することはできないため、ガスベースのDoS攻撃に対してEthereumをより抵抗し、ノードがより容易に同期できるようにブロック検証時間を予測できるようにするのに役立ちます。 全体として、EIP-7825は、ネットワークを悪用から強化し、ノード要件を合理的に維持し、ブロック空間の利用の公平性を向上させ、ガス制限が時間とともに増加し続けるにつれて、チェーンが迅速かつ安定していることを保証するように設計されています。 : ModExp Gas Cost Increase EIP-7883 エピソード7883 Ethereumがこの提案を必要とする理由は、ModExpのプレコンパイル(モジュール曝露に使用)が compared to the actual resources it consumes. In some situations, ModExp operations require far more computation than what users are currently paying for. This mismatch creates a risk: if complex ModExp calls stay too cheap, they can become a and make it harder for the network to safely increase the block gas limit, since block producers may be forced to process extremely heavy operations for very little cost. To fix this, Ethereum needs to adjust the ModExp pricing formula so that the gas used properly reflects the real work done by the client. That is why EIP-7883 introduces new rules that increase the minimum cost, raise the general cost, and make operations with large inputs (especially exponents, base, or modulus over 32 bytes) more expensive, so the gas pricing matches the true computation required. underpriced bottleneck この提案は、EIP-2565で最初に定義されたModExpの価格設定アルゴリズムを、いくつかの重要な方法でコストを増やすことによって変更します。 200から500に引き上げられ、一般式はもはや3で分けられなくなり、つまり総コストは効果的に たとえば、以前 ModExp 通話が 1,200 ガスにかかっていた場合、新しい公式の下で約 3,600 ガスにかかります。 複数を 8 から 16 に増やすことで倍増します。例示として、エクスペンターの長さが 40 バイトだった場合、EIP-2565 は to the iteration count, while EIP-7883 now uses 値段が2倍になるので、今は値段が2倍になります。 たとえば、モジュールが64バイトである場合、新しいルールは複雑さの2倍を適用します( )の代わりに、古いより単純な公式、大数値算法の実際のコストを反映します。これらの変更は、小規模なModExpオペレーションが公平な最低手数料を支払うことを保証し、大規模な、重いオペレーションはそのコストを適切にサイズにスケールします。 minimum gas cost three times higher exponents larger than 32 bytes 8 × (40 − 32) = 64 16 × (40 − 32) = 128 minimum base/modulus size of 32 bytes 2 × words² この提案は、複雑性と反復数規則を更新する新しいガス計算機能を定義します。 複雑性は、現在、最大32バイトまでのベース/モジュールの長さのための16のデフォルト値を使用し、より大きな入力ではより重い式に切り替えます。 , where "words" is the number of 8-byte chunks. The iteration count is also updated so that exponents of 32 bytes or smaller use their bit length to determine complexity, but exponents larger than 32 bytes add a much larger penalty. This ensures that very large exponents, which are computationally expensive in practice, now have a much higher gas cost. 重要なのは、最小返還ガスコストは以前の200よりも500として強制され、最もシンプルなModExp通話をより現実的に価格化する。 2 × words² The motivation behind these pricing increases comes from benchmarks showing many situations where the ModExp precompile was significantly underpriced. The revised formula raises small operations by 周りの典型的な作業 , and very large or unbalanced operations by much larger factors - sometimes more than — depending on how large the exponent, base, or module is. The intention is not to change how ModExp works, but to ensure that even in its most resource-intensive edge cases it no longer threatens network stability or prevents future increases to the block gas limit. なぜなら、このEIPは、ModExpが必要とするガスの量を変更するため、それは、 , but gas repricing has happened many times before in Ethereum and is well-understood. 150% 200% 80× backward-incompatible テスト結果は、増加がどれほど重要であるかを示しています。 ガス価格は現在500ガス(200から上昇)または以前の価格の3倍になりますが、いくつかの重量テストケースでは膨大な増加が見られます。 別のケースでは、ベース重量の操作を含む場合、コストは 1,026 から 94,448 までのガスで、これは大数の倍数が実際にどのようにスケールするかを反映しています。 99.69% of historical ModExp calls 76× more セキュリティの面では、この提案は新しい攻撃ベクターを作成したり、任意の操作をより安くするものではありません。代わりに、重要なリスクを防止することに焦点を当てています:低価格のModExp操作は、攻撃者が非常に低コストで非常に重い計算でブロックを埋めることを可能にする可能性があります。 Test Case EIP-2565 Pricing EIP-7883 Pricing Increase modexp_nagydani_1_square 200 500 150% modexp_nagydani_1_qube 200 500 150% modexp_nagydani_1_pow0x10001 341 2048 501% modexp_nagydani_2_square 200 512 156% modexp_nagydani_2_qube 200 512 156% modexp_nagydani_2_pow0x10001 1365 8192 501% modexp_nagydani_3_square 341 2048 501% modexp_nagydani_3_qube 341 2048 501% modexp_nagydani_3_pow0x10001 5461 32768 500% modexp_nagydani_4_square 1365 8192 501% modexp_nagydani_4_qube 1365 8192 501% modexp_nagydani_4_pow0x10001 21845 131072 500% modexp_nagydani_5_square 5461 32768 500% modexp_nagydani_5_qube 5461 32768 500% modexp_nagydani_5_pow0x10001 87381 524288 500% modexp_marius_1_even 2057 45296 2102% modexp_guido_1_even 2298 51136 2125% modexp_guido_2_even 2300 51152 2124% modexp_guido_3_even 5400 32400 500% modexp_guido_4_even 1026 94448 9105% modexp_marcin_1_base_heavy 200 1152 476% modexp_marcin_1_exp_heavy 215 16624 7632% modexp_marcin_1_balanced 200 1200 500% modexp_marcin_2_base_heavy 867 5202 500% modexp_marcin_2_exp_heavy 852 16368 1821% modexp_marcin_2_balanced 996 5978 500% modexp_marcin_3_base_heavy 677 2032 200% modexp_marcin_3_exp_heavy 765 4080 433% modexp_marcin_3_balanced 1360 4080 200% トップ > トップ > トップ > トップ > 200 500 150% トップ > トップ > トップ > トップ > トップ > 200 500 150% modexp_pow0x10001 341 2048 501% トップ > トップ > トップ > トップ > 2 200 512 156% modexp_nagydani_2_qube 200 512 156% modexp_pow_2_pow0x10001 1365 8192 501% modexp_nagydani_3_square 341 2048 501% modexp_nagydani_3_qube 341 2048 501% modexp_nagydani_3_pow0x10001 5461 32768 500% modexp_nagydani_4_square 1365 8192 501% modexp_nagydani_4_qube 1365 8192 501% modexp_nagydani_4_pow0x10001 21845 131072 500% modexp_nagydani_5_square 5461 32768 500% トップ > トップ > トップ > トップ > 5 5461 32768 500% modexp_nagydani_5_pow0x10001 87381 524288 500% modexp_marius_1_even 2057 45296 2 02% トップ > ガイド > 1 2298 51136 2125% modexp_guido_2_even 2300 51152 2124% トップ > ガイド > 3 5400 32400 500% トップ > ガイド > 4 1026 94448 9105% modexp_marcin_1_base_heavy 200 1152 476% modexp_marcin_1_exp_heavy 215 16624 7632% modexp_marcin_1_balanced 200 1200 500% modexp_marcin_2_base_heavy ハード 867 5202 500% modexp_marcin_2_exp_heavy 852 16368 1821% modexp_marcin_2_バランスをとる 996 5978 500% modexp_marcin_3_base_heavy 677 2032 200% modexp_marcin_3_exp_heavy 765 4080 433% modexp_marcin_3_バランスをとる 1360 4080 200% *source: https://eips.ethereum.org/EIPS/eip-7883#test-cases* : Determine proposer lookahead EIP-7917 EIP-7917 Ethereumは、次の時代のネットワークのプロポーターのスケジュールが完全に予測できないため、この提案を必要としていました。 is known during epoch , the actual proposer list could still change due to effective balance (EB) updates happening inside epoch . These EB changes can come from slashings, penalties, rewards above 1 ETH, validator consolidations, or new deposits—especially after EIP-7251 raised the maximum effective balance beyond 32 ETH. This uncertainty creates issues for systems that rely on knowing the next proposer in advance, such as based preconfirmation protocols, which need a stable and predictable schedule to operate smoothly. A validator could even try to “grind” or manipulate their effective balance to influence who becomes the proposer next epoch. Because of these problems, Ethereum needed a way to make the proposer schedule fully deterministic several epochs ahead so it cannot be changed by last-minute EB updates and can be easily accessed by the application layer. N+1 N N To implement this, the EIP introduces a deterministic proposer lookahead by pre-computing and storing the proposer schedule for the next MIN_SEED_LOOKAHEAD + 1 epochs at the start of every epoch. In simple terms, the beacon state now contains a list called that always covers two full epochs of proposers - 64 slots in total. For example, when epoch N begins, this list already includes the proposer for every slot in epoch N and epoch N+1. Then, when the network moves to epoch N+1, the list is shifted forward: the proposer entries for epoch N are removed, the entries for epoch N+1 move to the front, and new proposer entries for epoch N+2 are added at the end. This makes the schedule fixed, predictable, and easy for clients to read directly, instead of recomputing proposers every slot. proposer_lookahead これを更新するために、リストは各時代の境界で前進する:過去の時代のデータは削除され、次の将来の時代のための新しい提案者インデックスのセットが計算され、付加されます。このプロセスは、以前と同じ種子と効果的なバランスのルールを使用しますが、現在のスケジュールはより早く計算されています。 Imagine each epoch has 8 slots instead of 32 (just for simplicity). Without this EIP, during epoch 5, you know the seed for epoch 6, but the actual proposer for slot 2 of epoch 6 could still change if a validator gets slashed or earns enough rewards to change their effective balance inside epoch 5. With EIP-7917, at the of epoch 5, Ethereum pre-calculates all proposers for epoch 5, 6, and 7 and stores them in order inside 現在、バランスが5世紀以降に変化しても、6世紀の提案者リストは固定的で予測可能である。 start proposer_lookahead This EIP fixes a long-standing oversight in the beacon chain design. It guarantees that once the RANDAO from earlier epochs becomes available, the validator selection for future epochs cannot be altered. This also prevents “effective balance grinding,” where a validator tries to adjust their balance after seeing the RANDAO to influence the next epoch’s proposer list. With deterministic lookahead, that entire attack vector is eliminated, making the security analysis much simpler. It also gives consensus clients early visibility into who will propose upcoming blocks, which helps implementations and allows the proposer schedule to be easily verified by the application layer via a Merkle proof from the beacon root. 著者らは、時代の初めに効果的なバランスをキャッシュするなどの代替案を検討したが、それは追加のストレージを必要とし、スケジュールをEVMに暴露しなかった。彼らはまた、Single Secret Leader Election(SSLE)などの将来の機能との互換性をチェックした。 Before this proposal, clients only calculated the proposer for the current slot. With EIP-7917, they now compute the proposer list for all slots in the next epoch at once during every epoch transition. This adds a small amount of work, but computing proposer indices is very light and mainly involves sampling validator lists using the seed. However, clients will need benchmarking to make sure this extra computation does not cause performance issues. This EIP does not change how the RANDAO delay works. The proposer lookahead for epoch RANDAO of epoch に由来する . The only change is that effective balances are now aligned with the same delay, so validators cannot modify their EB after seeing the RANDAO result. This removes a potential manipulation strategy, even though no attack had been discovered yet. The deterministic lookahead therefore, strengthens security and prevents malicious alteration of proposer schedules. N N − MIN_SEED_LOOKAHEAD − 1 : Blob base fee bounded by execution cost EIP-7918 エピソード7918 Ethereum needs this proposal because the current blob fee system (from ) breaks down when execution gas becomes the main cost for rollups. Right now, most rollups pay much more for execution gas (the cost of including their blob transaction in the block) than they pay for the actual blob fee. This creates a problem: even if Ethereum keeps lowering the blob base fee again and again, the rollup’s total cost does not really change, because the expensive part is still the execution gas. Because of this, the blob base fee keeps falling until it reaches the absolute minimum (1 wei), and the protocol can no longer use the blob fee to control demand. Then, when blob usage suddenly goes up, the blob fee needs many blocks to climb back to a normal level. This makes prices unstable and unpredictable for users. EIP-4844 For example, imagine a rollup wants to post its data: it pays about 25,000,000 gwei in execution gas (25 gwei per gas for roughly 1,000,000 gas), while the blob fee is only around 200 gwei. This means the total cost is roughly 25,000,200 gwei, where almost the entire cost comes from execution gas, not the blob fee. If Ethereum keeps lowering the blob fee—say from 200 gwei to 50 gwei, then to 10 gwei, and eventually down to 1 wei—the total cost barely changes at all, staying almost exactly 25,000,000 gwei. Because users don’t feel any difference, they don’t change their behavior, so the protocol keeps pushing blob fees down until they hit the minimum possible value. Then, when blob demand suddenly increases again, the blob base fee has to climb all the way up from 1 wei, causing sharp, unpredictable fee spikes. fixes this by introducing a minimum “reserve price” for blob fees that depends on the execution base fee, preventing blob prices from falling unrealistically low and keeping blob pricing much more stable and predictable for rollups. エピソード7918 The core idea of EIP-7918 is simple: the price of a blob should never be cheaper than the cost of a certain amount of execution gas (called ). In the EIP, this constant is set to . The mechanism works through a small change inside the 機能. 通常、この機能は、ブロックがターゲットよりもより多くのブロックガスを使用しているかどうかに応じて、ブロックベース料金を増やしたり減らしたりします. この提案により、ブロックが実行ガスと比較して「あまりにも安く」になる場合、この機能はターゲットブロックガスを減らすのを止めます. これにより、過剰なブロックガスがより速く成長し、ブロックベース料金がさらに低下するのを防ぐ。 . BLOB_BASE_COST 2¹³ calc_excess_blob_gas() BLOB_BASE_COST × base_fee_per_gas ÷ GAS_PER_BLOB なぜこれが必要なのかを理解するには、ブロブ需要を調べるのに役立ちます。 ロールアップは、支払う総価格について関心を持ちます:実行コストとブロブコスト。 例えば、ガス料金が非常に高い場合(例えば、20 gwei)、ブロブ料金が2 gweiから0.2 gweiに下がっても、総コストはほとんど変わりません。 .” It creates a situation where the demand curve is almost vertical: lowering price does not increase demand. When this happens, the blob base fee mechanism becomes blind—it keeps lowering the price even though demand does not react. That is why the blob base fee often slides down to 1 wei. Then, when real demand increases later, the protocol needs an hour or more of nearly full blocks to raise the fee back up to a reasonable level. EIP-7918 fixes this by establishing a reserve price tied to execution gas so that blob fees remain meaningful even when execution costs dominate. fee inelasticity この予備価格を追加するもう一つの理由は、ノードがブロブデータのKZG証拠を検証するために多くの追加作業をしなければならないということです これらの証拠は、ブロブ内のデータが実際にそのコミットメントに一致することを保証するものです。 , a node only had to verify one proof per blob, which was cheap. But with (PeerDAS), blobs are broken into many small pieces called cells, and every cell has its own proof. This makes verification much heavier. For example, the execution layer now has to batch-verify 128 proofs for every single blob before a transaction can even enter the mempool—this is about fifteen times more expensive than the normal KZG proof verification that smart contracts pay for. On top of that, full nodes, supernodes, and validators must verify even more proofs depending on how many columns they store or sample. A typical full node must verify proofs for all blobs in the mempool, plus eight sampled columns every slot, plus four columns it permanently custodies. All of this uses real CPU time, and it isn’t free for node operators. If blob fees drop too low, users would get this expensive compute work from the network essentially for free. By linking the blob reserve price to execution gas fees, EIP-7918 makes sure blob users always pay at least a fair minimum amount for the load they put on nodes. EIP-4844 EIP-7594 長期的には、EIP-7918はまた、Ethereumを将来のために準備するのに役立ちます。テクノロジーが向上するにつれて、データの保存と共有のコストは自然に安くなり、Ethereumは時間とともにより多くのブロブデータを許可することを期待されます。ブロブ容量が増加すると、ブロブ料金(ETH)は自然に低下する必要があります。この提案は、バージョン価格が実行ガス価格に結びついているため、固定数ではなく、ネットワークが成長するにつれて調整することができることを支持します。ブロブスペースと実行ブロックスペースの両方が拡大するにつれて、価格関係はバランスのとれたままです。バージョン価格があまりにも高くなることがあるのは、Ethereumがブロブ容 ) is considered safe and well-balanced. BLOB_BASE_COST = 2¹³ 実行ガス料金が突然ジャンプするときには理解するための小さな詳細があります。 ブロブの予備価格は実行ベース料金に依存しているため、実行コストの突然の増加は、実行コストがそれらを導く状態にブロブコストを一時的に押し込むことができます。 例えば、実行ガスが突然ブロブコストの20wから60wまでジャンプすることを想像してください。 ブロブコストの予備価格がその数に縛られているので、ブロブコストは新しい高いレベルの下に落ちることはできません。 ブロブコストは通常、ブロブコストが使用されている場合に増加しますが、プロトコルは、ブロブコストの急激な変動を防止し、より高い実行コストに匹敵する The authors also performed empirical analysis by applying the reserve price rule to real blob activity from and 実施期間中(約) ), the reserve threshold significantly increased the blob base fee compared to the old mechanism. During low-execution-fee periods (around ), blob 料金は、計算された blob ベース料金が準備価格の下に落ちたときを除き、ほぼ変わらずに残りました. By comparing thousands of blocks, the authors show that the new mechanism creates more stable pricing while still responding naturally to demand. A histogram of four months of blob fees shows that the reserve price prevents blob fees from collapsing toward 1 wei, which reduces extreme volatility. ブロブ 料金の計算されたベース料金が準備価格の下に落ちることを示しています. November 2024 March 2025 16 gwei average 1.3 gwei average セキュリティの面では、変更はリスクを伴わない. ブロブベース料金は常に価格の値段または値段を上回ります。 units of execution gas. This is safe because the mechanism only raises the minimum fee, and setting a lower bound on pricing does not interfere with protocol correctness. It simply ensures healthy economics. BLOB_BASE_COST : RLP Execution Block Size Limit EIP-7934 エイプ7944 Before EIP-7934, Ethereum did 理論的には、ブロックは多くのトランザクションまたは非常に複雑なデータが含まれている場合に非常に大きくなる可能性があります。 そして ブロックが大きすぎると、ノードがダウンロードして検証するのに時間がかかるので、ブロックの拡散が遅くなり、一時的なブロックチェーンフォークの可能性が高まります。さらに悪いことに、攻撃者は意図的に非常に大きなブロックを作成し、ノードを過剰に負荷させ、遅延を引き起こすか、オフラインでそれらを打撃する可能性があります - クラシックなサービス拒否シナリオです。 , meaning oversized execution blocks could fail to spread across the network, creating fragmentation or nodes disagreeing on the chain. Because of these risks, Ethereum needed a clear, protocol-level rule to prevent oversized blocks and keep the network stable and secure. not network instability DoS attack risks 10 MB EIP-7934は、この問題を解決するために、 トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > ( ) is set to , but because beacon blocks also consume some space ( ビーコンブロックもいくつかのスペースを消費するため) ), Ethereum adds a . This means the actual maximum RLP-encoded execution block size allowed is . If the encoded block is larger than this limit, the block is considered このルールが適用されると、ブロックプロデューサーは、彼らが構築する各ブロックの暗号化されたサイズをチェックし、検証者は、ブロック検証中にこの制限を検証しなければなりません。 of gas limits -meaning even if a block is “ ” it can still be rejected if its encoded size is too large. This ensures that both gas usage and real byte-size constraints are respected. protocol-level cap MAX_BLOCK_SIZE 10 MiB (10,485,760 bytes) SAFETY_MARGIN 2 MiB (2,097,152 bytes) MAX_RLP_BLOCK_SIZE = MAX_BLOCK_SIZE - SAFETY_MARGIN invalid independently under the gas limit, Choosing a was intentional because it matches the existing constraint in the consensus layer gossip protocol. Anything larger than 10 MiB would not be broadcast across the network anyway, so this EIP brings the execution layer into alignment with the consensus layer’s limits. This creates consistency across all components and prevents situations where a valid execution block becomes “invisible” because the CL refuses to gossip it. 10 MiB cap This change is with blocks larger than the new limit, meaning miners and validators must update their clients to respect the rule. However, since oversized blocks were already problematic and not normal in real operation, the impact is minimal. In terms of security, this EIP significantly strengthens Ethereum against targeted block-size DoS attacks by ensuring no participant can create blocks that overwhelm the network. Overall, EIP-7934 adds an important safety boundary, improves stability, aligns EL and CL behavior, and prevents several classes of attacks related to oversized block creation and propagation. not backward-compatible : Count leading zeros (CLZ) opcode EIP-7939 エピソード7939 Before this EIP, Ethereum had to count the number of leading zero bits in a 256-bit number. Developers had to implement CLZ manually in Solidity using many bit-shift operations and comparisons. This was a big problem because the custom implementations were そして、 ゼロ知識証明システムでは、コストはさらに高かった - 右移行は証明するのに非常に高価なので、CLZのような操作はZK回路を大幅に遅らせた。CLZは数学図書館、圧縮アルゴリズム、ビットマップ、署名スケジュール、および多くの暗号化またはデータ処理タスクで使用される非常に一般的な低レベルの機能であるため、Ethereumはそれを計算するためのより速く、より安価な方法が必要でした。 no built-in opcode slow, expensive used a lot of bytecode EIP-7939は、この問題を解決するために、 . This opcode takes a 256-bit value from the stack and returns the number of leading zero bits. If the input number is zero, the opcode returns なぜなら、256ビットゼロには256の主要ゼロビットがあるからです。これは、ARMやx86のような多くのCPUアーキテクチャでCLZがどのように機能するかと一致しています。 で、 で、 , various math functions, byte-string comparisons, bitmap scanning, calldata compression/decompression, and post-quantum signature schemes all benefit from faster leading-zero detection. new opcode called CLZ (0x1e) 256 lnWad powWad LambertW 同様に、A , and slightly raised from the old MUL price to avoid underpricing the opcode and causing DoS risks. Benchmarks show that CLZ uses roughly the same computational effort as ADD, and in the SP1 rv32im proving environment, CLZ is actually , reducing ZK proving costs. The EIP also explains why they chose CLZ instead of : CTZ から CLZ を使用して CTZ を計算できます。 しかし、あなたは 確実にCTZを使用してCLZを実装するので、CLZはより根本的です。 The gas cost for CLZ is set to 5 ADD cheaper to prove than ADD CTZ (count trailing zeros) x & -x cannot この EIP は完全に後ろ向きに互換性があるため、 opcode and does not modify any existing behavior. It also covers edge cases clearly: for example, the opcode returns 256 when the input is zero, and several test cases show inputs like all-zero, top-bit-set, and fully-nonzero values. Since CLZ has predictable and low gas cost, no memory growth, and no state changes, it is safe from denial-of-service issues. new Overall, EIP-7939 makes Ethereum faster, cheaper, and more developer-friendly by adding a simple, efficient primitive that modern CPUs already support — cutting gas, reducing bytecode size, and lowering ZK proving costs for many common operations. : Precompile for secp256r1 Curve Support EIP-7951 EIP-7951 この EIP 以前、Ethereum は have a safe, native way to verify digital signatures created using the . This curve is the standard used in modern devices like このサポートが欠けているため、アプリや財布は簡単にデバイスレベルのハードウェアセキュリティを使用して署名することはできませんでした。 related to point-at-infinity handling and incorrect signature comparison. These issues could cause incorrect verification or even risk consensus failures. not secp256r1 (P-256) curve Apple Secure Enclave, Android Keystore, HSMs, TEEs, and FIDO2/WebAuthn security keys two serious security vulnerabilities EIP-7951 fixes those security problems and introduces a safe, native precompile so Ethereum can finally support signatures from modern hardware securely and efficiently. EIP-7951 追加 アドレス 呼び出し , which performs ECDSA signature verification using the secp256r1 curve. This makes signature verification fast and cheap compared to implementing the algorithm directly in Solidity. The precompile uses the official curve parameters defined by NIST, including the field module, curve equation, base point, and subgroup order, ensuring strong cryptographic security. Points and scalars are encoded in strict 32-byte big-endian format, and a 64-byte all-zero value is used to represent the point at infinity. The precompile expects exactly —the hash, signature (r, s), and public key coordinates (qx, qy)—and it returns for success or for failure. precompiled contract 0x100 P256VERIFY 160 bytes of input 32 bytes of 1 empty output The EIP also defines strict . It checks that r and s are within valid ranges, that the public key lies on the curve, and that it is not the point at infinity. If anything is invalid, the precompile returns failure without reverting and consumes the same gas as a successful call. The verification algorithm follows standard ECDSA: it computes s⁻¹ mod n, rebuilds the signing point R’, rejects if R’ is infinity, and finally checks whether the x-coordinate of R’ matches r (mod n). This corrects the mistake in RIP-7212, which compared r’ directly instead of reducing it mod n. input validation rules The secp256r1 curve is fully defined by the following set of parameters: Base field modulus = p = 0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff Curve equation: y^2 = x^3 + ax + b (mod p) Curve coefficient a = 0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc Curve coefficient b = 0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b Base point G: Gx = 0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296 Gy = 0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5 Subgroup order = n = 0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551 Cofactor = h = 0x1 これらのパラメータは、SP 800-1861でNISTによって標準化されています。 The gas cost for the operation is set to RIP-7212 バージョンよりも高く、しかし、secp256r1 検証の実際のパフォーマンス基準に合致します。重要なことに、インターフェイスは、すでに RIP-7212 を展開しているレイヤー 2 ネットワークと完全に互換性があります - 同じアドレス、同じ入力/出力フォーマット - 既存のスマート コントラクトは変更なく動作し続けるでしょう。 6900 gas Input: P256VERIFY call excepts 160 Bytes as input that is interpreted as byte concatenation of: 32 bytes ----> message hash (h) 32 bytes ----> signature component (r) 32 bytes ----> signature component (s) 32 bytes ----> public key x-coordinate (qx) 32 bytes ----> public key y-coordinate (qy) Output: will be 32 bytes on successfull verification and 0 bytes on failure Input Validation: The precompile MUST perform the following validation checks and return `` (failure) if any check fails: 1. Input length: Input MUST be exactly 160 bytes 2. Signature component bounds: Both r and s MUST satisfy 0 < r < n and 0 < s < n 3. Public key bounds: Both qx and qy MUST satisfy 0 ≤ qx < p and 0 ≤ qy < p 4. Point validity: The point (qx, qy) MUST satisfy the curve equation qy^2 ≡ qx^3 + a*qx + b (mod p) 5. Point not at infinity: The point (qx, qy) MUST NOT be the point at infinity (represented as (0, 0)) From a security standpoint, the EIP restores proper ECDSA behavior, eliminates malleability concerns at the precompile level (leaving optional checks to applications), and clarifies that constant-time execution is not required for the precompile. The secp256r1 curve provides 128-bit security and is widely trusted and analyzed, making it safe for Ethereum adoption. In short, 以前の提案のセキュリティ問題を修正し、生態系全体でP-256の署名を検証する信頼性の高い標準化された方法を提供します。 EIP-7951 is needed to safely bring modern hardware-backed authentication to Ethereum The table below summarizes which Ethereum clients need to implement changes for each Fusaka EIP. A check mark under EIP がコンセンサス レイヤー クライアントにアップデートを必要とすることを示し、下のチェックマークが表示されます。 変更が実行層クライアントに影響を与えることを示しています. Some EIPs require updates in both layers, while others are specific to only one. Consensus Client Execution Client EIP Number EIP Name Consensus Client Execution Client EIP-7594 PeerDAS - Peer Data Availability Sampling ✅ ✅ EIP-7823 Set upper bounds for MODEXP ✅ EIP-7825 Transaction Gas Limit Cap ✅ EIP-7883 ModExp Gas Cost Increase ✅ EIP-7917 Deterministic proposer lookahead ✅ EIP-7918 Blob base fee bounded by execution cost ✅ EIP-7934 RLP Execution Block Size Limit ✅ EIP-7939 Count leading zeros (CLZ) opcode ✅ EIP-7951 Precompile for secp256r1 Curve Support ✅ エピソード7594 PeerDAS - Peer Data Availability Sample ✅ ✅ エピソード7823 Set upper bounds for MODEXP ✅ EIP-7825 ガス取引制限 ✅ エピソード7883 ModExpガスコストの値上げ ✅ EIP-7917 タイトル: Deterministic Proposer Lookahead ✅ エピソード7918 Blob Basic Fee Limited by Execution Cost(実行コストで制限される) ✅ エイプ7944 RLP実行ブロックサイズ制限 ✅ エピソード7939 Count leading zeros (CLZ) opcode ✅ EIP-7951 Precompile for secp256r1 Curve Support ✅ 要約すると、これらはFusakaハードフォークに含まれる主要なEIPですが、いくつかの改善はコンセンサスと実行クライアントの両方に影響を与えますが、ガス調整やオプコードの更新から新しいプレコンパイルまで、 , peer-to-peerデータ可用性サンプル化を導入し、ネットワーク上のblobデータのより効率的かつ分散的な取り扱いを可能にします。 major change of this upgrade is PeerDAS