ChainSafe / ChainSafe/ProtoBanshee

[Start here] Note to Banshee newcomers 👋

Open
#9 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Thank you for your interest in the BanhseeZK project! This note will provide you with everything you need to get started with contributing.

## Primary stack
- Language: `Rust` https://www.rust-lang.org/learn/get-started
- Prove system: `Halo2` [`privacy-scaling-explorations/halo2`](https://github.com/privacy-scaling-explorations/halo2) (EF's fork w/ KZG instead of IPA)
- Base gate library (Halo2 framework) [`axiom-crypto/halo2-lib`](https://github.com/axiom-crypto/halo2-lib)
- Eth consensus library [`ralexstokes/ethereum-consensus`](https://github.com/ralexstokes/ethereum-consensus)

## [Specification](https://hackmd.io/@timofey/rJgTrf9B3)

## Learning resources

### About this project
- Sygma X kick-off presentation [https://www.notion.so/chainsafe/Sygma-X-kick-off-presentation](https://www.notion.so/chainsafe/Sygma-X-kick-off-presentation-fb27de8242b7416d9e986b8a1db6b4a5)
- BansheeZK architecture overview https://drive.google.com/file/d/1e0E-x1-7nEQBp4gCossoSKN6EOoUWFT_

### Ethereum consensus
- Intro to Beacon Chain https://ethos.dev/beacon-chain
- Annotated consensus spec https://eth2book.info/capella/annotated-spec

### Circuit development
- Introductory workshop on Halo2 development https://youtu.be/60lkR8DZKUA
- Mindset for PLONK-based circuit development https://youtu.be/wSfkpJDq8AI
- Circuits development using `halo2-lib` https://docs.axiom.xyz/zero-knowledge-proofs/getting-started-with-halo2
- Halo2 cheatsheet https://hackmd.io/@axiom/HyoXzD7Zh
- Example circuits https://github.com/icemelon/halo2-examples
- "Vanilla" Halo2 API documentation https://zcash.github.io/halo2
- Bugs in ZK circuits https://github.com/0xPARC/zk-bug-tracker
- On PLONK proof generation https://scroll.io/blog/proofGeneration

### References projects
- https://github.com/scroll-tech/zkevm-circuits
- https://github.com/axiom-crypto/axiom-eth

## Good first issues
- #64
- #2

## Friendly advice
- Annotate columns using `meta.annotate_lookup_any_column` and `region.name_column`, this will greatly help you during debugging.
- Use [`MockProver::assert_satisfied()`](https://github.com/privacy-scaling-explorations/halo2/blob/main/halo2_proofs/src/dev.rs#L1440) to print table cells around failed constraints.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.