---
# System prepended metadata

title: 'Development Update #3: Completing Stage 1'

---

# Development Update #3: Completing Stage 1 

### Stage 1 Deliverable : Defining the Project

**Project Name/Purpose** : Expand L2 adoption with ZK-Rollups and improve user experience

### Existing ETH Research To Build On  

* [A zk-evm specification](https://ethresear.ch/t/a-zk-evm-specification/11549): 

    * Summary: Efficient zk-EVM arithmetization with 3 goals: support for all EVM opcodes (inc. smart contract calls, gas mgmt and error mgmt)

* L2 Rollup option: [Obscuro](https://whitepaper.obscu.ro/obscuro-whitepaper/motivation.html) 
    *    Combats user fears around transparency and lack of security by leveraging Trusted Execution Environments [TEE]

* Interacting off-chain, between L2 providers
    * Lowers gas costs
    * Links:
        * [Hop](https://ethresear.ch/t/hop-send-tokens-across-rollups/8581) 
            * Utilizes "bonders" which essentially act as credit systems to ensure immediate transfer of coins
            * [Whitepaper](https://hop.exchange/whitepaper.pdf)
        * https://ethresear.ch/t/cross-rollup-dex-with-smart-contracts-only-on-the-destination-side/8778

#### All ZK-Rollup L2 Projects:

Running theme: cheaper/faster transactions.

* [zkSync](https://zksync.io/)
    * Matter Labs; Lots of funding/investors;
    * Low gas fees = 1% of Ethereum gas
    * 2000+ tps compared to 14 tps on Ethereum
    * No native token (yet)
    * [Article](https://medium.com/iosg-ventures/featured-interview-zksync-the-future-is-now-an-evm-compatible-zk-rollup-for-scaling-dapps-bdc2563a6c2d)
    *  You can use Solidity
* [Loopring](https://loopring.org/#/)
    * Has their own token: LRC
    * High throughput, low-cost trading and payments on Ethereum
    * exchange assets across exchanges
        * pools orders from as many exchanges as possible
    * blockchain agnostic (any platform with smart contracts can use it)
    * trade between coin exchanges using loopring wallet
    * ring miners = ensure orders are not blocked
    * assets can always be withdrawn with merkle proofs as long as on-chain data availability is enabled
* [StarkNet](https://starknet.io/)
    * No coin
    * Cairo programming language
    * smart contract support
    * STARK proofs
    * [Article about move to mainnet](https://medium.com/starkware/starknet-alpha-is-coming-to-mainnet-b825829eaf32)
* [ZKSwap](https://zks.org/)
    * theoretical tps: 10000+
    * PLONK
    * [Aggregate proofs](https://medium.com/zkswap/zkswap-introduces-practical-zk-rollups-zkspeed-achieving-high-tps-and-low-gas-fees-in-real-6effe4e789e0)
        * one proof for one layer2 block
        * aggregates mult. proofs generated in a fixed time or # of blocks and verifies through a zk proof. 
        * one on-chain verification can validate multiple l2 block proofs
    * next step = recursive SNARKs
* [Aztec](https://aztec.network/)
    * Layer 2 for the internet of money
    * Built on [PLONK](https://vitalik.ca/general/2019/09/22/plonk.html) (zkSNARK)
        * Relies on one single standardized cryptography component: polynomial commitment
        * Use cases requiring tradeoffs b/w proof size and security assumptions can share the same tooling for "arithmetization" 
* [Hermez](https://hermez.io/)
    * Proof of Donation - money cycles back into Ethereum development
    * Over 2000 tps
    * HEZ token
    * [Docs](https://docs.hermez.io/#/)
* [Immutable X (NFTs)](https://www.immutable.com/)
    * Over 9000 tps
    * 0 gas fees for peer to peer (simplifies process and increases mass adoption)
    * IMX token

### High Level Description of Chosen Project / Topic

L2 is the future of Ethereum scalability. L2 zk-rollups, specifically, increase throughput and lower gas fees exponentially.

L2, and how L2 connects to L1, must be continuously improved and streamlined to facilitate widespread L2 adoption and encourage growth in the Ethereum user population.

The primary gap identified is usability and lack of education around how to operate and properly utilize L2 networks in conjunction with L1. My main goal here is to go on a technical documentation campaign for the various zk-rollup projects and identify improvements and contribute to technical documentation. I will also identify where additional functionality can be incorporated into existing tools, especially tools that focus on L2<>L1 communication (like the Warp project that focuses on solidity -> cairo compilation.)

**E.g. work done so far:**

In the StarkNet CLI tool the technical documentation is dense, unclear at times, and inconsistent in several locations. I will aid in the improvement of the technical documentation as their tools moves to mainnet from testnet. 

Additionally, I identified several locations for user experience improvement: 

* add block_status() function to call the status of a particular block (currently this field is only available in a larger get_block command with a lot of other information). 
* add information + functionality around gas fees for transactions (this is currently not implemented or discussed in docs)


This project is crucial. If enough people do not adopt L2 (and Ethereum more broadly), it will not have the revolutionary success that I believe it can achieve. We must make every effort to improve usability of L2<>L1, educate users, and evangilize the benefits of utilizing the Ethereum blockchain for as many use cases as possible (beyond defi). Additionally we must make every effort to streamline L2<>L1 communication. 


Other Resources (Continued Gathering)
* [Voting (Vitalik's Blog)](https://vitalik.ca/general/2021/05/25/voting2.html)
* [EIP-2645](https://eips.ethereum.org/EIPS/eip-2645)
* [EIP-4488](https://github.com/ethereum/EIPs/pull/4488/files)





