Cointime

Download App
iOS & Android

Inclusion List (EIP-7547) End to End Workflow

From Resear.ch by terence

Inclusion List Variation: Inclusion List summary of slot n is committed to Beacon Block of slot n

This document details a version of the inclusion list (EIP-7547) where the current slot inclusion list summary is committed within a block. The inclusion list transaction is broadcasted out of the band as a side car. The document is divided into multiple sections, each supplemented by diagrams. These sections cover the processes of receiving and verifying the block and the inclusion list and proposing the block and inclusion list. A special note highlights the splitting scenario where manual requests for the inclusion list as a disadvantage of this version.

Thank you @Potuz for identifying some initial errors and providing feedback.

Components

We first examine the various components required to make the inclusion list work.

Screenshot 2024-02-26 at 3.22.48 PM1020×463 20.7 KB

  • Consensus layer (CL) clients: Lodestar, Nimbus, Teku, Lighthouse, and Prysm
  • Validator client: The same team implements both CL and validator clients. A validator client could interop with a different pair of CL clients.
  • Execution layer (EL) client: Geth, Nethermind, Besu, Erigon, and Reth
  • Relayer: Ultrasound, Bloxroute, Flashbots, Agnostic Gnosis and moreMEV-boost is omitted. For now, assume a direct connection from the CL client to the relayer
  • MEV-boost is omitted. For now, assume a direct connection from the CL client to the relayer
  • Consensus P2P: A P2P gossip mesh where consensus objects, such as beacon blocks, attestations, and exits, are gossiped. For this post, a node can get block and IL(s) at different time.
  • Execution API: An API that defines the interaction between the CL client and the EL client.
  • Validator API: An API that defines the interaction between the CL client and the validator client.
  • Builder API: An API that defines the interaction between the CL client and the relayers.
  • Execution Mempool: The source of the inclusion list transactions. How they are selected in implementation detail.

Validating a Consensus Layer Inclusion List at Slot n

First, we look at what happens when a CL client receives an inclusion list over the network.

Screenshot 2024-02-26 at 3.30.27 PM939×351 41.3 KB

  1. Signed inclusion list(s) are received over the wire from the inclusion list gossip network. A proposer may send multiple inclusion lists.
  2. After an inclusion list passes gossip validations (slot, proposer index, and signature), it is re-gossiped to peers. Clients should only gossip one inclusion list max. Clients should only import one inclusion list max. The proposer can distribute different inclusion lists to various peers, deliberately obscuring which one you receive, knowing that peers will only gossip back and import at most one list.
  3. The CL client forwards the inclusion list to the EL client for validation using the Execution-API’s newInclusionList.
  4. The EL client verifies that the inclusion list is valid for slot n and has sufficient gas limit for validation in slot n+1.

Validating a Consensus Layer Block at Slot n

Second, we look at what happens when a CL client receives a beacon block over the network.

Screenshot 2024-02-26 at 3.30.59 PM981×358 48.1 KB

  1. Signed block is received over the wire from beacon block gossip net.
  2. Once the block passes gossip validations, it is re-gossiped to its peers.
  3. For consensus validation, the block payload’s previous IL summary should match the one from the parent beacon state, ensuring alignment across blocks.
  4. The block’s current IL summary root is cached in the beacon state for slot n+1 consensus validation.
  5. The CL client forwards the payload to the EL client for validation via Execution-API’s newPayload.
  6. For execution validation, assuming the EL client has stored previous IL transactions and historical execution blocks, it verifies that the current payload’s previous IL summary aligns with previous IL transactions.
  7. The EL client checks that current payload transactions satisfy all IL transactions (7a), ensuring transactions not satisfied in the current slot were satisfied in slot n-1 (7b).

Determining a Head for a Block at Slot n

Third, how does a node determine the canonical head that is different than today?

