Skip to content
This repository has been archived by the owner on Oct 3, 2024. It is now read-only.

Commit

Permalink
fix: tweaks cspell and adds content
Browse files Browse the repository at this point in the history
  • Loading branch information
cooganb committed Dec 22, 2023
1 parent 256662c commit bea9468
Show file tree
Hide file tree
Showing 11 changed files with 66 additions and 8 deletions.
4 changes: 4 additions & 0 deletions cspell-zksync.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ zkweb
zksync
zkscan
zkscrypto
zkstack
libzkscrypto
pubkey
pubdata
Expand Down Expand Up @@ -62,6 +63,7 @@ pepe
Arweave
Streamr
dutterbutter
zeek

// Used libraries
numberish
Expand Down Expand Up @@ -137,6 +139,8 @@ porco
rosso
insize
MLOAD
psql
jemalloc

// ETC
gitter
Expand Down
2 changes: 2 additions & 0 deletions docs/zk-stack/components/blockexplorer.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ head:
---

# Block Explorer

Content to be added from [here](https://www.notion.so/matterlabs/Block-Explorer-Update-tx-statuses-docs-09e7c4d678b9462eb1c861d6cd42398a?pvs=4)
2 changes: 2 additions & 0 deletions docs/zk-stack/components/compiler/fe-equivalence.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ head:
---

# FE & Equivalence

Content to be added from [here](https://github.com/matter-labs/zksync-era/tree/main/docs/specs) or [here](https://zkstack.io/components)
2 changes: 2 additions & 0 deletions docs/zk-stack/components/compiler/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ head:
---

# Overview

Content to be added from [here](https://github.com/matter-labs/zksync-era/tree/main/docs/specs) or [here](https://zkstack.io/components)
10 changes: 10 additions & 0 deletions docs/zk-stack/components/proof-system/boojum.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
head:
- - meta
- name: "twitter:title"
content: Boojum | zkSync Docs
---

# Boojum

Content to be added from [here](https://github.com/matter-labs/zksync-era/tree/main/docs/specs) or [here](https://zkstack.io/components)
2 changes: 2 additions & 0 deletions docs/zk-stack/components/proof-system/in-circuit-vm.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ head:
---

# In-Circuit VM

Content to be added from [here](https://github.com/matter-labs/zksync-era/tree/main/docs/specs) or [here](https://zkstack.io/components)
8 changes: 0 additions & 8 deletions docs/zk-stack/components/proof-system/proof-system.md

This file was deleted.

2 changes: 2 additions & 0 deletions docs/zk-stack/components/sequencer/bootloader.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ head:
---

# Bootloader

Content to be added from [here](https://github.com/matter-labs/zksync-era/tree/main/docs/specs) or [here](https://zkstack.io/components)
2 changes: 2 additions & 0 deletions docs/zk-stack/components/sequencer/out-of-circuit-vm.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ head:
---

# Out-of-Circuit VM

Content to be added from [here](https://github.com/matter-labs/zksync-era/tree/main/docs/specs) or [here](https://zkstack.io/components)
2 changes: 2 additions & 0 deletions docs/zk-stack/components/sequencer/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ head:
---

# Server

Content to be added from [here](https://github.com/matter-labs/zksync-era/tree/main/docs/specs) or [here](https://zkstack.io/components)
38 changes: 38 additions & 0 deletions docs/zk-stack/overview/transaction-lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,41 @@ head:
---

# Transaction Lifecycle

As stated in the introduction, the ZK Stack can be used to launch rollups. These rollups have some operators that are
needed to run it, these are the sequencer and the prover, they create blocks and proofs, and submit them to the L1
contract.

A user submits their transaction to the sequencer. The job of the sequencer is to collect transactions and execute them
using the zkEVM, and to provide a soft confirmation to the user that their transaction was executed. If the user chooses
they can force the sequencer to include their transaction by submitting it via L1. After the sequencer executes the
block, it sends it over to the prover, who creates a cryptographic proof of the block's execution. This proof is then
sent to the L1 contract alongside the necessary data. On the L1 a
smart contract verifies that the proof is valid and all the data has been
submitted, and the rollup's state is also updated in the contract.

![Components](../../assets/images/l2-components.png)

The core of this mechanism was the execution of transactions. The ZK Stack uses the zkEVM for
this, which is similar to the EVM, but its role is different than the EVM's role in Ethereum.

Transactions can also be submitted via L1. This happens via the same process that allows
L1<>L2 communication. This method provides the rollup with censorship resistance, and
allows trustless bridges to the L1.

The sequencer collects transactions into blocks, similarly to Ethereum. To provide the
best UX the protocol has small blocks with quick soft confirmations for the users. Unlike Ethereum, the zkEVM does not
just have blocks, but also batches, which are just a collection of blocks. A batch is the unit that the prover
processes.

Before we submit a proof we send the data to L1. Instead of submitting the data of each
transaction, we submit how the state of the blockchain changes, this change is called the state diff. This approach
allows the transactions that change the same storage slots to be very cheap, since these transactions don't incur
additional data costs.

Finally at the end of the process, we create the proofs and send them to L1. Our Boojum
proof system provides excellent performance, and can be run on just 16Gb of GPU RAM. This will enable the proof
generation to be truly decentralized.

Up to this point we have only talked about a single chain. We will connect these chains into a single ecosystem, called
the hyperchain.

0 comments on commit bea9468

Please sign in to comment.