New version of the Zcash protocol spec

I’ve just finished a major reorganisation of the Zcash protocol specification, which is now at zips/protocol.pdf at main · zcash/zips · GitHub

(Github doesn’t render the table of contents or links; download the file and use a local PDF viewer to get those.)

The most significant change relative to the previous version on the “master” branch, is that the abstract cryptographic primitives are separated from the particular algorithms used to instantiate them, which is intended to make the spec easier to review for security. This version also has expanded specifications of Equihash and the zero-knowledge proving system.

If you have any comments or requested clarifications, please file tickets or pull requests at Issues · zcash/zips · GitHub , or ping me (@daira) on the Zcash Community slack channel.