ChainSafe / ChainSafe/ProtoBanshee

Rust memory management optimizations

Open
#48 0 comments 0 reactions 0 assignees View on GitHub
non-zk optimization
Dominant language
Rust
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Review and improve memory management practices applied to witness data (inputs to the circuits) handling.

Assume that project would have to deal with large inputs, for context:
- 600k-1m validators, used in [ValidatorsCircuit](https://github.com/ChainSafe/banshee-zk/blob/7dd9f6f90689995d4b01d1ce38cfe8ef43dbee31/zkcasper-circuits/src/validators_circuit.rs#L378)
- ~5m leaves Merkle tree, used in [StateSSZCircuit](https://github.com/ChainSafe/banshee-zk/blob/7dd9f6f90689995d4b01d1ce38cfe8ef43dbee31/zkcasper-circuits/src/state_circuit.rs#L186)
- ~5m sha256 hashes, used in [Sha256Circuit](https://github.com/ChainSafe/banshee-zk/blob/7dd9f6f90689995d4b01d1ce38cfe8ef43dbee31/zkcasper-circuits/src/sha256_circuit.rs#L857)
- 600k-1m uncompressed public keys (96 bytes each), yet to be added.

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.