zips icon indicating copy to clipboard operation
zips copied to clipboard

[ZIP 403] Describe what is verified (for each combination of options) in zcashd

Open daira opened this issue 5 years ago • 1 comments

https://zips.z.cash/zip-0403

daira avatar Oct 06 '20 13:10 daira

As of zcashd 4.0.0, there is a -checkpoints flag (inherited from upstream) that is set to true by default. When enabled (i.e. by default), ConnectBlock has the following behaviour:

  • Sprout JoinSplit proofs prior to the last checkpoint are skipped.
  • Transparent ECDSA signatures prior to the last checkpoint are skipped.

Everything else is checked unconditionally. In particular, the following expensive checks are always performed:

  • Sprout joinSplitSig.
  • Sapling Spend and Output proofs.
  • Sapling spendAuthSigs.
  • Sapling bindingSig.

On a performance note, as of 4.0.0, transparent ECDSA signatures are verified in a threadpool, while all other expensive checks are performed serially. No batching is performed for any checks.

str4d avatar Oct 06 '20 13:10 str4d