Open codyborn opened 1 year ago
up ! also having issues implementing resharing
Unfortunately thats not how the key refresh protocol from the Canetti paper works. If you want to change membership you need to generate an entirely new address with the new parties, and have the old parties xfer the assets to the new address.
The Key Refresh protocol requires all signers to generate the new key material (and the public addr stays the same), and they have to pinky-promise to delete the old key material. The attack vector this is meant to protect against is an adversary slowly gaining access to each signers key material over time. If the whole group refreshes every X days, then the attacker must get all the signers key material within X days. So it just shortens the window of attack.
Unfortunately thats not how the key refresh protocol from the Canetti paper works. If you want to change membership you need to generate an entirely new address with the new parties, and have the old parties xfer the assets to the new address.
The Key Refresh protocol requires all signers to generate the new key material (and the public addr stays the same), and they have to pinky-promise to delete the old key material. The attack vector this is meant to protect against is an adversary slowly gaining access to each signers key material over time. If the whole group refreshes every X days, then the attacker must get all the signers key material within X days. So it just shortens the window of attack.
Why wouldn't you be able to run the usual secret redistribution protocols and continue from there as in key generation?
It seems that we are not able to do so only if we follow the Canetti paper, it would be possible if we do not follow the "refresh" section in it.
I assume we can use the key refreshment and make some changes to be able to do the resharing process. In the Key resharing described in Jen Groth paper:
I'm trying to perform a key refresh with 2/3 original signers and 1 new signer (threshold is set to
1
). This would be performed if one of the signers lost their key and it needed to be regenerated. When I try to participate in the keyrefresh
as the new signer using a new config, I get the errorround 5: failed to validate schnorr proof for received share
. When I use the originalECDSA
value from the missing signer in the config, the refresh succeeds. However, since thisECDSA
value is a secret, the new signer naturally wouldn't be aware of it. Can you share details on how to properly generate a new config for the new signer to participate in arefresh
?