7 unstable releases (3 breaking)
0.4.0 | Jul 15, 2024 |
---|---|
0.3.0 | Jul 15, 2024 |
0.2.0 | Jun 12, 2024 |
0.1.3 | Apr 19, 2024 |
0.1.0 | Feb 21, 2024 |
#6 in #plonky2
50 downloads per month
Used in 2 crates
2.5MB
57K
SLoC
Provable Stateless ZK-EVM
Included here is an implementation of a stateless, recursive ZK-EVM client implemented using Plonky2. It currently supports the full Merkle-Patricia Trie and has all Cancun opcodes implemented.
Performance
This implementation is able to provide transaction level proofs which are then recursively aggregated into a block proof. This means that proofs for a block can be efficiently distributed across a cluster of computers. As these proofs use Plonky2 they are CPU and Memory bound. The ability to scale horizontally across transactions increases the total performance of the system dramatically. End-to-end workflows are currently in progress to support this proving mode against live evm networks.
Furthermore the implementation itself is highly optimized to provide fast proving times on generally available cloud instances and does not require GPUs or special hardware.
Ethereum Compatibility
The aim of this module is to initially provide full Ethereum compatibility. It is currently fully Cancun HF compatible.
Audits
Audits for the ZK-EVM will begin on November 27th, 2023. See the Audit RC1 Milestone. This README will be updated with the proper branches and hashes when the audit has commenced.
Documentation / Specification
The current specification is located in the /docs/arithmetization directory, with the most currently up-to-date PDF available here. Further documentation will be made over the coming months.
License
Copyright (c) 2023 PT Services DMCC
Licensed under either of:
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
The SPDX license identifier for this project is MIT OR Apache-2.0
.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~11–17MB
~254K SLoC