2

I have been seeing claims that proto-danksharding is going to make rollups 10-100x cheaper at various sources. I understand how it would be ~10x cheaper: right now, rollups use calldata and it costs about 16 gas/byte. After EIP-4844, rollups can use blobs, which uses data_gas and costs as little as 1 gas/byte. This would at most make it 16x cheaper though.

Where exactly does this 100x come from? Is 100x referring to full danksharding? Are my sources outdated?

4
  • when was this thing released? I don't see this new kind of transaction called "blob" transaction in current sources: github.com/ethereum/go-ethereum/blob/… Commented Jan 26, 2023 at 0:35
  • Where did you get the 1 gas/byte number from? Can't find in the EIP, did you compute it somehow? Commented Feb 28, 2023 at 14:20
  • It's the MIN_DATA_GASPRICE param Commented Mar 7, 2023 at 23:29
  • The new Transaction type is here: github.com/ethereum/go-ethereum/blob/v1.13.14/core/types/… Commented Mar 14, 2024 at 20:31

2 Answers 2

0

EIP-4844 enables rollups to bundle multiple transactions into a single transaction and then batch them onto the root chain. This reduces the number of transactions that need to be broadcast to the root chain, thus reducing the cost of running rollups by up to 100 times.

1
  • Rollups already do that, today. Commented Feb 28, 2023 at 14:21
0

Why stuff costs gas

"gas" is a term we use to represent "compute power", or "how much load on a node operator this will give". And it's everything from compute power -> data storage. Telling a node "hey, you need to store 1 gigabyte of data forever" is load on the node operators, so we have to pay for that 1 gigabyte of gas.

If we said "hey, you have to store 1 terabyte of data forever" well that may require buying more hardware for the extra storage, and the user should be expected to pay more gas for putting that load on the node operators.

How Rollups work (Before)

Before EIP-4844, rollups did the following:

  1. Compress a "batch" of transactions into a chunk of calldata
  2. Post that data to the L1, where it would propagate forever
  3. Submit fraud/validity proofs to verify/reject the batch

calldata is a form of data on the EVM that is stored forever. Because the EVM currently has no way to prune state, when data is posted to the L1, all L1 nodes have to store that data permanently, which means gas costs need to be higher.

Now for rollups, this compressed batch of transactions only needs to persist for a short duration; it just needs to wait for the fraud-proof window/validity proof to be posted, and then the compressed batch of transactions is no longer needed. So, if we had a location in the EVM where data could be dumped after it was no longer needed, it would be great to put the rollup data there.

How Rollups work (After)

This is where blobs came into play; blobs are locations in the EVM that last for a temporary amount of time, but can store large chunks of data. So the new flow of rollups looks like this:

  1. Compress a "batch" of transactions into a chunk of blob
  2. Post that blob data to the L1
  3. Submit fraud/validity proofs to verify/reject the batch
  4. (Eventually, like 30 - 90 days or so) Prune the blob

Because blob data is temporary, we can charge less gas for it since nodes don't have to hold on to that data forever.

The EVM has access to specific blob data with new opcodes like BLOBHASH and point evalutation precompile to make sure the blob data includes correct rollup information.

Comparison

If you're solidity developer, consider the gas costs of emitting an event vs committing data to storage. Often, emitting an event is cheaper since the data cannot be accessed by the EVM. In the same sense, I think of blobs like "super temporary logs" where you can dump a large amount of data that will eventually be pruned from the network.

100x cheaper

The 100x cheaper comes exclusively from zk rollups, as they have better data compression techniques. See this line from EIP-4844

Optimism and Arbitrum frequently provide fees that are ~3-8x lower than the Ethereum base layer itself, and ZK rollups, which have better data compression and can avoid including signatures, have fees ~40-100x lower than the base layer.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.