One of the more stimulating talks I saw in Bangkok was about terminology for rollups, by @KelvinFichter: https://www.youtube.com/watch?v=c1IbglrscSU. It gave me several new insights, though in the beginning I was quite confused. But after watching the video a couple of times, it all sank in. I'll explain it in my own words.
Kelvin starts his talk with a very powerful definition of a rollup: "A rollup is simply a blockchain that uses another blockchain for ordering and data availability". Obviously 'blockchain' stands for 'distributed ledger', to be precise. The primary goal of a blockchain is to implement a ledger, i.e. to process transactions.
In this context it is meaningful to distinguish the following functionalities/properties of a blockchain:
1) time stamping, which provides transaction ordering
2) (independently) ledger functionality
The latter, on its turn, has two properties
1) accounting/bookkeeping of all assets
2) availability of transaction data
And since a rollup is a distributed ledger, it should have these properties.
Let me try to clarify this a bit. In the most general setting, the term consensus just refers to agreement on the state of a distributed system, whatever the functionality is that this system is executing. In the context of a ledger functionality, this consensus is on the transaction order. The consensus on the states of all the assets (account balance) is merely an arithmetic consequence of this transaction order.
However, this is only verifiable if all transactions are public. So when people say 'data availability', in the context of ledgers, this refers to transaction data. And in the context of a rollup, the transaction data must be available, though it can be stored in batches, in compressed form. So any diligent person who is willing to make the effort is able to reconstruct the original transaction order and verify asset correctness.
Now after my nitpicking on terminology, here comes the second interesting part from KF's talk. He argues that if you believe a rollup is just another blockchain, then the adjectives optimistic or zk in the terms optimistic rollup or zk rollup do not make sense. Because if assets are sent from the rollup to the base chain or vice versa, these cross-chain asset transfers are executed by a bridge, not a rollup. In other words, it is the type of proof that is being used by the bridge that can be optimistic or zk (or even an atomic transaction, in some specific cases). That's why he insists: rollups don't use proofs, bridges do.
But I disagree. To justify a bridge, one must assume the existence of cross-chain asset transfer (peg/unpeg), between the rollup and the base layer. But suppose the existence of a rollup, but without cross-chain transactions? Through the simplified definition, a rollup could in theory live alone without an asset related to the mainchain, and so no pegging/unpegging. The rollup token can be completely separate, or it can have multiple tokens. So no need to introduce a bridge (peg/unpeg).
The way I see it, rollups store a copy of their data on the basechain, and the correctness (faithfulness) of this copy is guaranteed (or anchored for lack of a better word) through some trust mechanism: optimistic (fault proof) or zk (validy proof). No bridge involved, IMO.
This is also the way it is described by @VitalikButerin:
https://vitalik.eth.limo/general/2021/01/05/rollup.html, who also answers another question posed by KF: What is a Layer 2? Vitalik considers any technique to optimize L1 transaction a Layer 2, mentioning state channels, plasma, and rollups explicitly as explicit solutions.
This piece was written by Jeroen van de Graaf, Senior Cryptographer at ZKM.
One of the more stimulating talks I saw in Bangkok was about terminology for rollups, by @KelvinFichter: https://www.youtube.com/watch?v=c1IbglrscSU. It gave me several new insights, though in the beginning I was quite confused. But after watching the video a couple of times, it all sank in. I'll explain it in my own words.
Kelvin starts his talk with a very powerful definition of a rollup: "A rollup is simply a blockchain that uses another blockchain for ordering and data availability". Obviously 'blockchain' stands for 'distributed ledger', to be precise. The primary goal of a blockchain is to implement a ledger, i.e. to process transactions.
In this context it is meaningful to distinguish the following functionalities/properties of a blockchain:
1) time stamping, which provides transaction ordering
2) (independently) ledger functionality
The latter, on its turn, has two properties
1) accounting/bookkeeping of all assets
2) availability of transaction data
And since a rollup is a distributed ledger, it should have these properties.
Let me try to clarify this a bit. In the most general setting, the term consensus just refers to agreement on the state of a distributed system, whatever the functionality is that this system is executing. In the context of a ledger functionality, this consensus is on the transaction order. The consensus on the states of all the assets (account balance) is merely an arithmetic consequence of this transaction order.
However, this is only verifiable if all transactions are public. So when people say 'data availability', in the context of ledgers, this refers to transaction data. And in the context of a rollup, the transaction data must be available, though it can be stored in batches, in compressed form. So any diligent person who is willing to make the effort is able to reconstruct the original transaction order and verify asset correctness.
Now after my nitpicking on terminology, here comes the second interesting part from KF's talk. He argues that if you believe a rollup is just another blockchain, then the adjectives optimistic or zk in the terms optimistic rollup or zk rollup do not make sense. Because if assets are sent from the rollup to the base chain or vice versa, these cross-chain asset transfers are executed by a bridge, not a rollup. In other words, it is the type of proof that is being used by the bridge that can be optimistic or zk (or even an atomic transaction, in some specific cases). That's why he insists: rollups don't use proofs, bridges do.
But I disagree. To justify a bridge, one must assume the existence of cross-chain asset transfer (peg/unpeg), between the rollup and the base layer. But suppose the existence of a rollup, but without cross-chain transactions? Through the simplified definition, a rollup could in theory live alone without an asset related to the mainchain, and so no pegging/unpegging. The rollup token can be completely separate, or it can have multiple tokens. So no need to introduce a bridge (peg/unpeg).
The way I see it, rollups store a copy of their data on the basechain, and the correctness (faithfulness) of this copy is guaranteed (or anchored for lack of a better word) through some trust mechanism: optimistic (fault proof) or zk (validy proof). No bridge involved, IMO.
This is also the way it is described by @VitalikButerin:
https://vitalik.eth.limo/general/2021/01/05/rollup.html, who also answers another question posed by KF: What is a Layer 2? Vitalik considers any technique to optimize L1 transaction a Layer 2, mentioning state channels, plasma, and rollups explicitly as explicit solutions.
This piece was written by Jeroen van de Graaf, Senior Cryptographer at ZKM.