silversixpence-crypto / dapol

DAPOL+ Proof of Liabilities using Bulletproofs and Sparse Merkle trees
MIT License
8 stars 2 forks source link

Spec #153

Closed Stentonian closed 3 months ago

Stentonian commented 7 months ago

Feedback from Yi-Hsiu:

As far as I've learned, cryptographic spec should serve two purposes:

  • to help engineers to implement protocols without worrying about cryptographic details. some examples:
    • it says using SHA256, then use it, without trying find a good hash function)
    • how to correctly choose some (especially security-related) parameters
    • Some details hidden in the paper. Can be as basic as checking an input is in a right format
  • People who understand the paper can verify the spec makes sense.

To that end,

  • I think there's no strict format, just people do expect some pseudocodes with explanations. What you have here https://hackmd.io/@JI2FtqawSzO-olUw-r48DQ/Hka8tkdNT I think is nice in terms of format and clarity
  • If you're talking about the usage of your code, then yeah, I think README is better. But it you think that information is helpful for two purposes above, then also good to include that in spec.

(what you have in the main spec, I think is really good too, forgot to say, it's not necessary, but also makes sense to have information helpful for reviewing your codes)