Add merklization hash function information #186
+80
−35
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To be used in a future for more zk-friendly merkjlization hash functions.
SHA256 is very computational-intense to be implemented in zk-STARK, which will very significantly increase the size of proofs and the time required to generate them. Thus, use of zk-START-friendly hash function is advised.
Thus, a multi-protocol commitment must support different hash functions, and commit to the specific use function value alongside such parameters as entropy and the depth of the tree.
It can be that information about the used hash function should be optional, since it can be deduces from the single-use seal type, which commits to the closing method; and each closing method can be used with just one type of MPC (and its hash function). But anyway, this may significantly simplify validation logic, so consider adding info about the hash to the MPC itself (or use some feature flags to indicate that).