Showerthought: ZKRs should be loss-leading, with max ~$0.10 transaction fees* for the end user. Verification price capped at ~250 gas. Cost to rollup: $12,000/day, decreasing rapidly with growing activity, with break-even at 3.33 TPS*. From there, tx fees will keep decreasing.
This solves for the chicken-and-egg problem of low activity = high costs and thus low demand. The $12K/day can either come from the rollup team's marketing budget, or from token inflation. For perspective: SOL, DOT, AVAX, ADA etc. are subsidizing >$10M per day - $12K is peanuts!
The way I see it: if a ZKR cannot have 3.33 TPS activity soon, then it's surplus to requirements anyway. So, rollup teams should just consider it a small fraction of what should be much larger marketing & bizdev budgets, even if there's no token.
Related, for both OR & ZKR teams: use more aggressive gas estimation. E.g. Optimism's 1.5x buffer seems excessive IMO, with a moving average of basefee I think it can be very close to 1.0x over time.
Tl;dr: Rollups are handicapping themselves, need to be much more aggressive.
*Assumptions:
- 10 minute SNARK rollup batch, 100 minute STARK rollup batch
- Gas price: 41 gwei (currently). So, could be $25K/day during mania phases.
- 16 byte calldata, prover & other costs per tx: $0.03
- Pardon me for using "TPS"!
Note: $12K/day is actually worst-case scenario of 1 tx/batch. An illustration of how quickly the subsidy decreases with activity. At 0.1 TPS, it's already down to $1,000/day!
Look forward to hearing counter-arguments from ZKR teams as to why they should not do this!
There's obviously a lot more to this, but only so much I can see in a Twitter thread. Two commonly anticipated comments: more complex transactions will cost more, while more compressible ones (e.g. dydx) will cost less. Some rollups like Polygon Hermez are already doing this.
Taking this further, as suggested by @levin_idan. IMX & DYDX have $9B FDV, stands to reason StarkNet & zkSync tokens will be higher. At 8% inflation, that's enough to subsidize 500 TPS at $0.01. If we consider SOL-like inflation, >5,000 TPS possible.
I have gotten a few questions about value accrual on layers. Hate to break it to you:
- Execution layer: highly competitive, tight margins, a race to the bottom. We can see this from alt-L1s, where the sole gimmick is accruing as little value as possible.
Rollups have a significant advantage as they pay a small fraction or zero of alt-L1s on inflation budgets, but any significant value accrual over that is unclear. MEV mitigation will be an area of innovation, and the rollup with the strongest MEV mitigations will be advantaged.
- Settlement layer: nearly zero for optimistic rollups in the optimistic case; tending towards zero for ZK rollups for anything above 100 TPS. Low-activity ZKRs become recursive rollups (L3s) or sharing proofs.
Recently, we have seen some revisionist memes around decentralization & security. I think we need better awareness of what these have always meant. Attempt:
Decentralization: ease & cost of verifying transactions
Security: risk-adjusted difficulty to compromise the network
Possible metrics:
- Decentralization: how much money do you have to spend on hardware that can verify transactions reliably? Lower is better.
- Security: PoS - how many entities own enough tokens to compromise the network? PoW - cost of acquiring hardware. Higher is better.
Of course, there are many nuances: multi-clients? slashing? nature of delegation (plutocratic? randomized?)? Staking queues? Battle-tested? Etc. Which is why people can exploit the complexity with populist revisionist memes.
Thoughts? Is the above over-simplification helpful?
Haven't listened to UCC, but seeing a lot of comments about it. Firstly, I'm delighted we have moved past the "rollups bad" phase to "rollups awesome but only on L1 bags I hold". However, the whole point of a modular architecture is the concept of L1s melt away.
1/
Rollups will always verify on the most secure, decentralized, robust, battle-tested settlement layer, backed by the soundest money and with the widest range and depth of liquidity. The cost is negligible, and the risks of having a bridge to a less secure SL isn't worth it.
2/
I believe Bitcoin would have been the best SL, but given it doesn't support rollups, Ethereum is the next best option. For a PLONK rollup doing 1,000 TPS, gas fees per transaction is only $0.00003. With 10,000 TPS it's 10x lower still etc. These are negligible numbers.
3/
Alternatively, implement an actual pricing system (I know there's some work happening on that) and set a transaction fee floor to $0.01 or so like Polygon PoS has done.
For negligible / 0 fees, a modular approach is the only way out.
Is it acceptable for an L1 to reject transactions it determines to be spam or DDoS attack?
With EIP-4488 now coming post-Merge, here are other avenues to lower fees on rollups:
- Optimizations & calldata compression: Arbitrum Nitro will halve fees, Optimism working on it
- Wallets supporting BLS signatures: Arbitrum can enable it: easy ~1K gas reduction
(1/7)
- Socially & financially incentivize developers to deploy on rollups. Particularly memecoins & NFTs, which have been the majority culprit for excessive gas fees on Ethereum
- Incentives for dapps on rollups - Uniswap liquidity mining coming to A1 & OE is a big deal
(2/7)
- Greater usage on rollups -> lower fees. Currently, a swap on zkSync / ZigZag costs $0.61, will go lower. (Source: L2fees)
- Volitions: StarkNet & zkSync will both have alt-DA options. zkPorter estimates $0.01-$0.03 tx fees. Lower security, but still higher than alt-L1s.
Common misconceptions around rollups melt away when you make a simple perspective shift: anything any L1 can do, as a rollup it can do it better.
L1 does X TPS -> Rollup does 10X TPS
L1 does X finality -> Rollup does 0.1X finality
L1 does 3 programming languages -> Rollup 10
L1 does 3 upgrades / yr -> Rollup does 12
L1 has novel fee model -> Rollup has multiple novel fee models
L1 does yearly state expiry -> Rollup monthly
3 L1s suck at interoperability and fragment liquidity -> 10 rollups have superior interop, can even share liquidity (see: dAMM)
All above for a simple reason: a rollup only needs to provide ephemeral censorship resistance & liveness for a few minutes; while an L1 needs CR, liveness & safety forever. By cooperating with settlement & DA layers, frees up a rollup to be infinitely more innovative & efficient.