42
A multi-signature address is an address that is associated with more than one ECDSA private key. The simplest type is an m-of-n address - it is associated with n private keys, and sending bitcoins from this address requires signatures from at least m keys. A multi-signature transaction is one that sends funds from a multi-signature address.
The primary use ...
30
Warning: I've never actually worked with the Schnorr signature scheme. The
following is my analysis based on reading the Wikipedia
article, the ed25519
page, and some discussions between devs in
#bitcoin-dev.
Likely Changes
Changed op code behavior: we will need an op code to check
Schnorr signatures. With a hard fork, we can redefine
op_checksig and
...
19
We need to distinguish the limitations for validity and standardness. The first is determined by the consensus rules (which cannot change without a hard fork). The second ones are determined by local relay and mining policies implemented in the reference client, and can change from version to version.
In addition, we need to distinguish raw multisig (a ...
12
Bitcoin version 0.6.1 doesn't have useful multisignature support yet, either in the GUI or via the RPC interface, because there is no support for partially signing a multisignature transaction.
What is supported: creating a multisignature transaction (using addmultisigaddress), and sending to a multisignature address (either your own or somebody else's).
...
11
It seems some partial implementation exists. Quoting Gavin:
Generate a multisig address:
Gather (or generate) 3 bitcoin addresses, on whichever machines will be participating, using getnewaddress or getaccountaddress RPC commands (or copy and paste from the GUI).
Get their public keys using the validateaddress RPC command 3 times.
Then create a 2-of-3 ...
10
Actually, both receiving funds at and spending funds from a multi-sig address is already supported.
You can find the code to do so, plus comments, by Gavin:
TwoOfThree.sh
9
There are two basic templates for using multisig for "escrow", 2-of-2 and 2-of-3. In both cases, you can currently use bitcoin-qt's raw transaction API to create the addresses and transactions.
In 2-of-2 you do the following:
Create a multisig address which requires signatures from both the buyer and seller.
The buyer sends funds to this address.
Seller ...
9
Yes you can do public key recovery with EC Schnorr. Consider
R = kG, [r = R.x, s = k + H(r, m)d], Q = dG
verify:
sG = ?R + H(r, m)Q
recovery:
sG = kG + H(r, m) dG = R + H(r, m)Q
so
Q = 1 / H(r, m) * (sG - R).
(And to compute R from r if R is point-compressed, R = (r,f(r)) R' = (r,-f(r)) and try both R and R' by checking if the signature is valid with ...
8
There are some m-of-n transactions in the blockchain (blockchain.info - block explorer) but they have only been recently added to the standard transaction types.
However the reason why they are probably not in wide spread use yet is there is no gui based client that can construct one. My Wallet will be able to construct them soon, I don't know how much ...
8
According to the glossary
the possible prefixes for bitcoin addresses are 1,3 or 5:
I'm quoting here:
Address
Bitcoin address is a Base58Check representation of a Hash160 of a
public key with a version byte 0x00 which maps to a prefix "1".
Typically represented as text (ex. 1CBtcGivXmHQ8ZqdPgeMfcpQNJrqTrSAcG)
or as a QR code.
A variant ...
7
Enjoy!
"Bitcoin Faucet Hacked"
How a future version of the Faucet will work to prevent a similar incident:
http://gavintech.blogspot.com/2012/03/bitcoin-faucet-hacked.html
"BIP 16 / 17 in layman's terms"
http://bitcointalk.org/index.php?topic=61125.0
"The Truth behind BIP 16 and 17"
http://bitcoinmedia.com/the-truth-behind-bip-16-and-17/
7
You do not need private keys at all to generate multisig m-of-n address!
You do need public keys. Yes, three for m-of-3 and eleven for 5-of-11 (for example)
7
By reading this answer, I understand that in m-of-n multisig addresses, m and n are limited by the maximum size allowed by the P2SH redeemScript (i.e. 520 bytes).
That's correct. Even though the OP_CHECKMULTISIG script opcode supports more keys, more than 15 public keys simply don't fit in a P2SH redeemscript, so that becomes the limiting factor.
However,...
6
TxID is just a SHA256 hash of binary transation data, so it changes upon any modification of transaction.
Therefore, one cannot include verification of TxID in the script in same transaction (if I correctly understood what you want to achieve).
6
OP_CHECKMULTISIG contains a bug which consumes one extra element from the stack. Due to this, an additional OP_FALSE (0x00) is pushed for multisig scripts to make the script evaluation valid.
5
Almost all nodes on the network will not relay multisignature transactions because they are not "standard," and almost all miners will not include them in the blocks that they create (for the same reason).
The notion of a "standard" transaction was implemented after Bitcoin started getting popular and had to deal with various denial-of-service attacks that ...
5
The core developers are listed on the main Bitcoin page, while everyone that contributed code are listed on the About page. Probably the most up-to-date info on what is happening with the code would be on the GitHub repo.
5
This is the new issue, the one that's causing all the trouble. You basically have two choices:
Don't spend any of your own outputs until you're quite confident they're fully confirmed. For example, you could wait for three confirmations.
Be prepared to deal with this problem by monitoring your outstanding transaction chains and re-issuing any orphaned ...
5
No. A "multisig address" is really a hash of a redeem script encoded as a P2SH address. Redeem scripts can't be nested, which means you can't include one redeem script inside another redeem script, so it is impossible to implement the feature you describe under current Bitcoin consensus rules.
5
If anything, I believe the ability to buy insurance on cryptocurrency investments would speed up adoption by making it less risky to traditional investors. Simply having insurance available doesn't mandate that everyone buy it; we'd all still have the choice whether we opt-in or not.
Traditional investments tend to have insurance policies on the insurance ...
5
Your question seems to assume that the only goal is minimizing on-chain transaction size. Reducing size and related costs is certainly something that can be improved upon, but it's far from the only thing. The primary advantages of the Schnorr proposal are:
Better privacy, by making different multisig spending policies indistinguishable on chain. When ...
4
This is the latest info I have seen from Ben who runs blockchain.info.
Question: The escrow function seems to be gone. Will it return?
https://blockchain.info/wallet/escrow?
Ben: The escrow feature was removed because not enough people were using it. I think maybe it was just too confusing/not well documented enough.
I did not see any info on if/...
4
Electrum allows to escrow transaction but requires you to use the command line interface.
I found this gist explaining how to do it.
4
1 and 3 are currently the only defined prefixes for an base58 encoded address.
1 is most common and denotes a simple "pay-to-PubKey" transaction. This transaction shows an actual recipient address.
3 indicates a "pay-to-script-hash" address that contains a hash (one way fingerprint) of a script that can be used for multiple things including address ...
4
They stay in the block chain, just as normal transactions do.
Let's look at normal transactions first: When someone (A) sends bitcoins to another person (B), B is not involved in the process at all. A just publishes a transaction in the so called block chain stating that only B is allowed to claim the coins. Not before B wants to spend them, he has to prove ...
4
While multi-signature transactions with a trusted party (e.g Kickstarter Inc.) would work, their disadvantage is requiring said trusted party...
The bitcoin wiki describes a different method that doesn't require any third party:
Each backer creates a transaction with the amount to be pledged (this is an immediate step and required since the method doesn't ...
4
To better understand multisig addresses and transactions, it's useful to read BIP 0013 and create a multisig address using https://coinb.in/multisig/
If I want to create a multisig that requires signatures from 2 of the 3 following pubkeys:
...
4
Sorry, my English is poor, I'll try to explain. Feel free to comment and ask.
First, terminology. There are no "pay to pub key hash msig txs". There are
bare multisig outputs
p2sh outputs
In bare multisig output i create a list on [N] pubkeys and choose [M]. The output script will look like [push M] [push key1] [push key2]... [push keyN] [push N] [...
4
I tested it by creating a secure wallet on BitGo.
They gave a multisig address for deposits. 2/3 of keys are needed to withdraw Bitcoins. BitGo holds one key, you get private key and backup key.
You don't need to printed private key to withdraw Bitcoins. the passphrase is enough (apparently the key is derived form the passphrase).
BitGo cannot do Bitcoin ...
4
My guess is that you are using weak passphrases to generate your keys. This is a common mistake with brain wallets. It is well known that there are bots that scan the blockchain for any unspent coins contained in an address generated from a weak passphrase and takes it for itself. I've not heard of a bot that looks at multisig p2sh addresses for weak ...
Only top voted, non community-wiki answers of a minimum length are eligible
Related Tags
multi-sig-transactions × 214multi-sig-addresses × 50
transactions × 41
multi-sig × 26
escrow × 15
bitcoin-core × 13
script × 13
signature × 13
bitcoind × 12
p2sh × 12
raw-transaction × 9
wallet × 8
lightning-network × 8
security × 6
private-key × 5
segregated-witness × 5
bitcore × 5
transaction-fees × 4
json-rpc × 4
electrum × 4
development × 4
testnet × 4
transaction-verification × 4
paper-wallet × 4
blockchain × 3