Screenshot 2024-02-26 at 3.32.06 PM702×249 13.7 KB

  • Today, the client verifies consensus and execution in parallel for beacon blocks.
  • Post Dencun: the client will not import the beacon block into the fork choice store until the blob is available.
  • We extend the previous assumption hold until the inclusion list is available. This implies the block can not be the head until the corresponding inclusion list is available and verified.
  • The CL client can verify the inclusion list and block in parallel. One of the inclusion lists must match the one specified by the summary in the block. The EL client must verify the inclusion list conforms to the summary for the slot
  • The CL client can also verify consensus and execution in parallel for the inclusion list.

Proposing an Inclusion List at Slot n

As a proposer, let’s first look at how to construct and broadcast an inclusion list for an assigned slot n.

Screenshot 2024-02-26 at 3.32.39 PM777×383 27.4 KB

  1. At the start of slot n, the CL client requests a new inclusion list from the EL client via the Execution-API’s newInclusionList.
  2. This inclusion list is then passed to the validator client for signing.
  3. The CL client records the inclusion list, which will be used in block proposal, and then broadcasts the signed inclusion list to the inclusion list gossip network.

Proposing a Beacon Block at Slot n using mev-boost

Second, let’s look at what changed with block construction using builder API and relayer network for an assigned slot n.

Screenshot 2024-02-26 at 3.31.29 PM870×545 46.7 KB

  1. At the start of slot n, the CL client requests a new local payload from the EL client via the Execution-API’s getPayload.
  2. The CL client gets builder header from relayers, mev-boost selects the best header for the client.
  3. The CL client then chooses between the local payload and builder header to pass to the validator client for signing. The CL client also inserts the previously cached inclusion list summary to the block.
  4. If the local payload was chosen, the CL client can directly broadcast the block to the block gossip network. If the builder header is selected, the CL client needs to return the signed blind block along with the inclusion list to the relayer.
  5. The relayer verifies that the inclusion list matches the summary in the block and then gossips both the block and the inclusion list to its P2P gossip networks.
  • Without mev-boost, this interaction is more straightforward, skip steps 2, 4a, and 5.

Scenario: block with different inclusion list summary

If a block misses its inclusion list, the CL client must manually request it via a P2P RPC request using the summary’s root as the RPC handler. Evaluating the risk of a split-view attack is crucial. Including the IL summary in the block ensures commitment at the time of the block proposal. Otherwise, proposers could exploit MEV opportunities during their slot and sell an IL to the next block builder.

Verifying IL availability becomes complex as every node and current slot attesters must confirm a valid IL that matches the summary committed in the block. A concerning scenario arises when validators receive an IL, retain it, and then receive a block with a differing summary. This discrepancy forces validators to manually request missing IL from peers, potentially leading to delays in block imports due to the absence of a valid IL. This scenario was feared in EIP4844 and triggered a late change to include block inclusion in the blob sidecar. Alternatively, not committing to a summary allows for the gossiping of the summary and IL as a sidecar, enabling builders to select any summary for their blocks. This method simplifies verification and offers market benefits by preventing proposers from selling access to their IL but this introduced a greater risk of proposers negotiating off-band with future builders.

If the split view attack is deemed more dangerous, solutions could include broadcasting the IL with the block or refraining from committing the summary in the block, each with its own challenges and considerations.

Comments

All Comments

