-
Notifications
You must be signed in to change notification settings - Fork 28
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
FrostKey::mul_tweak
#189
Comments
Hi irriden, I have been talking about going in a direction with "tweaking" that would tweak the secret shares as well as the public What do you actually want this for out of interest. |
Hello Lloyd thank you for your response. I am hesitant to directly depend on the polynomial after the keygen step, because I've been able to take the outputs of I am researching multisig lightning. In lightning the |
Oh ok weird lol -- why? I can put multiplication into the API that I am working on right now. I think it's sound from a security point of view. To be clear you wouldn't need to keep the polynomial in the new API -- you can tweak your secret share if you're a signer. I'm guessing this is not "xonly" tweaking? The resulting point does not have its y coordinate dropped? I am about to start working on making it possible to do |
Why the multiply-add tweak? Not sure why the multiplicative tweak is there, the additive tweak is there to ensure that the party can only punish once the counterparty has revealed the tweak scalar. See here for details: https://github.com/lightning/bolts/blob/master/03-transactions.md#revocationpubkey-derivation
Thank you!
Thank you for clarifying, yes I've forked
Would you consider having
The resulting point can end up in the blockchain in a tapscript as part of an
Does this mean that |
Thanks. I wonder why that needed to be a multiplication.
Hmmm I certainly could add an API for this -- weirdly enough we do have a Would having a method that allowed you to create the polynomial from the verification shares solve your problem? It looks like I brought this topic up on the BIP a while a go: BlockstreamResearch/bip-frost-dkg#8
Yes that's the plan in the sense that you'll be able to produce the messages in the protocol but the actual API for the library will be different from the BIP. e.g. we might not use verification shares. |
If we can reconstruct the polynomial from the public verification shares, then my question about I asked because I am interested in the following: Exactly how that is done I leave to you :) Notably at the moment Reconstructing it internally during initialization from the verification shares to do tweaking and partial signature verification as you've described sounds great to me ! |
If we ask signers to return
s!(r1 + (r2 * b) + lambda * x * c * mul_tweak)
inFrost::sign
, we can get a signature that is valid for the public keys * mul_tweak * G
.Any multiplicative tweaks would have to be applied before any additive tweaks.
Let me know if you would merge a PR that implements this, thank you!
The text was updated successfully, but these errors were encountered: