We need all the help we can get. There are a number of things you can do to contribute to this project.
We’re currently developing libzerocoin on our own time. If you donate funds we’ll put them to good use: any substantial amounts will be used to pay for additional software development and professional code review. Small amounts will be used as bribes (AKA pizza and beer) to get other cryptographers and professionals to check our work.
NOTE, since donations are done via bitcoin, they are not anonymous (but you knew that already, right?)
Pay With Bitcoin
As of this release (July 4, 2021) libzerocoin has not been extensively tested or reviewed by outside parties. We’re looking for smart people to review the code and run tools (static, dynamic analysis, fuzzing) on the code. We could also use additional unit tests. Submit any errors to the ‘Issues’ page on github. Feel free to work and submit pull requests.
Also, general commitments about the friendliness of the API or its correctness (or lack there of) with respect to C++ conventions would also be useful. For example, we don’t have default constructors in some places to prevent uninitialized objects from being created. Is this too much of a pain? Does it break some supper awesome data structure you wanted to use ( sorry, no, arrays don’t count).
libzerocoin is only a library. To use Zerocoin in practice it must be integrated with a client. See ourIntegrating with Bitcoin clients page for more on this. We’re looking for example client integrations and of course would be willing to provide pointers. Send us an email and we’ll link it.
If you’re interested in implementing Zerocoin in other languages, please do! Send us a note and we’ll link your implementation from our website. These implementations are a great way to shake out bugs, not to mention giving people options other than C++.