We've been getting tons of requests to explain how
@optimismPBC
's next-gen fault proofs work. The repo fits a bunch into a tiny package.
Well, I have a lot of practice selling the benefits of a small package, so I thought I'd write an oversized thread to compensate.
🧵
@smsunarto
To be explicit -- the OP Stack is a proud public good, MIT licensed to the core, from day 0. The Collective will defend your right to do whatever you want with it to the very end.
The Law of Chains is an opt-in value proposition for those who want to play the positive sum game.
Cannon (CANNON CANNON CANNON ) is the world's first EVM-equivalent fault proof implementation.
But it's also:
- a way to run any golang in a rollup
- a mindblowing new FP design enabling optimal data costs
- a new stateless Ethereum implementation
👀👇👀
Oh, last but far from least -- I want to give a huge shoutout to
@realGeorgeHotz
for many of these insights, and for pioneering the initial codebase.
I've met VERY few people who can distill apparent complexity into just a few lines of code like he does. Truly inspiring.
We keep making transactions cheaper and you keep complaining that transactions aren’t cheap enough. We hate all of you, we’re building Pessimistic Rollups now.
Speaking of--everything we make is public, MIT licensed, and maintained in real time on our github.
We do this not to yell "first!", but to maximize our impact, share our progress, and collaborate with our community. Come join us--or fork us!
3/3
Key axiom of layer 2:
"Processing disputes for all unsuccessful transactions is cheaper than processing all successful transactions."
You don't go to court to cash a check. You go to court when the check bounces.
Congrats to
@soundxyz_
for launching on my favorite L2!
I was honored
@ben_chain
asked if I would help spice up his latest masterpiece to celebrate the occasion, which is an ode to the very first Etherean,
@VitalikButerin
Enjoy❤️
I'm glad everyone liked this thread!
A quick reminder: Optimism did not invent this alone. Nor did anyone else--we stand on the shoulders of giants.
I'm incredibly thankful for the MANY folks outside Optimism who played a part. We just wouldn't be here without each other.
1/3
We've been getting tons of requests to explain how
@optimismPBC
's next-gen fault proofs work. The repo fits a bunch into a tiny package.
Well, I have a lot of practice selling the benefits of a small package, so I thought I'd write an oversized thread to compensate.
🧵
Hard to describe how amazing this feels--not just as a milestone for OE, but as a milestone for our team. Out of all the launches so far, the sheer number of people who were CRITICAL to this launch, working productively together, is my favorite ATH yet.
Not only is this intuitive--a new L1 block is EXACTLY what progresses L2 state--it ALSO allows theoretical minimum data cost. You literally don't even submit calldata to a smart contract, because it comes directly from the L1 block. ZERO gas aside from raw L1 data is needed.
After a year of tireless R&D, it's time to bring FULL STOP EVM into production L2--and bootstrap a public goods ecosystem to boot.
Couldn't be more excited to be working on this with such a rockstar team
@jinglanW
@karl_dot_tech
@will_meister
@kevinjho_
Kanye's d̶i̶s̶c̶o̶cryptography h/t
@VirtualElena
- The Mempool Dropout
- Late Validation
- Verification
- 8-of-8s and smart SAFEs
- Watch the Zone (with Jae-Z)
- My Beautiful Dark Twisted Custody
- Feezus
- The Life of Lido
- Pay
- Nodes see GHOSTs
- Feeswitch is King
- Bonda
At a practical level, this is what Cannon does. It has a way to run arbitrary golang code on L2, and it uses that to run geth. (minigeth!)
It’s like a VM sandwich. You take the minigeth EVM, run it on VM implemented in solidity, and FP that in L1’s EVM.
@Stan_Kladko
Even ignoring the ridiculous "plasma is dead" claim, this is...dubious. Sidechains scale *at the cost of security.* That's completely unacceptable for high-value dapps (AKA all of DeFi). Plasma is *literally* a solution to the overwhelming security problems of sidechains.
peanut butter and jelly
beacon chain and ETH execution engine
tomato soup and grilled cheese
L1 chain and OE execution engine
@protolambda
and
@optimismPBC
CANNON CANNON CANNON
Hypeness of this repo cannot be understated.
The "preimage oracle" is one of the most powerful abstractions that we've ever realized in L2 and its usefulness even extends beyond fault proofs.
And that's all for now folks!
As always--if you want to work on solving deep challenges with the most diverse, exciting team in crypto -- you know where to find us 😉❤️
Working with this team is such a fucking honor and privilege.
With a fresh new $150m in the bank, it's far from over, but already feels like the journey of a lifetime.
Time to take this to the next level.
After over a year on mainnet, our milestones keep adding up: $1B in gas fees saved for users, thousands of smart contracts deployed, three separate forks...
And now: funds raised to the tune of $150M, giving us runway to keep shipping rain or shine.
We just finished recording with
@ben_chain
and
@karl_dot_tech
from
@optimismPBC
on
@BanklessHQ
!
Optimism is one of the most hyped
#Ethereum
scaling solutions for cheap, fast transactions!
But is it also a path towards universal human values alignment?
Episode out tomorrow!
Cannon solves things VERY differently. Instead of removing the database, it offers an entirely new way to think about the state DB.
At the core of the solution is a brand new VM primitive called the:
🔳 🔲 🔳 🔲 🔳 🔲
🔲 Preimage 🔳
🔳 Oracle 🔲
🔲🔳🔲🔳🔲🔳
It just clicked for me that EIP1559's impact on supply/demand is similar to the hysteresis curves that they taught us about in E&M. Can anyone point me to research on this? At equilibrium should we expect a cyclic loop which fluctuates around the target blocksize?
Cannon does have a shiny new RISC VM (only 400 lines of solidity!), but–on its own, this would be nothing new. Truebit pioneered this whole idea, using WASM as the “meat.”
And geth compiles to WASM.
So why hadn’t a weekend hacker put geth on Truebit yet?
Cannon was born of our search for an EVM-equivalent rollup. If you want to read more about that, check out this post:
In short, we became convinced that the only path to equivalence would involve running an existing implementation (e.g. geth) “on-chain.”
Vitalik actually investigated this, () but there’s a core issue: state and the EVM trie. Truebit programs don’t have persistent DBs.
V’s propsal was to modify geth and remove the database, instead using stateless block witnesses. This is a hefty change.
This a major breakthrough in how we think about fault proofs. What's absolutely bananas is that by leveraging the preimage oracle, the input to *the entire damn rollup* is reduced to a single hash: the L1 blockhash. Cannon just "unrolls" everything else it needs from there.
While minigeth compiles to our L2 MIPS VM, that isn't fundamental--you can also compile to x86--and we think this design could open big new doors for stateless Ethereum as a whole. Stay tuned. 📈
The preimage oracle is a new type of state transition with no equivalent in other ISAs like WASM, RISC, etc.
The transition rule is dead simple, but powerful: given a 32-byte hash as the input, the preimage to that hash is placed into the VM’s memory.
Another way to say it is: the preimage to an L1 blockhash *can always* be found! This makes it a *perfect* input to the Preimage Oracle. So long as you only put "real, blockchain-generated" hashes into it, you'll always progress the VM state.
Building new a coordination layer for the internet is what took me down the rabbithole all those years ago.
The ETH whitepaper converted me from follower to believer, and I never looked back.
The Optimism Collective is a chance to do just that, and do it right.
Let's do this.
Hey
@ben_chain
, we made you this honorary as part of our upcoming Rare OPepes NFT collection with
@xtokenterminal
- hope you like it!
Let us know your ENS or ETH address and we'll send it over 🥳
Not only is this intuitive--a new L1 block is EXACTLY what progresses L2 state--it ALSO allows theoretical minimum data cost. You literally don't even submit calldata to a smart contract, because it comes directly from the L1 block. ZERO gas aside from raw L1 data is needed.
🎊🎉🌈 Network upgrade complete: EVM Equivalence is LIVE on Optimistic Ethereum!
EVM Equivalence means that means that deployment is a breeze, network stability is at an ATH, and tooling. just. works.
Here's what to keep in mind as the upgrade is now live 👇
EVM "compatibility"? 🚩🚩🚩🚩🚩🚩
This has been one of if not THE most important realization for us since moving from plasma to rollups. After 10 months on an EVM compatible mainnet, I just can't tell you how right it feels. Giddy.
Yet another efficiency: each step goes just 1 level down the state trie, so the final on-chain step of the fault proof will be constant in the state size. No merkle branches required. We achieve this with a simple abstraction that can be easily ported to other ISAs.
I will be at Devconnect! Who else will be there?
Come to this talk, or HMU if you wanna
- Make some music
- Jam on scalability endgame
- Help solve L2 resource pricing
Ben "Weird ETH Yankovic" Jones, a co-founder and Chief Scientist at
@optimismPBC
, will give an overview of Optimism's new fault proof, Cannon. If you want to learn something about fault proofs or just to have a chat on Ben's secret hobby, crypto music, come!
the UX of dual-flush toilets always confuses me
am i supposed to press the big button when I go
#1
because it is the
#1
sized button? or did they make it bigger because it uses more water, so I should press the small button?
Geth's StateDB already uses a mapping from b32 hash to value. This means that the preimage oracle integrates effortlessly--armed with the right preimages, it can fully validate a block, completely statelessly, with an insanely small code footprint vs. vanilla geth.
Another big week for
@optimismPBC
. I just published the second edition of Opossum's Week in Optimism, a weekly roundup of what's going on in the Optimism ecosystem!
Simultaneously HYPED to be transitioning to the Optimism Foundation and begin the next chapter of our journey alongside my co-founder
@jinglejamOP
as our Executive Director.
And with old friends and legends
@evabeylin
@abbey_titcomb
joining the mix?
It's just tooooo OP 🔴_🔴
The same principle applies to the state trie itself--you basically can "unzip" any piece of state from the previous block's stateroot. It's like merklization in reverse, and so long as the blockchain was the thing which did the merklizing, it's perfectly safe to do.
@Stan_Kladko
I'm not sure about tx count--but in 5 years, 90% of tx VALUE will accrue in scaling solutions which are both secure and economically efficient. Plasma with state channels on top is bar none the best candidate for that today. (ZKPs will also take on a big role within 5 years)
So: that's what's awesome about the design from an L2 perspective.
But what's equally awesome is how cleanly it fits into geth. Minigeth is independently interesting as a brand new, stateless implementation of geth, because it introduces NO new witness validation code.
Tomorrow morning
@ben_chain
will be giving a talk at
#ETHDenver
on key lessons learned from running an optimistic rollup for the last two years. Hope to see you there!
Time/Date: Friday Feb 18th - 11:40 AM
Place: Sports Castle Laser Stage
ICYMI: Last week we discussed a lot of exciting developments during our monthly developer call!
Hear directly from the nerds hard at work making Optimism the most elegant and developer friendly scaling solution for Ethereum. 🔴
🧵
Great post--very glad to have folks like
@barnabemonnot
getting more into L2 economics. The "operator budget" is something we had to think through carefully in the early days and it never got love publicly.
This field will keep evolving, we have some fun stuff in the works.
I wrote a new post about rollup economics. This framework hopefully provides more clarity on the various parties co-existing in a rollup system, and helps guide discussions on fees and economic designs
Big news for all the optimistic L2 devs out there: the whitelist is going away, and it's going away very soon!
That's right. Buckle up, because we're about to open the developer floodgates.
This sounds a bit crazy on its own–after all, the whole point of hashes is preimage resistance, right? You can’t know them! How is this at all reasonable?
Well–some preimages, yes–but others are decidedly known. In fact, the *entire rollup model* relies on L1 being available.
Our next Summit🔮 𝐓𝐡𝐞 𝐅𝐮𝐭𝐮𝐫𝐞 𝐨𝐟 𝐄𝐭𝐡𝐞𝐫𝐞𝐮𝐦
📅 12 PM ET Oct 23 - this Friday
➡️ How Eth2 complement Eth1, how Eth2's launch will enable near-term scaling, how you can participate in staking, and much more!
Register Now:
@mdudas
FWIW this was a perfect storm of errors and was only possible because the L1 addy was created by WM *3 years ago* on an older version of the factory.
Any retail user using since its launch on Optimism would not be at risk.
Last weekend an attacker was able to gain control of the Optimism addresses that correspond to various Gnosis Safe multisigs on Ethereum that had not yet been deployed to Optimism. A quick thread on security in the multi-chain world ~~
Innovation is always about placing old ideas in a new light. And that has value on its own.
It might not always get the "original citation," but it helps you coordinate your team and communicate to the world.
And it definitely helps you write clean, effective code.
2/3
Scaling Ethereum as a public good isn’t just a code problem, it’s an incentive problem. Our first experiment?
😍💵 Make it profitable to build public goods.
Cannon (CANNON CANNON CANNON) is our next-gen fault proof architecture, and it’s coming soon.
It enables optimal data costs.
It effortlessly preserves EVM equivalence.
Its very first bug bounty goes live today. 💥
@kelvinfichter
@trent_vanepps
@nicksdjohnson
@epolynya
@karl_dot_tech
There's another path forward in the form of stateless block verification. You don't need L1 to preserve a separate state space if you have that--just takes being able to statelessly apply a block to an arbitrary *L2* blockhash from within the VM. This is hopefully easier.
@krzKaczor
@fubuloubu
@optimismPBC
Yeah, Kris is basically right here. Since LOG* has no effect on state root we didn't virtualize it into ovmLOG*.
One thing we could do is suppress the outputs in l2geth, although it still wouldn't throw an exception--do you folks think that's better behavior?
Leaving
@OPLabsPBC
is bittersweet.
Watching the team grow over the past few years into a 40-strong band of empathetic, brilliant engineers and operators has been the most humbling experience of my life.
Finding people who can do it better than you? Over and over again? ❤️ 🤯 ❤️
@ben_chain
Anonymous and open Data. Still have personal ledgers but it’s not revealing and data is buyable by all research groups (from users), not just a central power. There needs to still be someone creating people’s ledgers but that can be done. I have some ideas if you’re interested
No Twitter handle but addition of Brian Avello more than deserving of callout too—did not take long getting to know Brian that he is absolutely fantastic.
Simultaneously HYPED to be transitioning to the Optimism Foundation and begin the next chapter of our journey alongside my co-founder
@jinglejamOP
as our Executive Director.
And with old friends and legends
@evabeylin
@abbey_titcomb
joining the mix?
It's just tooooo OP 🔴_🔴