-
Notifications
You must be signed in to change notification settings - Fork 742
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
68 changed files
with
719 additions
and
635 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# MD010: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md010---hard-tabs | ||
MD010: | ||
# Set code blocks to false so that code blocks will be ignored, default is true | ||
code_blocks: false | ||
|
||
#MD013 line length: https://github.com/DavidAnson/markdownlint/blob/main/doc/md013.md | ||
# Set to false as this will also interfere with help_x.md files, and it is not necessary to comply with the line length of 80 | ||
MD013: false | ||
|
||
# MD028: set to false to allow blank line between blockquote: https://github.com/DavidAnson/markdownlint/blob/main/doc/md028.md | ||
# This is because the blockquotes are shown separatedly (a deisred outcome) when having a blank line in between | ||
MD028: false | ||
|
||
# MD024: set siblings_only to true so that same headings with different parent headings are allowed | ||
# https://github.com/DavidAnson/markdownlint/blob/main/doc/md024.md | ||
MD024: | ||
siblings_only: true | ||
|
||
# MD033 in-line html: https://github.com/DavidAnson/markdownlint/blob/main/doc/md033.md | ||
# In-line html is fine in the markdown files, so this is set to false | ||
MD033: false | ||
|
||
# MD036 set to false to preserve the emphasis on deprecation notice on key-management.md (a heading is not necessary) | ||
MD036: false | ||
|
||
# MD040 code blocks should have a language specified: https://github.com/DavidAnson/markdownlint/blob/main/doc/md040.md | ||
# Set to false as the help_x.md files are code blocks without a language specified, which is fine and does not need to change | ||
MD040: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,42 +1,41 @@ | ||
# Blobs | ||
|
||
In the Deneb network upgrade, one of the changes is the implementation of EIP-4844, also known as [Proto-danksharding](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement). Alongside with this, a new term named `blob` (binary large object) is introduced. Blobs are "side-cars" carrying transaction data in a block. They are mainly used by Ethereum layer 2 operators. As far as stakers are concerned, the main difference with the introduction of blobs is the increased storage requirement. | ||
In the Deneb network upgrade, one of the changes is the implementation of EIP-4844, also known as [Proto-danksharding](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement). Alongside with this, a new term named `blob` (binary large object) is introduced. Blobs are "side-cars" carrying transaction data in a block. They are mainly used by Ethereum layer 2 operators. As far as stakers are concerned, the main difference with the introduction of blobs is the increased storage requirement. | ||
|
||
### FAQ | ||
## FAQ | ||
|
||
1. What is the storage requirement for blobs? | ||
|
||
We expect an additional increase of ~50 GB of storage requirement for blobs (on top of what is required by the consensus and execution clients database). The calculation is as below: | ||
|
||
One blob is 128 KB in size. Each block can carry a maximum of 6 blobs. Blobs will be kept for 4096 epochs and pruned afterwards. This means that the maximum increase in storage requirement will be: | ||
|
||
``` | ||
```text | ||
2**17 bytes / blob * 6 blobs / block * 32 blocks / epoch * 4096 epochs = 96 GB | ||
``` | ||
|
||
However, the blob base fee targets 3 blobs per block and it works similarly to how EIP-1559 operates in the Ethereum gas fee. Therefore, practically it is very likely to average to 3 blobs per blocks, which translates to a storage requirement of 48 GB. | ||
|
||
|
||
1. Do I have to add any flags for blobs? | ||
|
||
No, you can use the default values for blob-related flags, which means you do not need add or remove any flags. | ||
No, you can use the default values for blob-related flags, which means you do not need add or remove any flags. | ||
|
||
1. What if I want to keep all blobs? | ||
|
||
Use the flag `--prune-blobs false` in the beacon node. The storage requirement will be: | ||
|
||
``` | ||
```text | ||
2**17 bytes * 3 blobs / block * 7200 blocks / day * 30 days = 79GB / month or 948GB / year | ||
``` | ||
|
||
To keep blobs for a custom period, you may use the flag `--blob-prune-margin-epochs <EPOCHS>` which keeps blobs for 4096+EPOCHS specified in the flag. | ||
|
||
1. How to see the info of the blobs database? | ||
|
||
We can call the API: | ||
We can call the API: | ||
|
||
```bash | ||
curl "http://localhost:5052/lighthouse/database/info" | jq | ||
``` | ||
|
||
Refer to [Lighthouse API](./api-lighthouse.md#lighthousedatabaseinfo) for an example response. | ||
Refer to [Lighthouse API](./api-lighthouse.md#lighthousedatabaseinfo) for an example response. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.