Question
A standard multisig transaction is:
- scriptPubkey =
m <p1> ... <pn> n OP_CHECKMULTISIG
- scriptSig =
OP_0 <s1> ... <sm>
Where: 1 <= m <= n <= 3.
Note, that it is not P2SH transaction!
So, what is the Bitcoin Address for this transaction? In case of escrow, what Bitcoin Address should be provided to the trading parties?
Short glossary
p = public key
pH = public key hash, RIPEMD(SHA(public key))
sH = hash of serialized script, RIPEMD(SHA(ser. script))
C = first 4-bytes of SHA256(SHA256(data), where data is
X = bitcoin address prefix (0x00 for P2PKH transaction, 0x05 for P2SH transaction)
0pHC = concatenation of bytes (0: 1-byte, pH: 32-bytes, C: 4-bytes)
Bitcoin Addresses
P2PK transaction
The "Bitcoin Address" for P2PK is Base58(XpC), where "X" (bitcoin address prefix) is not currently defined for P2PK transaction type. See https://en.bitcoin.it/wiki/List_of_address_prefixes.
Where:
- X is the bitcoin address prefix (for example, 0x02)
- p is the public key
- C is the checksum (SHA^2(public key))
- XpC is the concatenation of X byte, p string and C 4-bytes
P2PKH transaction
The "Bitcoin Address" for P2PKH transaction is Base58(0pHC).
P2SH transaction
The "Bitcoin Address" for P2SH transaction is Base58(5sHC).
So, again, what may be the Bitcoin Address for standard multisig transaction?
Thanks, --- Kosta Z.