-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Parameter Generation for Poseidon Hash #57
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just took a very rough look at the code. Have a few comments. Will do it again in a day or two!
manta-pay/src/crypto/hash/poseidon_parameter_generation/constants.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon_parameter_generation/constants.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon_parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small review right now, more comments later, but please address the current comments first. Thanks!
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
reviewed hasher
and part of lfsr
, will take a look at remaining part later
manta-pay/src/crypto/hash/poseidon/parameter_generation/matrix.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/matrix.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/matrix.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/preprocessing.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/round_constants.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/round_constants.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/round_numbers.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/round_numbers.rs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice work! left some minor comments
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/matrix.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/matrix.rs
Outdated
Show resolved
Hide resolved
CI breaking issue: rust-lang/rust-clippy#8867 |
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
manta-pay/src/crypto/hash/poseidon/parameter_generation/lfsr.rs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with some minor comments. I pre-approve this so that my review will not block you
(I will make a PR for #74 once this one is merged)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
791640e
to
6061df0
Compare
* feat: add proving and verifying benchmark * fix: remove let bindings for clippy false positives Co-authored-by: Brandon H. Gomes <bhgomes@pm.me>
* feat: generalized ledger infrastructure and add correct pruning * feat: add more randomness/concurrency to simulation * feat: add iteration features for manta_util::array * feat: add sign method to separate post into pieces * feat: use more sharding-optimal coin selection algorithm
* feat: add self-transfers to simulation * feat: add GenerateReceivingKeys, FlushToPublic, and SelfTransfer to sim * feat: add zero-transaction to simulation * feat: add simulation action
* initial implementation * support benchmarking verify time * headless wasm timer * headless wasm & clean browser bench code * add conditional compilation * add ci
6061df0
to
f9eeaaa
Compare
Integrate from Plonk Prototype to Manta-rs
Major changes:
Specification
trait inmanta-pay/src/crypto/hash/poseidon.rs
to 1) separate fields for parameters (public constants) and states (private variables); 2) generically support addition, multiplication, etcSpecification
trait such that the code can work for generic fieldsChanges in #51 are moved here.
Closes: #22