Verifying Rollup Data: How Blobs Work with Ethereum
Ethereum’s rollup protocol has gained popularity in recent times, providing a scalable and secure way to process transactions. One of the key features that sets rollups apart from traditional proof-of-work architectures is their use of compressed batches of transactions stored in call data (call data is a data type on Ethereum where each value can be any primitive type such as a number or boolean). In this article, we will look at how rollup data is verified using blobs and understand the implications of this process.
Historical Context
Prior to EIP-4844, included in the Dencun upgrade, Ethereum’s L1 layer stored all transactions in call data. This allowed for efficient storage and retrieval of transaction data without the need for complex off-chain storage solutions. However, as the rollup protocol progressed, it became clear that compressed batches of transactions were more than just a convenient way to store them.
EIP-4844: The New Standard
In 2021, EIP-4844 was implemented at Dencun, which introduced a new approach to verifying rollup data. Under this standard, each batch of transactions is divided into smaller chunks called “blobs,” and each blob contains the call data needed for that transaction. To verify the integrity of these blobs, Ethereum uses a combination of cryptographic techniques.
Using Blobs
When a rollup node receives a new block from L1, it checks whether the block has been successfully compressed into a batch of transactions using the EIP-4844 standard. Once verified, the node creates a new blob from this batch of transactions and stores it in its on-chain storage.
To verify the integrity of the blob, Ethereum uses a cryptographic technique called hash-based message authentication (HMAC). This process involves hashing the call data of each block using a unique secret key, which is then combined with the blob. The resulting hash serves as immutable proof that the blob was not tampered with during transmission.
How Blobs Are Verifiable
So how does Ethereum verify blobs? Here’s a step-by-step breakdown of the process:
- Blob Creation: Each batch of transactions is divided into smaller chunks called “blobs.”
- Verification: The block receives L1 verification.
- Blob Hashing: Each blob’s call data is hashed using a unique secret key.
- Hash Combination
: The resulting hash is combined with the blob data to create an HMAC.
- Immutable Proof: The final HMAC serves as immutable proof that the blob has not been tampered with.
Conclusion
Ethereum’s rollup protocol relies heavily on compressed batches of transactions, which are then verified using blobs and a combination of cryptographic techniques. This approach offers several advantages over traditional proof-of-work architectures, including improved scalability and reduced latency. As the ecosystem continues to evolve, understanding how rollups work with blobs will become increasingly important for developers, researchers, and users interested in exploring the possibilities of future Ethereum upgrades.