Kris Kaczor 🦆 Profile picture
May 21, 2021 21 tweets 5 min read Twitter logo Read on Twitter
1/ It's high time for @optimismPBC vs @arbitrum. I know you've been waiting for it so let's go!🔥🔥🔥

Long 🧵 Image
2/ Let me start with similarities, they both:

• are rollups ie. real L2s and they store all txs on L1
• are optimistic meaning they use fraud proofs
• use sequencers for instant "finality"
• have generic cross-chain messaging allowing creation of advanced token bridges like @MakerDAO's fast withdrawal bridge:…
4/ Now, the fun part - differences. The biggest distinction is what happens when two parties disagree on the state after executing a tx ie. implementation of the fraud proof (FP) mechanism.
5/ Optimism uses single round fraud proofs. This means that L1 executes the whole L2 transaction on-chain to verify the state root. This makes FPs instant which is nice.
6/ But there are some problems too:

• you need to supervise tx execution hence need for OVM (aka rewriting EVM to avoid sideeffects)
• L2 tx gas is bound by L1 block gas limit
• you need on-chain state roots after each TX - costs more :(
• source of potential security issues
7/ Arbitrum features multi-round fraud proofs. You can dumb it down to doing a binary search between two parties to find the first opcode of a whole block that they disagree on. Once found only this particular opcode is executed on-chain.
8/ It has some nice properties:

• it requires posting on-chain just one state proof for a whole bunch of txs,
• L1 block gas limit doesn't matter since L2 txs will never entirely execute on L1
9/ Drawbacks:
• It requires EVM -> AVM translation (thankfully it's automatic)
• it's slow - in the worst case it takes up to 2 weeks to finish FP. Realistically it's 1 week.
• requires original claimer to be online and cooperative
10/ Another way of thinking about this is that Optimism does containerization and Arbitrum virtualization.
11/ Optimism's approach has one *HUGE* drawback. Imagine that there is a hardfork and Ethereum consensus rules change. One of the opcodes is removed/repriced or modified in some other way.
12/ Suddenly re-executing past tx on L1 will result in a different final state 😨 I am not sure how Optimism team is going to solve this but I am sure they will figure out something when the time comes. Arbitrum fully controls AVM specs and doesn't have this problem.
13/ Both projects try to stick as close as possible to the ethereum ecosystem but there are some differences here too. Generally speaking, you can still use EVM-related tooling that you know (solidity, hardhat, waffle etc.) BUT it's not that simple.
14/ Optimism requires a special solidity compiler to generate OVM bytecode. So, unfortunately, it works only with Solidity and only with particular versions of solidity. On the other hand, their L2 node is just modified geth which is great for compatibility.
15/ Arbitrum on the surface is fully compatible with EVM/JSON RPC spec but their node is a custom implementation. It does automatic EVM→ AVM transpilation to support fraud proofs. Thanks to this low-level translation, it supports any EVM language (vyper, YUL+ etc).
16/ Optimism uses weth but Arbtirum has native eth support. Optimism launches with wallet abstraction built in too.
17/ Arbitrum launches with a unified permissionless bridge to bridge any tokens to L2 (it deploys generic ERC20 as a L2 counterpart). Optimism prefers dedicated bridges but of course, deploying "unibridge" on optimism is possible as well. @dmihal knows more about this ;)
18/ The last difference is a launch date. Arbitrum launches "mainnet for developers" at the end of the month. For Optimism, we will have to wait until July.
19/ If you want to learn more, I recommend watching @karl_dot_tech and @hkalodner friendly debate moderated by @stonecoldpat0:
20/ Personally I am cheering for both projects and I can't wait for them to arrive on the mainnet. The whole ethereum community is in desperate need of a proper L2 solution, not some smoke and mirrors scalable sidechain (ekhm).
21/ Oof, this was my longest tweetstorm ever. Let me know what do you think. If you want to check out Optimism bridge example take a look at:… We will have Arbitrum compatible version ready next week 😏

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with Kris Kaczor 🦆

Kris Kaczor 🦆 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @krzKaczor

Jun 14
What does scaling a blockchain 𝗮𝗰𝘁𝘂𝗮𝗹𝗹𝘆 mean? Do rollups & L2s really scale Ethereum? If so, where does this superpower emerge from?

Buckle up, it's time to demystify these secrets! Image
2/ First things first, why not simply speed up L1? Ethereum processes ~2.5M gas units per second. Why not amp it up to 10M? Decrease the block time at the same time? Why BTC and ETH communities are too dumb to see it? Image
3/ Well, the catch is, scaling this way would make syncing an L1 node incredibly tough. Users have to process all transactions to verify their result. Remember, decentralization is key here. Blockchains lose their charm when they're not decentralized.
Read 10 tweets
Mar 30
Just this week, two highly anticipated universal zk-EVMs launched: @zksync Era and @0xPolygon zkEVM! Both use validity proofs for execution correctness, but how do they differ?

Let's dive into state diffs vs TX data! 🌊🔍 ImageImage
🅰️ Polygon zkEVM pushes L2 Tx data to L1 (like optimistic rollups). From, to, value – it's all there! Check out this batch submitted by a sequencer:… You can even grep for L2 addresses! Image
🅱️ ZkSync Era, on the other hand, stores only state diffs on chain - the "effect" on the state after executing L2 Txs:… Here's what's encoded in the calldata.

So, how do these approaches impact system properties in practice? 🤔 Image
Read 13 tweets
Jul 11, 2022
I synchronized Arbitrum and Optimism rollups full nodes.
Optimism was done after only 2.5 days but arbitrum took whole 3 weeks to synchronize.

What’s going on here? 🧵
First of all — YES, Arbitrum network in more popular. It has about 35% more txs, a bigger state and so on. However, that doesn’t explain why it takes *~10x* longer to sync. /2
The real answer lies within Arbitrum’s node implementation details. Right now it’s custom work with components written in go, c++, and a custom language called Mini. Furthermore, it uses AVM (Arbitrum’s Virtual Machine) to emulate EVM. /3
Read 7 tweets
May 12, 2022
How I attempted to break @fuellabs_ v1, a short story about the importance of running validators for optimistic rollups.

Let's start from the beginning: 🧵👇 Image
1/ Fuel v1 is a (very first!) optimistic rollup running on top of Ethereum. It uses the UTXO model to make tx execution parallel. But for sake of this discussion, it is interesting because of a few other reasons: Image
2/ • It’s fully decentralized: Working fraud proofs, no admin keys, no upgrade mechanism etc.
• It’s a ghost town. TVL according to L2beat is below $10 and the last transaction happened more than a year ago.
Read 19 tweets
Nov 10, 2021
I am stoked to finally talk about DAI Wormhole. 🪱🕳 will allow users to teleport DAI between L2s while being fast, cheap, and secure at the same time

Our mission is to make DAI first, truly cross-chain stablecoin.

Short 🧵👇… Image
2/ Okay, so how does it work? First, a user burns DAI on domain A. Then by providing an oracle attestation of the burn, they can mint fresh DAI on domain B. And... that's it! Image
3/ Under the hood, MakerDAO keepers will ensure that DAI will be really moved between domains and that debt will be settled. The twist is that a single L1 settlement can finalize hundreds of wormholes between L2s in constant time. That's how we get scalability.
Read 6 tweets
Jul 25, 2021
The funny thing is that the best talks last week in Paris didn't happen during @EthCC but a Geth workshop organized by @optimismPBC.

Short 🧵:
It was organized in an amazing, stylish venue and at the beginning, there were only ~15 ppl including galaxy brains like @VitalikButerin, @karl_dot_tech, and @ben_chain. The quality of discussions during lunch was ridiculous 😂
@kelvinfichter did a talk about understanding geth internals by diving into JSON's RPC call implementation.

What's crazy is that we even skimmed through the code that was responsible for the consensus bug in EIP-1559 later that day on the Ropsten. Ooops...
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!


0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy


3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!