Welcome to Istanbul, time to rollup!
2019 was de facto the year of DeFi(Decentralized Finance). The total amount in dollar terms of cryptoassets locked into DeFi is estimated to be about $700M. However, the number of active DeFi product users has not grown significantly. Naturally, the question arises: why do cryptoasset holders not use Dapps or DeFi services on Ethereum? Some point fingers at bad UI/UX practices yet others pick scalability and privacy as main sources of the problem. For Ethereum, scalability and privacy have been the elephants in the room since its meteoric rise in 2017.
And, for those Ethereum fans worried about the current DeFi landscape, here are some great news! Rollup, a layer-2 solution on Ethereum, is put on a countdown for its introduction to the ecosystem.
Layer-2 and Off-chain
The blockchain trilemma is one of the greatest hurdles for any crypto-native players. The term itself is coined to demonstrate the sheer difficulty of having all three following components — decentralization, security, and scalability. For instance, Ethereum boasts its high level of decentralization and security yet it lacks scalability. Indeed, many including its hardcore fans point out the scalability issue as Ethereum’s Achilles heel. One thing is for certain, the scalability issue needs to be addressed.
Many crypto-native players including the Ethereum Foundation and even myself have made many attempts to resolve the scalability issue without compromising decentralization or security. The latest efforts come from off-chain scaling solutions such as sidechain, plasma, state channel, and their variations.
Rollup
Rollup is a layer-2 scaling solution that works akin to plasma in many ways. Both solutions deploy an on-chain single contract that secures all deposits and stores sidechain activities — typically recorded in merkle tree format — such as user accounts, balances, states, and so on. This saves a lot of resources for most sidechain data are not managed at layer-1. Indeed, the room for scalability comes from here. We normally call the participants who bridge between sidechain and on-chain and manage on-chain smart contract as ‘operators’
One of the features that distinguishes Rollup from plasma would be data availability. To put it in a nutshell, data availability issue arises because off-chain state is not stored in on-chain. For most existing sidechains including plasma, data availability is the most problematic issue. In contrast to those sidechains, Rollup literally ‘rolls up’ hundreds or even thousands of transactions and publish the bundled transaction data directly on layer 1. In order to do so, Ethereum uses ‘Calldata’ — a function that is included in EIP-2028.
ZK Rollup(ZKR)
Late 2018, Vitalik suggested ZK Rollup(ZKR). ZKR uses zk-SNARK to aggregate transaction data and upload the bundled data to the Ethereum main chain. ZKR operators collect hundreds to thousands of transactions, and generate zk-SNARK from the transaction data or state transition value. This SNARK proves the validity of transactions. In other words, SNARK is used to verify whether the transactions are correctly signed by owners. Also, SNARK proves whether token transfer and smart contract execution are taking place without any errors. Moreover, SNARK creates a merkle tree, reducing the size of data.
I recommend to look up here or here for those who want more technical details.
Optimistic Rollup(OR)
Optimistic Rollup(OR) was indeed one of the DEVCON 2019 buzzwords. OR significantly reduces operator’s workload than ZKR does. Although OR operators collect hundreds or thousands of transactions like ZKR operators, OR operators is distinct for they do not use zk-SNARK. Instead, every operator, just like its given name, ‘optimistically’ hopes for transactions to be intact. Then, what happens when incorrect transactions are published? Should this happen, participants who noticed invalid transactions could inform about the incongruence. The ‘malicious’ operator who caused the invalid transaction then will be punished through slashing. This may sound utterly familiar to those who already know about plasma. Indeed, the Plasma Group is leading the development of Optimistic Rollup.
For those who would like to see more details, look into John Adler’s ideas here.
Istanbul
I assume most Eth followers are already quite familiar with Constantinople or Serenity. These are code names for Ethereum upgrades. And, since these upgrades bring significant changes to the incumbent protocol, we call them as ‘hard forks’.
‘Constantinople’ is an upgrade that took place on February 28, 2019. Also, ‘Serenity’ or so-called ‘Ethereum 2.0’ is an upgrade that would roll-out a new blockchain with features like PoS(proof-of-stake), sharding, and so on. Because Ethereum aims to become an open network, anyone is welcome to submit an EIP or Ethereum Improvement Proposal. And, among those numerous EIPs, some deemed to be apt are chosen to be implemented along with each upgrade. Even the ERC-20 token standard was a part of an upgrade that implemented EIP-20 which was created on November 19, 2015.
The Istanbul hard fork took place in the early morning of December 8, 2019 (KST). About 30+ EIPs were proposed, yet only six were chosen to be implemented. Noteworthy updates are EIP-1108(precompile gas cost reduction), EIP-1344(ChainID opcode addition), and EIP-2028(Calldata gas cost reduction).
The technical details of the Istanbul updates are as follows:
- EIP-1108: reduces costs accompanied by zk-SNARK related layer-2 solution
- EIP-1344: facilitates smart contracts to follow the appropriate chain on layer-2
- EIP-2028: reduces calldata cost to 1/4 that would add more advantages such as data availability on layer-2
In essence, the Istanbul hard fork is a jolly gift from Ethereum Santa Claus to layer-2 solutions.
Future
We’ve looked into some Istanbul hard fork implications. Now the real question is: what significant changes will Istanbul really bring?
Currently, Ethereum consumes 21,000 gas to send a token. On the other hand, OR consumes only one fifth of that, 4,000 gas. It means that OR will help Ethereum to perform five times better than now, reaching 100 TPS. Fuel, Interstate Network, Arbitrium, and SKALE Labs are the pioneers when it comes to using OR. And, among these players, SKALE Labs is making a bold move of switching from the most commonly used ECDSA signature to the BLS signature.
Matter Labs announced its launch of the devnet for ZK Sync — a trustless scaling and privacy solution for Ethereum based on ZK Rollup. According to Matter Labs, ZK Sync will only consume 272 gas per transaction once its smart contract is deployed on the Ethereum mainnet. It also means that we could expect 2,000 TPS theoretically.
If these solutions are successfully implemented to the mainnet of Ethereum, the scalability and performance issues will no longer be considered as bottlenecks. Moreover, the privacy issue is likely to be resolved alongside with the scalability because tackling these issues will become much easier by relying on L2 solutions rather than L1.
If the aforementioned changes take place, we will witness the convergence of the incumbent financial system and Ethereum ecosystem. This indeed will effectively encourage more people to become the part of DeFi initiative. When we use the traditional finance system, we do not normally worry about our transactions getting disclosed or banks processing our transactions too late. And, if we could see the same level of security and speed within the Ethereum ecosystem(DeFi), users will flock to the DeFi ecosystem. If Ethereum 2.0 is what many crypto-natives dream of as an oasis in this crypto winter, layer-2 solutions such as Rollup would be the compass to follow in 2020.