If someone were to observe the exchange of MultisigV1
strings during multisig wallet creation, can they use these to discover the public address or secret view key of the multisig wallet?
If so, how?
Monero Stack Exchange is a question and answer site for developers and users of the secure, private and untraceable cryptocurrency Monero. It only takes a minute to sign up.
Sign up to join this communityIf someone were to observe the exchange of MultisigV1
strings during multisig wallet creation, can they use these to discover the public address or secret view key of the multisig wallet?
If so, how?
I'll reference part of the scheme as detailed in the commit:
2 of 2
User A (coordinator):
Spendkey b,B
Viewkey a,A (shared)
User B:
Spendkey c,C
Viewkey a,A (shared)
Public Address: C+B, A
Both have their own watch only wallet via C+B, a
The format of the MultisigV1
string is, once base58 decoded:
private view key component (32 byte scalar)
public spend key component (32 byte EC point)
schnorr signature of a hash of the two elements above by the private spend key component
(pair of 32 byte scalars)
Therefore to determine the overall multisig wallet private view key, add together all of the private view key components. The same calculation applies to determine the overall public spend key. Together, these can be used to recreate the wallet public address and to create a view-only wallet.
If you don't mind others being able to observe the multisig wallet address and private view key, and therefore them being able to observe incoming transactions to the wallet, these strings can be shared publicly. Otherwise, they should be kept private.