First of all, Arkworks has implementations for secp256k1 and it's cycle secq256k1curve that we could use. Those implementations are most probably better tested and more efficient than our toy implementation. Furthermore, Pedersen commitments are also implemented in Arkworks' [crypto primitives library]((https://github.com/arkworks-rs/crypto-primitives) that we could use to replace our Pedersen implementation.
Secondly, there's an efficient ZK-ecdsa library called Spartan-ECDSA that we could check out. It also builds upon the secq256k1 cycle which results in more efficient and faster proofs. As the name suggests, it is forked from the Spartan zkSNARK library that doesn't require trusted setup.
Description
First of all, Arkworks has implementations for
secp256k1
and it's cyclesecq256k1
curve that we could use. Those implementations are most probably better tested and more efficient than our toy implementation. Furthermore, Pedersen commitments are also implemented in Arkworks' [crypto primitives library]((https://github.com/arkworks-rs/crypto-primitives) that we could use to replace our Pedersen implementation.Secondly, there's an efficient ZK-ecdsa library called Spartan-ECDSA that we could check out. It also builds upon the
secq256k1
cycle which results in more efficient and faster proofs. As the name suggests, it is forked from the Spartan zkSNARK library that doesn't require trusted setup.