Layer 2 learnings by Ethereum Magicians
Takeaways from out Layer 2 sessions are finally live! We are rolling out the key learnings and takeaways from The Ethereum L2 Future series.
High gas fees (and the uncertainties they cause for users) are a huge problem on Ethereum and builders are trying to come up with solutions.
One solution is EIP-1559, which proposes to fundamentally change the way that the fee market works on Ethereum, adding in a novel fee burning mechanism. which would effectively burn some of the ETH per transaction. We recommend reading “Why 1559” from The State of 1559 curated by Tim Beiko for the reasoning behind this EIP and the benefits it will bring.
Another solution to high gas fees are Layer 2 solutions, enabling users to submit transactions faster and cheaper than on Ethereum mainnet (while benefiting from its security). There are many of them and we would love to hold discussion about their ideations and solutions.
For the first session we invited Layer 2 teams to share an introduction intro about Layer 2 solutions and educate people on L2 topics.
For the second session we invited Layer 1 (Ethereum) and Layer 2 developers to chat about problems, struggles and solutions that developers are facing on L2s and in transition between L1 and L2 on Ethereum.
For the third session we invited people who are working on L2 tools for users to talk about their experiences.
The main takeaways and learnings from Starting with L2 session
The recording from this session is on YouTube
Full notes are on HackMD
Discussion thread is on Forum
The basic idea of the rollup: it bundles many many transactions together and submits them to a block. You only do the minimal stuff on a chain. You have the block, you store the state, a single root. Then all the transactions that are executed would only change the single root variable. This is the latest state of this “side chain”, which is classified as an L2 because of its security relationship with the L1.
The initial setup for a user: In a rollup, people enter a smart contract on the L1 (Ethereum mainnet), they deposit. The rollup is in its own separate chain (the L2) which shares security with the L1. The deposited funds are locked on the L1 until they exit from the L2.
ZKRU TL;DR: A ZK rollup uses zero knowledge mathematics to prove that all of the transactions within the block are valid, and you submit that block through the rollup smart contract. The data is not posted to the L1 chain. Smart contracts run in a specialised VM and language, solidity/vyper code will soon be able to be ported.
ORU TL;DR: For an optimistic rollup, the smart contract cannot prove that the block is valid. Optimistically all of these blocks are accepted. It is unknown if these transactions were executed correctly, and if the new state is correctly updated in the root variable. And this is solved by a fraud proof, requiring 1–2 weeks for the withdrawal. The data is posted to the L1 chain. Smart contracts run in a modified EVM and solidity/vyper code is very easily ported to the ORU.
The Main takeaways and learnings from Developers L2 session
The recording from this session is on YouTube
Full notes are on HackMD
Discussion thread is on Forum
Takeaways:
Problem domain and challenges:
- Costly transactions are not sustainable for users
- dApps are designed for single-chain world using traditional browser with MetaMask
Concerns with introduction of L2s:
- Loss of composability between smart contract systems
- Fragmentation of service and development infrastructure
- Delays for users
- How to inspect and connect to L2 nodes
Other key highlights:
- Polkadot and Cosmos are preparing us for multi-chain
- From UX standpoint, swapping networks in MetaMask isn’t going to work
- A big problem is no standard interface for communicating across contracts
- The mechanism for cross-L2 action is the issue. Linking across systems requires a deposit / liquidity.
- Tokenization as an encapsulation of functionality is a big opportunity
- Tokenization is a UX technology. Settlement as an explicit token.
The following has to be addressed to enable composability via tokenization / state channels:
- Sufficient liquidity provision,
- Convenient running/operating nodes,
- Standardization of conditional transfers
- Wallet infrastructure is seen as crucial to a seamless use of L2s by users. This requires improvements to JSON-RPC, universal use of JSON-RPC by all networks.
To enable multiple, active connections via JSON-RPC:
- Adoption and standardization of JSON-RPC,
- Universal use of Chain ID,
- Mapping accounts and signatures across chains
- Accounts are not addresses. Accounts are the conjunction of chain ID and addresses.
- Cross-Chain Improvement Proposals can enable standards to apply to all chains
- “Business Models” can also solve L2-related problems: Miner extractable value, commercial services building their own L2s, privacy-preserving data mining
The main takeaways and learnings from the User Experience on L2 session
The recording from this session is on YouTube
Full notes are on HackMD
Discussion thread is on Forum
Takeaways:
- ENS supporting L2s
- Wallets needs to integrate build in L2 chain support
- Layers on Ethereum should be more hidden so the end user won’t notice which chain is he using to interact with Ethereum
- DAI to xDAI transfers are more difficult than ETH to DAI, FIAT on-ramps helped a lot
- FIAT to xDAI on-ramp was created by users
- Give users hot wallet is necessary investment for the “AHA moment”
- User experience is just as important as the developer experience
- Pseudo-MetaMask wallet with some ETH and DAI pre-filled would solve many user on-boarding headaches
Bottom line
Thank you for all of the support that we are getting from the wonderful magical Ethereum Community. We will soon announce news that Ethereum Magicians Operations Team has been working on. Until that,
Stay Magical ✨
This article was Co-Authored by James Pitts who is author of all notes that were taken during the The Ethereum L2 Future event series.