Verifying Rollup Data: How Blobs Work with Ethereum
Ethereum’s rollup protocol has been gaining popularity in recent times, offering a scalable and secure way to process transactions. One of the key features that sets rollups apart from traditional proof-of-work-based architectures is their use of compressed batches of transactions stored in calldata (calldata is a type of data on Ethereum where each value can be any primitive type such as number or boolean). In this article, we will delve into how rollup data is verified using blobs and understand the implications of this process.
Historical Context
Prior to EIP-4844, which was included in the Dencun upgrade, Ethereum’s L1 layer stored all transactions in calldata. 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 in Dencun, which introduced a new approach to verifying rollup data. Under this standard, each batch of transactions is split into smaller pieces called “blobs,” and each blob contains the necessary calldata 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 the L1 layer, it checks if 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 each block’s calldata using a unique secret key, which is then combined with the blob. The resulting hash serves as an immutable proof that the blob has not been tampered with during transmission.
How Blobs are Verifiable
So, how does Ethereum verify the blobs? Here’s a step-by-step breakdown of the process:
- Blob creation: Each batch of transactions is split into smaller pieces called “blobs.”
- Verification: The block receives verification from the L1 layer.
- Blob hashing
: Each blob’s calldata is hashed using a unique secret key.
- Hash combination: The resulting hash is combined with the blob’s data to create an HMAC.
- Immutable proof: The final HMAC serves as an 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 benefits over traditional proof-of-work-based 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 Ethereum’s future upgrades.