βš”οΈ Blockchain battles - introducing the refutation games.

Or how the #tezos #mumbai upgrade brings trust in the optimistic rollup world. A 🧡
To succeed, blockchains need to scale. Monolithic blockchains won't support millions of TPS.

The solution? Separate execution into its own layer - a rollup. Rollup node operators process lots of txs and push block hashes into the layer 1, making them immutable. Problem solved?
Not so fast! You need to trust rollup node operators to publish valid commitments. The layer 1 can't tell just by looking at the hash.

In fact, prominent rollups on Ethereum work under a "multisig", meaning that a set of actors vouch for these blocks.
But blockchains are supposed to be trustless! Luckily Tezos solves this.

In Tezos, anyone can register a rollup into the L1 by posting a 10,000 tez bond. They must attach a kernel - an execution environment for their rollup.
A kernel is like a rule book for what's permitted in the rollup. Typically it dictates how blocks must stack on top of one another - you can't create money out of thin air, you can't sign data without the private key, these kind of things.
Once the rollup is created, rollup nodes submit messages to the Layer 1 chain. But the layer 1 can't interprete them. The rollup is "optimistic". It trusts that these messages represent valid state transitions, as per the kernel that has been submitted.

But what if they don't?
That's where the refutation game comes in. If the rollup node operator goes rogue and submits an invalid commitment, anyone can challenge it by submitting proof.

However, recall that the rollup is faster and has more capacity than the L1.
Tezos - the layer 1, is a high security but relatively low throughput environment. There may be many rollups running on it. You can't just escalate any execution to it - you may break the L1. You have to be selective.

Refutation games is the brilliant way to achieve this.
You are a rollup user and you have been grieved by a rollup operator - they cancelled your coins or pushed an invalid state transition, say.

Your honest rollup node detects this and starts a refutation game.
How does it work? Imagine you and your friend are playing a game where you have to guess a random number between 1 and 100.

Is it over 50? you ask. They answer yes.

Over 75? No.

You converge quickly to the answer.

Refutation game is kind of like this, but for computation.
The rollup creator submitted a kernel. This kernel runs in a proof virtual machine - a special environment suitable for such games. Both you and the malicious rollup operator replay operations under the wary eye of the layer 1 judge.
You dissect your computation and quickly converge on the problematic "ticks" (units of computation).

When you win, your opponent loses their 10,000 tez bond (every player has to put forward a bond).
All of this happens on Tezos L1 and fills the L1 blocks. So it has to be efficient. The refutation games makes sure it is.

By quickly converging to the problematic bits, a refutation game does not take that much space and computation.

This preserves the decentralization of L1.
Screen captures from tzkt.io from @TezosBakingBad .

See it for yourself on #mumbainet:

mumbainet.tzkt.io/sr1LhGA2zC9VcY…
A refutation game is not something that will happen a lot. It will be as rare as slashing within the L1 consensus.

Besides, no human is actually playing. Rollup nodes will do this when they detect anything uncanny going on - due to malice or error.
Rollups will run optimized versions of the kernel without the proof apparatus. The proof-virtual machine will run only in the context of a refutation game, that is, rarely.

But it's very important that this game exists as it keeps everyone honest!
This is a fundamental departure from #rollups on #ethereum. They don't have this. Everything happens "over the top layer". You may have a (slower) fraud proof, or you may be required to trust a team of funders or a DAO.

Not so on Tezos. The rollups are more of a common good.
Rollups in Tezos are less likely to have a token (though it's possible that they do).

Most likely they will use ctez (a tez derivative) as their canonical unit of accounting.
There are few exciting rollups in the works (though they likely won't come the minute right after mumbai activates): a Michelson rollup (Tezos-on-Tezos) and an EVM rollup!

Data availability layer and ZK rollups are also in the work. The future of #tezos is bright. End 🧡

β€’ β€’ β€’

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

Keep Current with Nicolas Ochem πŸ‡ΊπŸ‡¦ (nicolas.tez) ⚑🍞

Nicolas Ochem πŸ‡ΊπŸ‡¦ (nicolas.tez) ⚑🍞 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!

PDF

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!

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!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(