Skip to main content

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.

Contract deployment

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
StateState is partitioned between individual shards responsible for message executionState is not partitioned
ExecutionSupport of async message executionOnly sync message execution
AccountsAll accounts are smart contracts, no EOAsSeparation of EOAs and contract accounts
DeploymentSupport of internal and external deployment without requiring an EOAAn EOA or a smart contract are required for deployment
RPCCustom RPC loosely modeled after the Ethereum RPCThe original Ethereum RPC
Currency and tokensOne native token used to pay for execution; contracts can create and be debited in custom currenciesOne 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.

WIP provisions

The materials in this section may describe features and components that are not yet part of =nil;.