Skip to content

Commit 5e31d53

Browse files
sarahschwartzuF4No
andauthored
docs: refactor zkstack docs (#446)
- Renames ZKsync Stack back to ZK Stack - Refactors ZK Stack docs for ZKsync OS - Reorders/renames sections - Moves Airbender docs from protocol to ZK Stack - Moves "Launch your chain" buttons up to default/first options on landing page - Adds ZKsync OS and ZKsync OS Server pages to chain components - Separates customizations from basics of running a chain - Moves CTM addresses to protocol - Updates key features on ZKsync chains page TODO: - [x] Confirm if era-fee-withdrawer repo will still be used - [x] New link redirects - [x] Confirm latest RaaS providers What isn't updated: - `zkstack` quickstart - Proving setup instructions (need to confirm if `prover` command will be updated to use airbender, new system requirements - Prividium docs (this will happen in other PRs) - Instructions for L2 tx filtering --------- Co-authored-by: Antonio <[email protected]>
1 parent f9b0a7c commit 5e31d53

File tree

68 files changed

+448
-424
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+448
-424
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Unlock the full potential of ZKsync with our comprehensive resources:
3131
- **🛠️ Build:** Learn how to develop and deploy your smart contracts and
3232
applications on ZKsync Era. Our step-by-step guides and tutorials will help you get started quickly and efficiently.
3333

34-
- **🔗 ZKsync Stack:** Dive into the ZKsync Stack to discover how to
34+
- **🔗 ZK Stack:** Dive into the ZK Stack to discover how to
3535
configure and build a ZKsync Chain tailored for your application. Explore the architecture, components, and best practices.
3636

3737
- **🌐 ZKsync Node:** Set up and run your own ZKsync full node. Gain a deeper

content/00.zksync-network/30.unique-features/50.zksync-connect/00.index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn about how ZKsync Connect enables interoperable ZKsync chains.
44
---
55

66
ZKsync Connect enables interoperability across ZKsync chains in the Elastic Network.
7-
Interop, or interoperability, is a way to communicate and transact between two ZKsync Stack chains.
7+
Interop, or interoperability, is a way to communicate and transact between two ZK Stack chains.
88
It is made possible by smart contracts that verify transactions across chains using Merkle proofs.
99

1010
It allows you to:

content/00.zksync-network/40.tooling/20.hardhat/20.guides/20.migrating-to-zksync.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ You can learn more about each plugin in the [Getting started section](/zksync-ne
8080

8181
## Compilation
8282

83-
ZKsync Era (as well as other chains built with ZKsync Stack) is operated by the EraVM,
83+
ZKsync Era (as well as other chains built with ZK Stack) is operated by the EraVM,
8484
which executes a specific bytecode that differs from the EVM.
8585
This bytecode is generated by the `zksolc` (for Solidity contracts)
8686
and `zkvyper` (for Vyper contracts) compilers.
@@ -238,7 +238,7 @@ networks: {
238238
239239
## Deployment
240240
241-
Smart contract deployment on ZKsync Era (and chains built with ZKsync Stack) differ from Ethereum
241+
Smart contract deployment on ZKsync Era (and chains built with ZK Stack) differ from Ethereum
242242
as they are handled by the `ContractDeployer` system contract
243243
(see [Ethereum differences](/zksync-protocol/differences/contract-deployment)).
244244

content/00.zksync-network/65.zksync-os/00.index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ The Developer Preview currently supports a **fully EVM-equivalent environment**,
6262
existing EVM tools (e.g. Foundry, Hardhat, solc) and deploy contracts without modification.
6363
Future versions may include **EraVM**, **WASM** and **native RISC-V** environments.
6464

65-
Learn [more about ZKsync OS in the protocol documentation](../../zksync-protocol/zksyncos/overview).
65+
Learn [more about ZKsync OS in the protocol documentation](/zksync-protocol/zksyncos).
6666

6767
---
6868

@@ -93,7 +93,7 @@ Key properties:
9393
Because both execution and proving compile from the same Rust source, Airbender proves the exact code path executed by ZKsync OS.
9494
This reduces audit complexity and guarantees consistency between runtime and proofs.
9595

96-
Learn [more about Airbender in the protocol documentation](../../zksync-protocol/zksync-airbender/overview).
96+
Learn [more about Airbender in the protocol documentation](/zk-stack/components/zksync-airbender).
9797

9898
---
9999

content/10.zk-stack/00.index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
22
title: Overview
3-
description: This section provides an overview of the ZKsync Stack as a key concept of the Elastic Network.
3+
description: This section provides an overview of the ZK Stack as a key tool to launch and operate ZKsync chains.
44
---
55

6-
ZKsync Stack is a developer friendly modular framework that makes it easy for you to customize & deploy your own interoperable ZK-powered blockchains.
6+
ZK Stack is a developer friendly modular framework that makes it easy for you to customize & deploy your own interoperable ZK-powered blockchains.
77
All ZKsync chains in the ecosystem share users & liquidity.
88

99
::card-group
@@ -21,6 +21,6 @@ All ZKsync chains in the ecosystem share users & liquidity.
2121
icon: i-heroicons-rocket-launch-solid
2222
to: /zk-stack/running/quickstart
2323
---
24-
Run your own ZKsync chain using ZKsync Stack tooling.
24+
Run your own ZKsync chain using ZK Stack tooling.
2525
::
2626
::

content/10.zk-stack/10.zk-chains.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,21 @@ ZKsync chains are fully interoperable within the Elastic Network, facilitating s
1313
ZKsync chains operate with a shared bridge contract on Ethereum's L1 and include native bridges between individual rollups,
1414
enhancing the overall interoperability and efficiency of the network. Key features of ZKsync chains include:
1515

16+
1. **Security and Trust**: All ZKsync chains must utilize the standardized ZK-engine to maintain consistent security and operational standards,
17+
ensuring that trust and security are derived directly from Ethereum.
18+
1. **High Performance**: ZKsync chains are optimized for massive throughput and low latency,
19+
enabling 10,000+ transactins per second and fast transaction finality without compromising security.
20+
1. **Low Costs**: ZKsync's state of the art infrastructure reduces transaction fees to $0.0001 per transaction,
21+
a 99% reduction from Layer 1 solutions.
1622
1. **Trustless Validating Bridges**: Ensures that rollups within the ZKsync protocol are interconnected without requiring additional trust layers.
17-
2. **Asset Transfers**: Interoperability simplifies the transfer of assets, including burning and minting mechanisms, across the ecosystem.
18-
3. **Unified Governance**: Leveraging a shared governance framework on L1,
23+
1. **Asset Transfers**: Interoperability simplifies the transfer of assets, including burning and minting mechanisms, across the ecosystem.
24+
1. **Unified Governance**: Leveraging a shared governance framework on L1,
1925
the ecosystem can coordinate updates or respond collectively to vulnerabilities, much like a traditional blockchain network would handle a fork.
20-
4. **Security and Trust**: All ZKsync chains must utilize the standardized ZK-engine to maintain consistent security and operational standards,
21-
ensuring that trust and security are derived directly from L1.
2226

2327
### Development and Deployment
2428

2529
ZKsync chains can be developed and deployed by anyone, fostering a diverse and open ecosystem.
26-
However, for a ZKsync chain to remain trusted and fully interoperable within the Elastic Network, it must utilize the ZKsync Stack.
30+
However, for a ZKsync chain to remain trusted and fully interoperable within the Elastic Network, it must utilize the ZK Stack.
2731
This requirement ensures consistency in execution and security across different instances of ZKsync chains.
2832

2933
### Modular Implementation
@@ -37,7 +41,7 @@ while maintaining core standards necessary for network security and interoperabi
3741

3842
## How Interop Works
3943

40-
Interop, or interoperability, is a way to communicate and transact between two ZKsync Stack chains.
44+
Interop, or interoperability, is a way to communicate and transact between two ZK Stack chains.
4145
It is made possible by smart contracts that verify transactions across chains using Merkle proofs.
4246

4347
It allows you to:
@@ -79,7 +83,7 @@ Once planned upgrades for Gateway are complete, only a lightweight consensus mec
7983

8084
## Chain Customizations
8185

82-
The ZKsync Stack offers several customization options for developers looking to tailor a ZKsync chain to specific needs
86+
The ZK Stack offers several customization options for developers looking to tailor a ZKsync chain to specific needs
8387
or create entirely new blockchain architectures.
8488
This modular approach allows for significant flexibility in configuring transaction sequencing, data availability policies, and privacy features.
8589

@@ -100,14 +104,14 @@ This modular approach allows for significant flexibility in configuring transact
100104

101105
### Custom Base Tokens
102106

103-
The ZKsync Stack supports using ERC20 tokens as the base token for chain fees instead of ETH.
107+
The ZK Stack supports using ERC20 tokens as the base token for chain fees instead of ETH.
104108
This enables ZKsync chains to use tokens like USDC or custom community tokens as the base currency for transactions.
105109

106110
### Data Availability (DA)
107111

108112
Data Availability (DA) is a critical component in ensuring the security and functionality of ZKsync chain.
109113
It governs how transaction data is managed and made accessible, impacting everything from user privacy to transaction speed and cost.
110-
Below, we detail the various DA options available to developers using the ZKsync Stack, each tailored for specific security, privacy, and scalability needs.
114+
Below, we detail the various DA options available to developers using the ZK Stack, each tailored for specific security, privacy, and scalability needs.
111115

112116
#### zk-Rollup
113117

@@ -120,7 +124,7 @@ cheaper) on Ethereum's Layer 1 (L1). This approach benefits from:
120124

121125
#### Validium
122126

123-
A [validium](/zk-stack/running/validium)
127+
A [validium](/zk-stack/customizations/validium)
124128
offers a more flexible architecture ideal for enterprise applications that require both auditability and confidentiality.
125129
Its key characteristics are:
126130

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: Overview
3+
description: Overview
4+
---
5+
6+
This section provides a high-level overview of the components that make up a ZKsync Chain.
7+
8+
The main components of each ZKsync chain are:
9+
10+
- [ZKsync OS](/zk-stack/components/zksync-os): A new “operating system” for ZKsync Chains.
11+
- [ZKsync OS Server](/zk-stack/components/zksync-os): The new high-performance sequencer for ZKsync OS.
12+
- [ZKsync Airbender](/zk-stack/components/zksync-airbender): A horizontally scalable implementation of the ZK proof generator.
13+
- [Block Explorer](/zk-stack/components/block-explorer): An API and user interface for exploring transactions and verifying contracts.
14+
- [Portal](/zk-stack/components/portal): A user interface for bridging and sending assets, and viewing a wallet's transaction history.
15+
- [Fee Withdrawer](/zk-stack/components/fee-withdrawer): A tool to automate the transfer of collected fees from a ZKsync chain to a base layer address.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: ZKsync OS
3+
description: Introduction to ZKsync OS.
4+
---
5+
6+
:display-partial{path="/_partials/_zksyncos/_overview"}
7+
8+
You can read more about how ZKsync OS works in the [protocol documentation](/zksync-protocol/zksyncos).
9+
10+
The code for ZKsync OS can be found in the [ZKsync OS GitHub repository](https://github.com/matter-labs/zksync-os).
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: ZKsync OS Server
3+
description: Overview of the ZKsync OS sequencer.
4+
---
5+
6+
The ZKsync OS Sever is a complex system composed of several services and modules that work together to monitor Ethereum Layer 1 (L1),
7+
maintain Layer 2 (L2) state, and manage the order of incoming transactions.
8+
9+
The new sequencer can process **over 10,000 transactions per second** through a single-binary architecture that dramatically reduces operational overhead.
10+
The system scales horizontally through Elastic Nodes, delivering enterprise performance without enterprise complexity or costs.
11+
12+
With the ZKsync OS Sequencer, transaction costs drop to **$0.0001 per transaction**, a 99% reduction from Layer 1 solutions.
13+
This enables microtransactions, high-frequency applications, and business models that weren't economically viable before.
14+
15+
## Components
16+
17+
The server implementation consists of three main subsystems:
18+
19+
1. [Sequencer](https://github.com/matter-labs/zksync-os-server/tree/main/lib/sequencer):
20+
Executes transactions and sends the results downstream to other components.
21+
1. [RPC API](https://github.com/matter-labs/zksync-os-server/tree/main/lib/rpc_api):
22+
Implementation of the Web3 JSON-RPC API.
23+
1. [Batcher](https://github.com/matter-labs/zksync-os-server/tree/main/node/bin/src/batcher):
24+
Turns a stream of blocks into a stream of batches (1 batch = 1 proof = 1 L1 commit),
25+
exposes prover APIs, and submits batches and proofs to L1.
26+
27+
For a more detailed overview, please refer to the [ZKsync OS Server GitHub repository](https://github.com/matter-labs/zksync-os-server).
28+
29+
## Design Principles
30+
31+
The three main design principles that were used for the server are:
32+
33+
1. **Minimal, async persistence** to meet throughput and latency requirements.
34+
Synchronous persistence is avoided at the critical path.
35+
Additionally, the sequencer aims at storing only the data that is strictly needed, minimizing the potential for state inconsistency.
36+
1. **Easy to replay arbitrary blocks**.
37+
The sequencer components are idempotent.
38+
The batcher component skips all blocks until the first uncommitted batch.
39+
Thus, downstream components only receive batches that they need need to act upon.
40+
1. **Strong separation between states**.
41+
The actual state only includes data needed to execute the VM: key-value storage and a preimages map.
42+
The receipts repositories includes data only needed in the API.
43+
The data related to proofs and L1, which is not needed by the sequencer or JSON RPC, is only introduced downstream from batcher.

content/20.zksync-protocol/17.zksync-airbender/00.overview.md renamed to content/10.zk-stack/15.components/20.zksync-airbender/00.index.md

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,16 @@ title: Overview
33
description: Introduction to ZKsync Airbender
44
---
55

6-
[ZKsync OS](/zksync-protocol/zksyncos/overview) and Airbender have been developed in parallel to
7-
support modular and scalable architecture for ZKsync Chains.
8-
9-
- Airbender is a new ZK proof system.
10-
- ZKsync OS is a new “operating system” for ZKsync Chains, allowing chains to choose any Virtual Machine, such as EVM, EraVM, or WASM.
11-
12-
## What is Airbender?
13-
14-
Airbender is ZKsync's next-generation proof system, purpose-built to enable efficient ZK proofs of RISC-V bytecode execution.
6+
Airbender is ZKsync's next-generation RISC-V proof system, purpose-built to enable efficient ZK proofs of RISC-V bytecode execution.
157
Built on the foundation of highly optimized STARK/FRI implementations, Airbender is designed to support ZKsync's
168
long-term scaling strategy by being fast, cheap, and flexible to a wide range of use cases (without compromising security).
179

18-
### How It Fits with ZKsync OS
10+
Airbender runs on consumer GPUs and standard hardware, eliminating the dependency on large datacenters.
11+
12+
## How It Fits with ZKsync OS
13+
14+
[ZKsync OS](/zk-stack/components/zksync-os) and Airbender have been developed in parallel to
15+
support modular and scalable architecture for ZKsync Chains.
1916

2017
ZKsync OS acts as a modular execution layer, allowing chains to run various virtual machines like EVM, EraVM, or WASM.
2118
Airbender serves as the proving system that validates the execution of these VMs, encoded in RISC-V bytecode.
@@ -49,8 +46,4 @@ satisfaction proof for the main circuit.
4946

5047
- **Stage 6 - SNARK Wrapper:** Wrap the final FRI proof into a final FFLONK proof which gets posted and verified onchain.
5148

52-
### Get Started
53-
54-
- Get started with the RISC-V Prover tutorial: [RISC-V Prover tutorial](https://github.com/matter-labs/zksync-airbender/blob/main/docs/tutorial.md)
55-
- Get started with Docker: [Docker with anvil-zksync](https://github.com/matter-labs/zksync-airbender/tree/main/docker/anvil-bender)
56-
- Get started with running prover end-to-end: [Guide to run prover](https://github.com/matter-labs/zksync-airbender/blob/main/docs/end_to_end.md)
49+
The code for ZKsync Airbender can be found in the [ZKsync Airbender GitHub repository](https://github.com/matter-labs/zksync-airbender/tree/main).

0 commit comments

Comments
 (0)