Additional hashes allow for an easier integration on creation and support for a variety of platforms and languages, although it does increase the potential burden for consumers of the data who must support multiple hashing algorithms to be able to verify content using any hash.
Specification Pull Request
Current change pull request: #245
Rationale
We have always intended to support multiple hashes. The rational for each is different:
Chosen
Blake2b: With the support for DSNP on Frequency, Blake2b is already used in other places
SHA-256: A hash standard in many applications
Rejected for Now
Blake3: Is already starting to get some use and is amazingly fast, however it is very new
sha3-256: keccak-256, which is a pre-release of sha3-256 that is used by Ethereum, support for the official final version may be worthwhile.
Chosen Path: Multihash
Support for multihash instead of the prior v1.0 version. This brings everything into alignment with #210
Backwards Compatibility
This will break validation for all implementations.
It is suggested that those who can, take advantage of using multiple algorithms for some time before using only one or more hashing algorithms in the new version.
Reference Implementation and/or Tests
None
Security Considerations
This change will allow for increased security as it decreases the likelihood that all hashing algorithms in use will be broken at the same time.
Abstract
Adding support to Activity Content Hash for:
Motivation
Additional hashes allow for an easier integration on creation and support for a variety of platforms and languages, although it does increase the potential burden for consumers of the data who must support multiple hashing algorithms to be able to verify content using any hash.
Specification Pull Request
Current change pull request: #245
Rationale
We have always intended to support multiple hashes. The rational for each is different:
Chosen
Rejected for Now
keccak-256
, which is a pre-release of sha3-256 that is used by Ethereum, support for the official final version may be worthwhile.Chosen Path: Multihash
Support for multihash instead of the prior v1.0 version. This brings everything into alignment with #210
Backwards Compatibility
This will break validation for all implementations. It is suggested that those who can, take advantage of using multiple algorithms for some time before using only one or more hashing algorithms in the new version.
Reference Implementation and/or Tests
None
Security Considerations
This change will allow for increased security as it decreases the likelihood that all hashing algorithms in use will be broken at the same time.
Dependencies
References
Copyright
Copyright and related rights waived via CC0.