Bitcoin Forum
November 13, 2024, 01:04:56 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Is it possible to sign a message from a multisig address?  (Read 1110 times)
RocketSingh (OP)
Legendary
*
Offline Offline

Activity: 1662
Merit: 1050


View Profile
August 05, 2016, 05:59:25 PM
 #1

If yes, how?

achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3542
Merit: 6886


Just writing some code


View Profile WWW
August 05, 2016, 06:06:09 PM
Merited by ABCbits (2)
 #2

No it is not possible.

You can sign a message with multiple private keys and thus have multiple signatures, as with a multisig address. However, that would not map to a multisig address but rather three signatures with each one mapping to the three public keys used in the multisig address.

RocketSingh (OP)
Legendary
*
Offline Offline

Activity: 1662
Merit: 1050


View Profile
August 05, 2016, 06:19:06 PM
 #3

No it is not possible.

You can sign a message with multiple private keys and thus have multiple signatures, as with a multisig address. However, that would not map to a multisig address but rather three signatures with each one mapping to the three public keys used in the multisig address.
Ok. But, then how come the signing takes place for an outgoing Tx from a multisig address?

achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3542
Merit: 6886


Just writing some code


View Profile WWW
August 05, 2016, 06:24:26 PM
Merited by ABCbits (3)
 #4

No it is not possible.

You can sign a message with multiple private keys and thus have multiple signatures, as with a multisig address. However, that would not map to a multisig address but rather three signatures with each one mapping to the three public keys used in the multisig address.
Ok. But, then how come the signing takes place for an outgoing Tx from a multisig address?
Because it isn't the address that signs the transaction, but rather the public keys of the address that sign the transaction. The reason the address can be identified is because the redeemScript of the multisig address is included in the input. The redeemScript is what makes the address, and it includes some more stuff other than the public keys.

Abdussamad
Legendary
*
Offline Offline

Activity: 3682
Merit: 1580



View Profile
August 08, 2016, 07:08:41 AM
Merited by ABCbits (2)
 #5

Because it isn't the address that signs the transaction, but rather the public keys of the address that sign the transaction. The reason the address can be identified is because the redeemScript of the multisig address is included in the input. The redeemScript is what makes the address, and it includes some more stuff other than the public keys.

Private keys are used to sign transactions not public keys.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3486
Merit: 4851



View Profile
August 08, 2016, 11:38:25 AM
Merited by ABCbits (5)
 #6

Ok. But, then how come the signing takes place for an outgoing Tx from a multisig address?

Because there are no bitcoin addresses at the technical level in the transactions and blockchain.

Addresses are just an abstraction that our wallets present to us humans to make it easier to use the protocol.

It is much easier to say, "please send 2 bitcoins to address 13qvw..."
Than to say, "please create a transaction that has an output with a value of 200000000 and a script that encumbers the output with a requirement to provide an ECDSA signature of "the transaction that spends the output" where that signature was generated with the private key that is associated with the public key that hashes (through double SHA256 and then a single RIPEMD160) to a hexadecimal value of 0x7A9F88..."

The wallet uses the address as an indication of which script (essentially a small computer program) to create and stores that script in the transaction (which eventually gets stored in the blockchain).  The script encumbers the transaction output with a requirement that must be met in order to use the output to supply value as an input to a new transaction.

In the case of a P2PKH address (an address that starts with a '1'), the script encumbers the output with a requirement to supply a valid signature generated with the private key that is associated with the public key that hashes to a given value.

In the case of a P2SH address (an address that starts with a '3'), the script encumbers the output with a requirement to supply BOTH a script that hashes to the given value AND the necessary data for the script to evaluate successfully (in the case of a multisig script, that "necessary data" is one or more valid signatures from specific private keys as required by the script)
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!