Overview
Definition
=nil; is an Ethereum layer-2 blockchain powered by zkSharding. The design of =nil; embodies three core qualities:
- Horizontal scalability. =nil; unlocks the power of many machines by partitioning state across shards with cross-shard communications being a built-in feature of the protocol.
- Modularity. =nil; acts as an execution layer while using Ethereum for data availability and consensus.
- Verifiable security. The entire =nil; network can be verified with a single zero-knowledge proof attesting to the correctness of all shards.
The design of =nil; transcends the typical monolithic vs. modular discourse as it emphasizes horizontal scalability above all else. =nil; scales out beyond the constraints of a single machine's processing power, by leveraging zkSharding, a new type of sharding architecture.
In zkSharding, message processing is delegated to execution shards which contain small partitions of the overall state. Execution shards are managed by the main shard while a special sync committee handles data availability. The sync committee is also responsible for producing zero-knowledge proofs (ZKPs) verifying intra-shard state transitions.
In =nil; it is only possible to deploy smart contracts on execution shards. The main shard exists for synchronization purposes only.
=nil; offers an effective strategy for scaling Ethereum while avoiding the limitations typically associated with the modular approach such as state and liquidity fragmentation.
Key differences between =nil; and Ethereum
The following table summarizes how =nil; differs from Ethereum.
Area | =nil; | Ethereum |
---|---|---|
State | State is partitioned between individual shards responsible for message execution | State is not partitioned |
Execution | Support of async message execution | Only sync message execution |
Accounts | All accounts are smart contracts, no EOAs | Separation of EOAs and contract accounts |
Deployment | Support of internal and external deployment without requiring an EOA | An EOA or a smart contract are required for deployment |
RPC | Custom RPC loosely modeled after the Ethereum RPC | The original Ethereum RPC |
Currency and tokens | One native token used to pay for execution; contracts can create and be debited in custom currencies | One native token, support of multiple token standards |
Structure of the documentation
Introduction
Learn the basics of what =nil; is and how it works.
Getting started
Start working with =nil; and learn the essentials of its implementation.
Tools
Access the developer tools supplied with =nil;.
Core concepts
Familiarize yourself with the key components of the architecture of =nil;.
Guides
Read about the inner workings of the =nil; implementation and access advanced tutorials.
References
Specification
Learn more about how =nil; plans to resolve issues central to any blockchain.
The materials in this section may describe features and components that are not yet part of =nil;.