boltlabs-inc / tss-ecdsa

An implementation of a threshold ECDSA signature scheme
Other
12 stars 5 forks source link

Test ZK Proofs more exhaustively #45

Open marsella opened 1 year ago

marsella commented 1 year ago

There are currently seven component zero-knowledge proofs that are used in the protocol. The unit tests currently include "happy" tests -- that is, creating a proof using the generation functions produces a proof that verifies.

However, the unit tests don't test the expected failure cases. Each proof proves a set of statements is satisfied. There should be a test for each statement that manually creates an invalid proof that fails at that specific statement.

Beyond these component proofs, there is at least one proof composed from multiple component proofs (AuxInfoProof). This should have a failure test to check that valid sub-proofs made on inconsistent inputs fails to verify.

Issue generation: There should probably be 8 sub-issues in this epic, one for each proof. Maybe some extras for any other composed proofs I missed.

gatoWololo commented 1 year ago

There should probably be 8 sub-issues in this epic, one for each proof. Maybe some extras for any other composed proofs I missed

I like this!