-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Additive vs multiplicative #3
Comments
Not the expert here... The beauty of the current (very simplistic, hard-only) ed25519 derivation in substrate -
The first category above can easily adapt, the second category may be easier to do with a known and existing standards, if we were to change it. If all things are equal, probably need to look at what can be done with little effort in all wallet environments, especially in the cases where there are high security, but limited resources. As an aside, yes, "changing a deployed HDKD scheme really sucks" ;) |
Id the existing hard only derivation compatible with anything else like Trezor or whatever? |
This comment here gives a good overview over what is used where. |
Page 4 of https://eprint.iacr.org/2021/273.pdf shows an advantage for multiplicative blinding in an OPRF used in some PAKEs. It's not at all the same situation, but.. It's worth considering if additive blinding interacts poorly with any protocols, like maybe Claus blind signatures. A priori, I doubt Claus blind signatures could even be combined securely with any soft key derivation scheme since the user could always deform keys. It's possible the client commits to the derived key in round one though, when using a multiplicative blinding, except really any deployment should hash the public key, which makes this similar. I doubt multi-signatures exhibit problems since the signers compute the hashes themselves. |
We should switch to multiplicative derivation since that's what Tor and GNUNet's GNS both do. If I recall, we cannot match Tor's approach but we can converge with GNUNet's version. |
We should clean this crate up so we can finalize everything.. as changing a deployed HDKD scheme really sucks.
Issues worth considering:
Should we seek compatiblity with existing hard-only derivation schemes used by Trezor, etc.?
Should we do soft additively like done here currently and done in BIP32? Or multiplicatively like Tor does?
We've no reason to seek any compatiblity with Tor's scheme, but we could just for the hell of it. Thoughts?
ref. paritytech/substrate#3294
cc @bddap @jacogr @kianenigma
The text was updated successfully, but these errors were encountered: