Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EIP: Blob throughput increase #8452

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
61 changes: 61 additions & 0 deletions EIPS/eip-7691.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
eip: 7691
title: Blob throughput increase
description: Increase the number of blobs to reach a new target of x blobs per block, to be defined by performing tests.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Increase the number of blobs to reach a new target of x blobs per block, to be defined by performing tests.
description: Increase the number of blobs to reach a new target of x blobs per block, to be defined by performing tests.

x=?

(just adding a comment to highlight the todo here)

author: Parithosh Jayanthi (@parithosh), Toni Wahrstätter (@nerolation), Sam Calder-Mason (@samcm), Andrew Davis (@savid)
discussions-to: https://ethereum-magicians.org/t/eip-7691-blob-throughput-increase/19694
status: Draft
type: Standards Track
category: Core
created: 2024-04-17
---

## Abstract

This EIP proposes to increase to the number of blobs in a block to provide more scale to Ethereum via L2 solution that rely on L1 data capacity.

## Motivation

Ethereum, with its rollup centric roadmap, scales by relying on L2. Since the Dencun fork, the blob gas target and maximum was set to 3/6 respectively. The blob gas limit was arrived at based on a series of big block tests performed on the Ethereum mainnet network as well as a series of testnets. The values were chosen cautiously, as its extremely hard to predict the exact p2p behaviour of Ethereum mainnet.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Ethereum, with its rollup centric roadmap, scales by relying on L2. Since the Dencun fork, the blob gas target and maximum was set to 3/6 respectively. The blob gas limit was arrived at based on a series of big block tests performed on the Ethereum mainnet network as well as a series of testnets. The values were chosen cautiously, as its extremely hard to predict the exact p2p behaviour of Ethereum mainnet.
Ethereum, with its rollup centric roadmap, scales by relying on L2. Since the Dencun fork, the blob gas target and maximum was set to 3/6 respectively. The blob gas limit was arrived at based on a series of big block tests performed on the Ethereum mainnet network as well as a series of testnets. The values were chosen cautiously, as it's extremely hard to predict the exact p2p behaviour of Ethereum mainnet.


As we now have the Dencun upgrade live, we are able to use monitoring tools to check the network health. Initial monitoring indicates that we have a stable network with the current gas target, allowing us to consider starting a series of big block and blob tests to determine the theoretical headroom we currently have. The EIP would then be updated to include a proposed new blob gas target and limit.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we add more details of the monitoring results or link to somewhere where it is documented? That would give the reader a clear picture of how much the network health has been affected and the fact that it is in an acceptable range.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, we will have multiple writeups published. We're currently working on some tools to get us more low level p2p visibility, once that's considered stable-ish we will trigger a new round of big block tests on Mainnet to gather the data.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Proposals should be written as if they are already Final. It's just too easy to miss these kind of sentences while reviewing, and it looks really weird when a Final EIP has something like "The EIP would then be updated..."


Additional EIPs such as [EIP-7623](./eip-7623.md) proposes a calldata cost increase which would significantly lower the worst case base block size, thus creating more headroom for a potential blob throughput increase.

The current long term plan of Ethereum is to implement peerDAS, but given the uncertain timelines, this EIP aims to increase the throughput short term to provide some scaling until future solutions are deployed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[...] implement peerDAS [...]

Can you quickly elaborate on what peerDAS is for the unfamiliar, or link to an EIP defining it?



## Specification

### Parameters

| Constant | Value |
| - | - |
| `PECTRA_FORK_EPOCH` | `tbd` |
| `MAX_BLOBS_PER_BLOCK` | `tbd` |
Comment on lines +34 to +35
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `PECTRA_FORK_EPOCH` | `tbd` |
| `MAX_BLOBS_PER_BLOCK` | `tbd` |
| `PECTRA_FORK_EPOCH` | `tbd` <!-- TODO --> |
| `MAX_BLOBS_PER_BLOCK` | `tbd` <!-- TODO --> |

If you include HTML-style comments, the linter will make sure you replace them before moving to Review.


## Rationale

### Simplicity

A blob limit increase at the fork transition is relatively straightforward from an implementation perspective. We would need to deploy an increased amount of monitoring around the fork epoch, but after a period of stability we can assume that the blob limit increase was successful, reducing any unexpected co-ordination efforts.

The EIP aims to minimize the amount of testing and implementation effort from the perspective of the client teams, to allow for more resources to be allocated to peerDAS and other scaling research.

While this EIP may not achieve the new optimal blob limit, it offers a compromise for a short term increase.

### Testable changes

Through the use of big block/blob tests on Ethereum mainnet as well as testnets, we can earn a high degree of certainity that the blob limit increase would not negatively impact the network. These tests as well as the associated analysis can be performed mostly by non-client team entities, with minimal input required. Since the changes are quite contained, the EIP should be able to reduce the risk of the blob limit increase.

## Backwards Compatibility

todo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
todo
todo <!-- TODO -->


## Security Considerations

todo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
todo
todo <!-- TODO -->


## Copyright

Copyright and related rights waived via [CC0](../LICENSE.md).
Loading