I created a multi signature wallet 2 of 3. I want to get the xpub key used to generate the addresses. As I understand all 3 public keys are used to generate the address. Is it possible to use those 3 keys to generate a single xpub key for further addresses?
1 Answer
No, it's not possible to get a single public seed for all future addresses.
Let's say you have three private seeds, Sa
, Sb
and Sc
with public seeds (xpubs) Pa
, Pb
and Pc
that generate the addresses Px1
, Px2
, ...
Then, the way to calculate the multi-sig addresses for a 2-of-3 multisig for these three seeds using P2SH is the following:
You create a P2SH redeem script that looks as follows:
OP_2 [Pa1] [Pb1] [Pc1] OP_3 OP_CHECKMULTISIG
Then, the "multisig address" is the RIPEMD-160 hash of that script.
Thus, to know the next address, you will need to calculate a new RIPEMD-160 hash with the script now containing Pa2
, Pb2
and Pc2
. There is not a multi-seed of any kind.