EIP4844 with Prysm
Peep-an-EIP. March 29, 2023
Kasey and Terence
EIP4844: Why and What?
https://vitalik.ca/general/2021/04/07/sharding.html
Today on Visa
https://usa.visa.com/dam/VCOM/global/about-visa/documents/aboutvisafactsheet.pdf
Ethereum Today
The rollup centric roadmap
Rollups put skyscrapers on Ethereum
(H/T: Ben Edgington)
Past: everything happens on L1
Ethereum L1 (~10 tps)
Defi, NFT, ICO, payment, DAO etc
Today: with L2s
Ethereum L1 (~10 tps)
Defi, NFT… etc
L2s (~100 tps)
Defi
NFT
DAO
Defi
Payment
DAO
NFT
Defi
Optimised for security
Optimised for throughput and UX
Today: L2 uses CALLDATA
Ethereum L1 (~10 tps) CALLDATA
L2s (~100 tps)
EIP-4844: L2 uses BLOBDATA
Ethereum L1 (~10 tps) CALLDATA BLOBDATA
L2s (~1000 tps)
Block
Blobs
Block vs Blob
| Blockspace | Blobspace |
Seen by all nodes | Yes | Yes |
Size | 1MB theoretical limit | 128KB target / 256KB max |
Storage | Execution client | Consensus client |
EVM access | Yes | No |
Longevity | Forever | 18 days |
Cost | Expensive (16 bytes / gas) | Cheap |
Blob transaction
Submitted to execution client mempool
Gossiped among execution clients (protocol: eth/68)
Blob transaction consists of
Blob transaction end to end
L2 batch poster
Execution peer
Mem pool
Execution client
Mem pool
Consensus client
Validator
Consensus peer
Execution client
L2 validators
Blob tx + regular tx
p2p: eth/68
Execution peer
Mem pool
Execution peer
Mem pool
Get blob bundle
Get and sign blobs
Gossip beacon block and blobs
Consensus peer
Consensus peer
Verify blob txs
Read blobs
EIP4844 on Prysm
What happens at every upgrade
P2P
State Transition
Beacon API Server
Validator (aka Prysm) API Server
Pool (like mempool)
Blocks and blobs
Engine API
https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md
https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md
https://github.com/ethereum/execution-apis/blob/main/src/engine/experimental/blob-extension.md
https://github.com/ethereum/beacon-APIs
https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/validator.md
Other consensus objects (i.e. exits, attestations)
Beacon API changes
Validator changes
Crypto library
Block and blobs import
Block and blobs import
Forward sync
Backfilling
Prysmctl
Today’s progress
Where we are today
Devnet histories