There is a multihash MIT licensed lib if anyone is interested: https://crates.io/crates/multihash
Personally, I don’t think this will add much more interoperation / future-proofing of the hashing mechanisms however it is a nice-to-have.
I’m trying to triage as many discussions as possible before moving to the beta.
This proposal is perfectly valid, but would completely break our current scheme, with few expected benefits. I don’t know if cryptographers expect current hashing schemes to break in the future, but our current scheme is more of a “future-proof” guarantee than a real interoperability thing. After I wrote Thrussh (an SSH crate in Rust), I’m also a bit skeptical about these interoperable crypto algorithms, since they always end up being superseded at some point, and may cause a lot of complexity and extra dependencies (I’m not saying this is necessarily the case here).
Multihash is a standard for identifying hash functions. Pijul already does this using a non-standard identifiers and places them at the end of the hash, as that is more useful to end users. A hybrid approach would be to use the Multihash identifiers but concatenated at the end of the hash.