#ethereum #zk #stark #plonky2 #cryptography #intermediate-representation

nightly trace_decoder

Processes trace payloads into Intermediate Representation (IR) format

4 releases (2 breaking)

new 0.3.1 Apr 22, 2024
0.3.0 Apr 19, 2024
0.2.0 Mar 19, 2024
0.1.1 Mar 1, 2024
0.1.0 Feb 21, 2024

#1643 in Magic Beans

Download history 125/week @ 2024-02-19 146/week @ 2024-02-26 24/week @ 2024-03-04 33/week @ 2024-03-11 175/week @ 2024-03-18 8/week @ 2024-03-25 125/week @ 2024-04-01 129/week @ 2024-04-08 194/week @ 2024-04-15

457 downloads per month

MIT/Apache

2.5MB
56K SLoC

Rust 36K SLoC // 0.1% comments Assembly 20K SLoC Pest 35 SLoC

Trace decoder

A flexible protocol that clients (eg. full nodes) can use to easily generate block proofs for different chains.

Specification

Temporary high-level overview. The specification itself is in the repo here.

Because processing the incoming proof protocol payload is not a resource bottleneck, the design is not worrying too much about performance. Instead, the core focus is flexibility in clients creating their own implementation, where the protocol supports multiple ways to provide different pieces of data. For example, there are multiple different formats available to provide the trie pre-images in, and the implementor can choose whichever is closest to its own internal data structures.

TODO

Adding more to the specification

We want this to be as easy to write an implementation for as possible! If you are finding that you need to do heavy work on your end to adhere to this spec, it may also be the case that other clients have internal data structures similar to your own and are potentially doing the same work. Since it's probably best to only do the work once, please feel free to create a PR or open an issue to add support to the spec/decoder!

License

Licensed under either of

at your option.

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

~13–23MB
~321K SLoC