Skip to content

Commit a936bc6

Browse files
authored
Update README (#378)
1 parent 715a905 commit a936bc6

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

README.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,45 +10,52 @@ This repository contains the following Rust crates:
1010

1111
* [mpt_trie](./mpt_trie/README.md): A collection of types and functions to work with Ethereum Merkle Patricie Tries.
1212

13-
* [trace_decoder](./trace_decoder/README.md): Flexible protocol designed to process Ethereum clients trace payloads into an IR format that can be
13+
* [smt_trie](./smt_trie/README.md): A collection of types and functions to work with Polygon Hermez Sparse Merkle Trees (SMT).
14+
15+
* [trace_decoder](./trace_decoder/Cargo.toml): Flexible protocol designed to process Ethereum clients trace payloads into an IR format that can be
1416
understood by the zkEVM prover.
1517

1618
* [evm_arithmetization](./evm_arithmetization/README.md): Defines all the STARK constraints and recursive circuits to generate succinct proofs of EVM execution.
1719
It uses starky and plonky2 as proving backend: https://github.com/0xPolygonZero/plonky2.
1820

1921
* [proof_gen](./proof_gen/README.md): A convenience library for generating proofs from inputs already in Intermediate Representation (IR) format.
2022

23+
* [zero_bin](./zero_bin/README.md): A composition of [`paladin`](https://github.com/0xPolygonZero/paladin) and [`proof_gen`](./proof_gen/README.md) to generate
24+
EVM block proofs.
25+
2126
## Dependency graph
2227

23-
Below is a simplified view of the dependency graph, including the proving systems backend and the application layer defined within [zero-bin](https://github.com/0xPolygonZero/zero-bin).
28+
Below is a simplified view of the dependency graph, including the proving system backends and the application layer defined within [zero-bin](https://github.com/0xPolygonZero/zero-bin).
2429

30+
<!---
31+
TODO: Update mermaid chard with `smt_trie` once type-2 is plugged in.
32+
-->
2533
```mermaid
26-
flowchart TD
34+
flowchart LR
2735
subgraph ps [proving systems]
2836
A1{{plonky2}}
2937
A2{{starky}}
3038
end
3139
40+
ps --> zk_evm
41+
3242
subgraph zk_evm [zk_evm]
3343
B[mpt_trie]
3444
C[evm_arithmetization]
3545
D[trace_decoder]
3646
E[proof_gen]
37-
A1 --> C
38-
A1 --> E
39-
A2 --> C
47+
4048
B --> C
4149
B ---> D
4250
C ---> D
4351
C --> E
4452
D --> E
45-
end
4653
4754
F{zero-bin}
48-
A1 --> F
4955
C --> F
5056
D --> F
5157
E --> F
58+
end
5259
```
5360

5461
## Documentation

zero_bin/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Zero Bin
22

3-
A composition of [`paladin`](https://github.com/0xPolygonZero/paladin) and [`plonky-block-proof-gen`](https://github.com/0xPolygonZero/plonky-block-proof-gen). Given the [proof generation protocol](/prover/src/lib.rs) as input, generate a proof. The project is instrumented with [`paladin`](https://github.com/0xPolygonZero/paladin), and as such can distribute proof generation across multiple worker machines.
3+
A composition of [`paladin`](https://github.com/0xPolygonZero/paladin) and [`proof_gen`](../proof_gen/README.md).
4+
Given the [proof generation protocol](./prover/src/lib.rs) as input, generate a proof.
5+
The project is instrumented with [`paladin`](https://github.com/0xPolygonZero/paladin), and as such can distribute proof generation across multiple worker machines.
46

57
- [Zero Bin](#zero-bin)
68
- [Project layout](#project-layout)
@@ -433,6 +435,7 @@ A few other notes:
433435

434436
- Proving blocks is very resource intensive in terms of both CPU and memory. You can also only generate the witness for a block instead (see [Generating Witnesses Only](#generating-witnesses-only)) to significantly reduce the CPU and memory requirements.
435437
- Because incorporating the previous block proof requires a chain of proofs back to the last checkpoint height, you can also disable this requirement by passing `true` for `<IGNORE_PREVIOUS_PROOFS>` (which internally just sets the current checkpoint height to the previous block height).
438+
- When proving multiple blocks concurrently, one may need to increase the system resource usage limit because of the number of RPC connections opened simultaneously, in particular when running a native tracer. For Linux systems, it is recommended to set `ulimit` to 8192.
436439

437440
### Generating Witnesses Only
438441

0 commit comments

Comments
 (0)