L2 Planet Issue #20 aka Bogota Special
In this Issue of L2 Planet, we focused on the developments regarding Rhino, Consensys, zkSync, Algorand, Optimism, Arbitrum, Polygon, and StarkNet Ecosystem.
DVF DAO Hack Attempt
On October 13th, an attacker attempted to control the DVF DAO treasury worth over $20 million.
The attacker funded a new Ethereum address which uses “eXch” as an anonymizer. This newly created address deployed an unverified contract which they would later use to execute the attack. The attacker called a function on their new contract, and it took three visible actions:
Submits a new proposal transaction to the SafeSnap module of the DAO
Submits a corresponding new question to Reality.eth matching the same proposal
Submits a 0.1 ETH bond to Reality.eth claiming that the proposal was voted on via Snapshot and met all of the DAO requirements
Rhino protocol’s automated alert systems alerted the team about the attack immediately. In response, the team posted a bond on Reality.eth of 0.2 ETH to contest that the proposal was invalid. If the attacker continues to escalate the oracle submission, The DVF DAO council can veto the transaction before it is executed.
So, the attack was defeated, and the attacker lost 0.1 ETH. Long live DVF DAO!
Consensys EVM-equivalent zkEVM
Consensys announced the release of their updated&extended EVM-equivalent zk-EVM specification.
The team hasn’t shared any documents yet but Consensys’ design goals are:
Execution of unaltered, native bytecode in accordance with the Ethereum VM specification as specified in the yellow paper
100% coverage of the different opcodes
Delivery of a “Type-2” zk-EVM as defined by Vitalik
According to the announcement, their design offers one path forward where developers can deploy any smart contract, use any tool, and develop exactly as if they were building on Layer 1 (L1). For users, this enables the experience and security guarantees of Ethereum, but with far lower transaction costs.
If you are a dApp developer, user, researcher, or existing protocol who wants to test it, you can sign up using this form to join the waitlist.
zkSync Opportunity L3
zkSync announced plans for the deployment of its Layer-3 Pathfinder solution. After the announcement, an unintentional naming conflict occurred with a product developed by Starkware. So, the team renamed the Layer-3 prototype from Pathfinder to Opportunity. Let’s deep dive into the details of Pathfinder.
zkSync believes that unlimited scalability and therefore mass adoption will happen at Layer-3 and beyond. zkSync’ Layer-3 will be an ecosystem of customizable and trustlessly linked blockchains powered by zkEVM that they refer to as ‘HyperChains’. All interaction between fractal HyperChains occurs via native bridges and developers will be able to choose zk-Rollup, zkPorter, or Validium data availability modes. Ecosystem partners will be able to have their own token to secure Sequencers, Provers, and DA providers. Also, thanks to the LLVM compiler, zkSync’s L3 solution will support several programming languages such as Rust, C++, Swift, Vyper, and more in addition to Solidity.
The first Layer-3 Opportunity testnet is expected to be released around Q1 2023. zkSync announced that the testnet will be public and will be used for public experimentation, research, and development of Layer-3.
Milkomeda A1 Rollup on Algorand
Milkomeda, a protocol that brings EVM capabilities to non-EVM blockchains, announced that they launched the first rollup protocol on Algorand.
Milkomeda’s A1 Rollup has a two-step process. Firstly, a Batcher, the same actor as the Sequencer on other Rollups, collects transactions from users and decides on which ones to put into the next batch. Then, the Batcher will encode the txs and split the resulting data into 15kb chunks. These chunks are used for building a Merkle tree, and its root becomes the batch proposal for the given batch. Once the root is included in a block, the batch has officially been proposed.
In the second step, no new batch proposals are accepted after the root is included in a block, and the Batcher now has a set time frame to post all their batched data to the chain. When a chunk of data is posted, a Merkle proof linking it to the batch proposal is posted. Then, the Rollup Observer reads Algorand for batches being posted, finds each batch, orders its chunks based on the included Merkle proofs, and restores encoded Rollup batches. Applying all txs from the batches onto the EVM node reconstructs a view of the rollup state. So, data such as token balances and smart contract states are available.
Currently, there is only one Batcher, but being a Batcher will be open to anyone. What can we do on Milkomeda? The Blueshift and Celer are already live on Milkomeda’s A1 Rollup. Axelar, Brightside, and more are coming soon.
Vitalik’s Multi-prover Approach
Vitalik Buterin presented a multi-prover idea at DevCon Bogota.
He said, “Today, almost all rollups are still on ‘training wheels’”. Most Rollups and zkEVM solutions have complicated and long lines of code. For example, PSE’s (Privacy and Scaling Explorations) zkEVM circuits have 34,469 lines of code. 34,469 lines of code are not going to be bug-free for a very long time. We need a solution to minimize risks. Vitalik offers 3 options:
High-threshold governance override: Some Rollups, especially those using tokens for governance, look like they will use this method. If the token is not well distributed, the governance may be manipulated. Another design of this option is to construct a committee with well-known actors, but the disadvantage of this design is that users have to rely on those actors.
Multi-prover: Imagine there is a multiple proof system that a Rollup uses. For example, two ZK and one Optimistic. These proof systems should have very different construction to minimize risks.
Vitalik stated that multiple proofing allows for a much more resilient network. However, the Multi-prover system is not entirely perfect, as there are more complex variants of it. Vitalik states:
“If anyone submits two conflicting state roots to a prover and both pass, that prover is turned off”
“If no successful message is passed through a particular prover for 7 days, that prover is turned off”
Two-prover plus governance tie break: The most effective security system for Rollups. Two proof systems, two different variants. With the two-prover system, users don’t necessarily have to trust governance as it can’t contradict the provers. Also, rollups are protected from a bug in either of the two provers.
Today, Optimism is the most forked Rollup architecture. For example, Boba and Metis use Optimism architecture and secure more than $160m in their chains, but Optimism secures much more than that. In DevCon Bogota, the Optimism team introduced OP Craft, a crafting-based voxel game by lattice.xyz, which was built with Bedrock.
OP Craft is one example of what can be built using OP Stack, but the possibilities are endless. OP Stack is a modular, open-source, scalable, and interoperable Rollup architecture. Not just Rollup, not just Optimistic.
Each layer of the OP Stack is described by a well-defined API, to be filled by a module for that layer. Want to use zk-proofs? Done. Want to use Celestia as a DA (Data Availability) layer? Done. Want to use Bitcoin as an execution layer? Why not? Optimism defines the chains which use OP Stack, as op-chains. It is the point where the game starts. Op-chains can share a set of Sequencers and communicate with each other. It also enables atomic cross-chain interactions. The addition of atomic cross-chain interactions means that this feels to end users like a single logical chain, Superchain!
OP Stack is still a very early product and not Optimism’s primary goal. Optimism is focused on shipping Bedrock on mainnet. So, it can enable Cannon fraud proofs on Optimism :)
Arbitrum Acquired Prysm
Arbitrum announced that they acquired Prysm, the most popular Ethereum consensus client.
Prysm will remain a fully open-source and neutral consensus client but it will add value to Arbitrum. This deal will increase Arbitrum’s involvement in further Ethereum development initiatives such as bringing EIP-4844 data-sharding to production! Looks like this is a counter-attack to Optimism’s EIP-4844 contributions.
Polygon zkEVM Public Testnet
Polygon announced the zkEVM public testnet in DevCon Bogota.
Polygon’s zkEVM fits in “type-3” according to Vitalik’s approach, but the team aims for “type-2”. What is a type-3 or type-2 zkEVM? Below is an image of Vitalik’s approach.
Polygon’s zkEVM public testnet is the first open-source zkEVM network. It supports all OPCODEs, including Pairing/Blake/SHA256. Also, Aave, Lens, Uniswap, and Midnight Society will be part of this testing process. Are you ready for the zkEVM wars, anon?
Nethermind Warp’ed Uniswap to StarkNet and announced UniStark.
Argent introduced dappland, the best place to find and explore leading dapps across the StarkNet ecosystem.
Argent X, the only open-source wallet for StarkNet has hit 250K downloads!
StarkNet Alpha 0.10.1 has been released on the Goerli testnet.
Dolven Labs testnet v1.0 has been announced.
Astraly is building a reputation engine on StarkNet.
Commercium, a DEX aggregator on StarkNet, announced its testnet.
Notes from the recent ZK-EVM talk hosted by StarkWareLtd ft. Vitalik Buterin, Eli Ben-Sasson, Shahar Papini, and Abdel.
Aave is coming to StarkNet with their first official project. There is already a discussion about enabling the bridging infrastructure on the Aave forum.
EVM interpreter written in Cairo, Kakarot, a sort of ZK-EVM emulator, has been introduced.
Exploring the FuelVM, Ryan Sproule
That’s all from L2 Planet for now, hope to see you in 15 days :)