Ethereum has always strived for scalability and efficiency - its the chain achilles heel. The proposed Ethereum Improvement Proposal (EIP) 4844 brings a fresh breeze of hope towards achieving these goals by introducing a new transaction format known as "blob-carrying transactions." This innovative proposal aims at handling large data chunks efficiently, laying down a robust foundation for the future implementation of full sharding on Ethereum. In this blog we will just discuss what EIP 4844 is and try to explain it in layman terms.
What Is EIP 4844?
The EIP 4844 introduces a novel transaction format that facilitates the storage of large data blobs which cannot be accessed during EVM (Ethereum Virtual Machine) execution, yet their commitment remains accessible. This transaction format aligns seamlessly with the one intended for use in full sharding, ensuring compatibility and ease of transition in future implementations.
Why Do We Need EIP 4844?
The core motivation behind EIP 4844 stems from the escalating transaction fees on Ethereum's Layer 1 (L1). While Rollups have emerged as a credible scaling solution, reducing fees significantly, they still remain costly for many users. We wrote a detailed article on Rollups Focusing more in ZK Rollups which you might find interesting.
Though the ultimate solution envisaged is data sharding, which, when implemented, will enhance data space significantly, easing the burden on the network; however, as data sharding demands time for thorough development and deployment, EIP 4844 stands as a practical interim solution, bringing the transaction format of sharding into play without actually sharding the transactions. Read the sub sections below to know more about what is sharding and data sharding.
What Is Sharding:
Sharding is a scalability solution for blockchain networks, where the network is divided into smaller partitions called "shards." Each shard processes its own transactions and maintains a portion of the blockchain's state, allowing for parallel transaction processing and reduced load on individual nodes, thus increasing the network's capacity and transaction speed. It's a key feature in Ethereum 2.0's upgrade to improve scalability while maintaining decentralization and security.
What Is Data Sharding:
Data sharding in blockchain refers to splitting the data into pieces, where each shard contains a portion of the data. This helps in improving scalability as each node only processes transactions for and stores data of its respective shard. This concept is integral in blockchain networks like Ethereum 2.0, which aims to enhance scalability and transaction speed by distributing the data load across many nodes.
What Is Proto Dank Sharding?
Proto-Danksharding, associated with EIP-4844, allows rollups to add data to blocks more affordably. Proposed by researchers Protolambda and Dankrad Feist, it addresses the costliness of posting transactions in CALLDATA by introducing data blobs. These blobs, not accessible to the EVM, attach to blocks, and auto-delete after 1-3 months, making data transmission cheaper for roll ups and reducing transaction costs for users.
Understanding Blob Transactions
EIP 4844 delineates a new EIP-2718 transaction type, termed as the "blob transaction." This transaction encapsulates various fields including, but not limited to, chain_id, nonce, gas_limit, and blob_versioned_hashes, conforming to specific semantics as laid down in EIP-1559. A significant deviation is in the 'to' field, which must always represent a 20-byte address, thereby excluding the form of a create transaction.
The Signature Mechanism and Its Role
The signature in a blob transaction is calculated over a digest constructed from various transaction fields, employing the secp256k1 signature scheme, ensuring the integrity and authenticity of the transactions.
The Header Extension
EIP 4844 extends the current header encoding with new fields - blob_gas_used and excess_blob_gas, which are instrumental in accounting for the blob gas consumed by the transactions within a block. This extension facilitates precise gas accounting, ensuring the network remains efficient and cost-effective.
Gas Accounting and Blob Gas
Introducing a new type of gas known as blob gas, independent of the normal gas, EIP 4844 brings in a unique gas accounting mechanism. The proposal defines methods to calculate data fee based on blob gas, which is deducted from the sender's balance before transaction execution and is non-refundable in case of transaction failure.
Opcode Addition
Lastly, EIP 4844 proposes a new instruction, BLOBHASH, which reads an index from the top of the stack and replaces it with tx.blob_versioned_hashes[index] if the index is within bounds, enhancing the opcode functionality and ensuring smooth transaction processing.
What is the EIP 4844 timeline?
EIP-4844 is anticipated to be implemented on the Ethereum network in the latter half of 2023, following another significant network upgrade known as the Ethereum Shanghai Upgrade. However the launch date for EIP-4844 hasn't been specified.
Conclusion:
EIP 4844 is a well-thought-out proposal that not only serves as a stepping stone towards the long-term goal of full sharding but also provides immediate relief from high transaction fees by paving the way for more efficient data handling on Ethereum. By embracing such innovative proposals, Ethereum continues to fortify its position as a leading blockchain platform, geared towards scalability and user-centricity. You can also read more about the proposal on its official page and in the EIPs library on Ethereum.org.