-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
base: master
Are you sure you want to change the base?
Changes from all commits
582bb4b
4fc90be
e9e5d7c
633cd1b
8aa6665
6ab7d3b
11a465c
70ceb7e
d601bfb
293af6c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
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. | ||||||||||
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. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
||||||||||
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. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
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
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
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 | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
||||||||||
## Security Considerations | ||||||||||
|
||||||||||
todo | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
||||||||||
## Copyright | ||||||||||
|
||||||||||
Copyright and related rights waived via [CC0](../LICENSE.md). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
x=?
(just adding a comment to highlight the todo here)