Recommended for you

  • Putin Reportedly Plans Escalation on Ukraine Issue, Believing Negotiations Are Ineffective

    On August 27, Putin reportedly plans to take escalatory actions regarding the Ukraine issue, as he believes negotiations have been ineffective.

  • Putin Reportedly Plans Escalation on Ukraine Issue, Believing Negotiations Ineffective

    On August 27, Putin reportedly plans to take escalatory actions regarding the Ukraine issue, as he believes negotiations have been ineffective.

  • Zhipu Launches and Open Sources GLM-5.3-Flash

    On August 26, Zhipu launched and open-sourced GLM-5.3-Flash (320B-A18B), the first native multimodal model in the GLM-5 series. It features a total of 320 billion parameters and surpasses GLM-5.2, achieving a score of 57 on the globally recognized Artificial Analysis Intelligence Index (AA Comprehensive Intelligence Index), placing it among the leading models worldwide, on par with Anthropic's popular model Claude Opus 4.8. In the self-developed Z.ai Code Bench evaluation, its programming performance is comparable to that of Claude Opus 4.8. Additionally, GLM-5.3-Flash is priced at 1/10 of GLM-5.3, and during a limited-time discount, it is priced at 1/20 of GLM-5.3, which is 1/40 of Opus 4.8. The same intelligence at 1/40 the price, cutting-edge capabilities without the need to hold back.

  • Zhipu Launches and Open Sources GLM-5.3-Flash

    On August 26, Zhipu launched and open-sourced GLM-5.3-Flash (320B-A18B), the first native multimodal model in the GLM-5 series. It has a total of 320 billion parameters and surpasses GLM-5.2, achieving a score of 57 in the globally recognized Artificial Analysis Intelligence Index (AA Comprehensive Intelligence Index), placing it among the leading models worldwide, on par with Anthropic's popular model Claude Opus 4.8. In the self-developed Z.ai Code Bench evaluation, its programming performance is comparable to that of Claude Opus 4.8. Meanwhile, GLM-5.3-Flash is priced at 1/10 of GLM-5.3, and during a limited-time discount, it is available for 1/20 of GLM-5.3's price, which is 1/40 of Opus 4.8's price. The same intelligence, at 1/40 the cost, provides cutting-edge capabilities without the need to hold back.

  • Ethereum Developers Propose Restructuring Validator Staking Contract to Prepare for Quantum Attacks

    On August 26, Ethereum researchers proposed a draft to rebuild the validator deposit contract in preparation for the future introduction of quantum-resistant signature mechanisms, allowing for a gradual phase-out of the existing BLS signature format. This proposal enables the deposit contract to support keys of different sizes and public key types, assigning labels for each cryptographic scheme, with the current BLS signature labeled as 0 and potential future quantum-resistant schemes receiving new labels. Currently, approximately 42.4 million ETH, worth around $10.4 billion, are staked in Ethereum, all relying on BLS validator keys. This draft is still in its early stages and must be implemented alongside subsequent consensus layer upgrades, with the Ethereum Foundation's overall quantum resistance roadmap targeting around 2029.

  • Ethereum Developers Propose Restructuring Validator Staking Contract to Prepare for Quantum Attacks

    On August 26, Ethereum researchers proposed a draft to rebuild the validator deposit contract in preparation for the future introduction of quantum-resistant signature mechanisms, allowing for a gradual phase-out of the existing BLS signature format. This proposal enables the deposit contract to support keys of different sizes and public key types, assigning labels for each cryptographic scheme, with the current BLS signature labeled as 0, and future quantum-resistant schemes to be assigned additional labels. Currently, approximately 42.4 million ETH, valued at around $10.4 billion, are staked in Ethereum, all relying on BLS validator keys. The draft remains in its early stages and must be implemented alongside subsequent consensus layer upgrades, with the Ethereum Foundation's overall quantum resistance roadmap targeting around 2029.

  • Spot Gold Falls Below $4600/Ounce

    On August 26, spot gold fell below $4600 per ounce, declining by 1.30% during the day.

  • Spot Gold Falls Below $4600/Ounce

    On August 26, spot gold fell below $4600 per ounce, declining by 1.30% during the day.

  • SEC Submits New Crypto Custody Regulations Proposal to White House

    On August 26, Bloomberg reported that the U.S. Securities and Exchange Commission (SEC) has submitted a proposal to the Office of Management and Budget (OMB) regarding new regulations for investment advisors holding client digital assets. The rule aims to 'clarify the framework for investment advisors and investment companies to custody crypto assets,' addressing inquiries from institutions on how to comply with the custody of digital assets. It plans to eliminate certain existing custody requirements that are considered 'outdated' due to market evolution and current trading and custody practices. This proposal is seen as a step by financial regulators to advance the current administration's crypto agenda while relevant legislation remains stalled in the Senate. It will take effect after review by the OMB, a vote by SEC commissioners, and a public comment period.

  • BTC Falls Below $78,000

    Market data shows that BTC has fallen below $78,000, currently priced at $77,983.75, with a 24-hour decline of 1.03%. The market is experiencing significant volatility, so please ensure proper risk management.