As someone who's active in the Blockchain space since 2015, I found rollups to be a really cool invention. The idea of simply compressing data with a zero knowledge proof is quite simple and beautiful.<p>A year ago, I've worked at a company that tried making Plasma work (<a href="https://leapdao.org" rel="nofollow">https://leapdao.org</a>). We even had shipped a Plasma chain to the mainnet. As Vitalic points out correctly, a major problem (apart from not having guaranteed data availability for the Plasma's chain data) was that in order to transact "off-chain", a user had to transfer some money into a bridge. Only then, the Plasma chain credited this money to the user.<p>That was a major usability problem, as it took a really long time and since the user was then anyways subjected to really high transaction costs at least once. Hence, we had really low liquidity and the project never took off.<p>With rollups, I imagine this could become less of a burden as there's no double accounting. The single source of truth is the smart contract checking the "batches". I can imagine having a contract interface that's the equivalent of "depositing into a rollup and immediately send it to person X". I could even imagine an ERC-20 V2 standard that makes any token a rollup. Then you simply never leave L2, meaning the "on-boarding problem" would be solved.<p>I'm not a cryptographic expert, but to me zkp are still somewhat scary and opaque. They're really hard core concepts that still seem to be in development and have not proven themselves. As an engineer with 5 yrs of experience in the field of blockchain, I'd still be really hesitant to build something with zkps without having a sort of cryptography consultant by my side.<p>Optimistic rollups seem to be a better fit here. Still, I have the feeling that much of this can still be significantly simplified once a well-matching use case comes into sight. But that's just a feeling for now...
I continue to be in awe of people like Vitalik and all of the other protocol developers who can understand all the different pieces (math, social incentives, engineering) to make blockchain technologies work. Great writeup, I really appreciated the tradeoffs tables in particular.<p>If you're interested in other uses of zk-SNARK, Celo (an Ethereum fork) is making it possible to run an "ultralight" node on your phone -- not mainnet yet I don't think but some details here <a href="https://docs.celo.org/celo-codebase/protocol/plumo" rel="nofollow">https://docs.celo.org/celo-codebase/protocol/plumo</a> and whitepaper here <a href="https://docs.zkproof.org/pages/standards/accepted-workshop3/proposal-plumo_celolightclient.pdf" rel="nofollow">https://docs.zkproof.org/pages/standards/accepted-workshop3/...</a>
Great write-up, concise and very clear. I just started learning dapp development and was able to easily grasp the different forms of L2-scaling.<p>I am especially excited about recursive ZK-Rollup smart contracts even though they are complex and computationally expensive. They seem to be more trustworthy than Optimistic Rollups and I can see them becoming the standard eventually.<p>It is great to follow this dapp tech at its frontier, so much potential and new breakthroughs every few months it seems!
Why not use a sidechain instead? They can compress transactions at least as effective, and have more simple security properties.<p>The main drawback with sidechains are that they are hard to run decentralized in any credible sense. Basically just as hard as the blockchain in the first layer sense. They seem to be identical in this regard.