Hot answers tagged

10

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 ...


4

Electrum allows to escrow transaction but requires you to use the command line interface. I found this gist explaining how to do it.


3

The Core client will only update its balance when it registers transaction outputs that it is able to fully spend. So, if you don't have all of the multisig keys in your wallet, it won't keep track of the balance. What you're looking for is support for watch-only addresses, which should be coming soon (https://github.com/bitcoin/bitcoin/pull/4045/commits), ...


2

Anything is possible. David Zimbeck, created this concept for bitcoin back in 2014 BitHalo.org does this and has been running since 2014. It's an automated two party escrow service. Both parties put a deposit, if either one cheats the deal they lose their funds. Since there is no escrow agent then it's completely impossible to break the contracts and gain ...


2

Struggled with this for a while as well. You need to announce the transaction to your local node and the network via the sendrawtransaction call with the raw transaction id.


2

Take a look at the Bitcoin wiki page on Transaction Fees. First of all, a transaction fee is not always required. Miners decide whether to accept transactions without a fee and most miners follow the same decision protocol for that. A transaction may be safely sent without fees if these conditions are met: It is smaller than 10,000 bytes. All ...


2

Usually they're a multisig transaction between a couple of core developers. One recent one was a 2-of-3 between Greg Maxwell and a couple of others. It's mainly just to prevent hit-by-a-bus scenarios, we trust in these people absolutely.


2

Check the third output script: OP_1 032487c2a32f7c8d57d2a93906a6457afd00697925b0e6e145d89af6d3bca33016 02308673d16987eaa010e540901cc6fe3695e758c19f46ce604e174dac315e685a OP_2 OP_CHECKMULTISIG Essentially it's saying that in order for the transaction to be valid, the input script (scriptSig) must provide signatures for one (OP_1) of the public keys listed ...


2

You basically got it. create 2-of-3 multisig addresses (meaning needing two out of three signatures) 1 is for the buyer, 1 is for the seller, and 1 is for the mediator buyer sends money to the multisig address, commiting the funds to the transaction if the transaction goes well, buyer sends a signed transaction spending the multisig output to the seller and ...


2

with the current system, it seems impossible to do so. The most probable protocol change/update will be after activating BIP Schnorr, when we have the chance to move away from payment_hash/preimage and can go to payment_point/secret_scalar. Once we achieved this htlc's can be exchanged by adoptor signatures as described in this tutorial. Those would ...


2

To state the obvious in a 2-of-3 multisig escrow if two parties collude they can cheat the honest third party. Buyer and seller signing the transaction. HodlHodl signs the transaction only in case of dispute. In this scenario it is less work for HodlHodl and less trust/reliance on HodlHodl. You would choose this if you don't trust HodlHodl any more than ...


2

The merchant attempts to defraud me: I pay X satoshi to buy a smartphone, but I never receive it, and I'm afraid the merchant will never deliver it to me. This is certainly possible, and Bitcoin-related scams like this happen all the time. If you're afraid of this, you really want to pay with Bitcoin, and you want to have some form of buyer protection, you ...


2

You can contact the service provider, and the escrow agent to request a refund, but beyond that there is likely nothing that can be done. If you have lost a substantial amount of money, you could file reports with your local law enforcement agency, but understand that there is almost no chance they will be able to help you recover the funds. Bitcoin ...


2

StrongCoin has been operating since 2011 in the wallet space and now has an escrow service too. The service is based on BIP38 which means it is using an M of N style key exchange. The service does not hold the Bitcoins just one vote which it can use in the case of a dispute. StrongCoin - BIP38 Escrow Service


2

This certainly is possible---but unless you define the "several ways" to verify that A has the funds, the solution must exclude this key component. Here is one possible solution: Special Multisignature Bitcoin-Address Create a 3-of-5 multisignature Bitcoin address to which A transfers the Bitcoin in question. A owns 3 of the 5 participating addresses, ...


1

A multi-sig address is created in a deterministic manner using the parameters and addresses which can spend funds from the account. For example: I would like to sell you a GPU, but we do not know each other We find an escrow service (or common contact to serve as escrow) we both trust We create a multisig address with parameters 2 signatures required < ...


1

It appears the transaction with that id actually exists, you can verify it because Bitcoin transactions are public https://www.blockchain.com/btc/tx/1968cc2b31b396c3ef0677c69ed68a588f6bdec1ed9e60fcb8500fddda46b068. Indeed since it has ~900 confirmations, at an average block time of 10 minutes (Bitcoin protocol rules), it was first confirmed about a week ago. ...


1

Because it is much harder to do escrow with fiat. Fiat currencies are subject to various regulations which make this difficult. The escrow service would have to be registered as a money transferring business and be required to follow AML/KYC regulations. This means that all users would have to submit personally identifying documentation to the service in ...


1

The scriptSig part is first on stack, so there would be: 0 <Alice's signature> <Bob's signature> 0 and this for the payout into the CLTV branch: 0 <Alice/Bob's signature> <Lenny's signature> 1 After the sig part follows the pubkey script, with the first Opcode "IF". This "IF" verifies the value befor on the stack (which is "0" or "...


1

There's "Decred cross-chain atomic swapping". It allows two people to exchange cryptocurrencies (currently BTC/LTC/Vertcoin/Decred) without trusting on a third party nor each other. UPDATE: There's also Lightning Network atomic swap. You can read about it on Decred blog or Github


1

Partial answer (not a new solution - I merely adapted the micropayment channel protocol): if you allow for public key exchange, one solution seems to me to be: t1: source funds an address A controlled by source and escrow t2: source partially signs transaction T spending A to destination. Then she sends this partially signed transaction to escrow. it is ...


1

There's Bitrated, which lets you explore a variety of independent escrow agents from the Bitcoin community. The service uses multisignature Bitcoin transactions, meaning the escrow agent has no direct control of the escrowed amount, and won't be called upon unless arbitration is requested by the other two parties. Accounts have people vouching for their ...


1

I think what you really need here is to be able to, on demand, get a new address for the receiver that is specific to a new order. So, for example, if the receiver of the coins is to get 1 BTC, then you get a new address for that user, associate it with the order, and as soon as it receives the coins you know that this order has been fulfilled. It may not ...


1

Absolutely. The mediator, C, creates an address. After the bet payment(s) have been made, C creates two transactions. One pays to A, and the other pays to B. He keeps both of these transactions secret. Then, he destroys the private key for the address. Depending on who wins, the mediator publishes one of the transactions. An attacker can't send the ...


1

Lets look carefully on https://blockchain.info/tx/3a0c283c8574205c2cc95cea0e603bfff9087af2ab0360ebd2e98740a3193a18 output #0 is msig 1-of-2 to { 0336aa4df526a776e2b72512bb65d8ad5c661360cc1de2ffe460b618c0bba6641e, 20434e5452505254590000000a00000000d806c1d5000000039dc87f4000000000 } the first long number [0336..641e] is public key of address ...


1

Take a look at BIP0016. This new transaction type is redeemed by a standard scriptSig: ...signatures... {serialized script} And... {serialized script} is popped off the initial stack, and the transaction is validated again using the popped stack and the deserialized script as the scriptPubKey. In this case, {serialized script} is {m [pubkey1] [...


1

If bitcoin does not have any centralized entity controlling it, who provides the infrastructure for the trades to happen? Does this has something to do with mining? Whoever wants to do something provides the infrastructure to do it. If you want to perform a transaction, you have to provide enough infrastructure to perform a transaction or use someone else's ...


1

1.) Yes, when mining each block validates all of the transactions that have occurred since the last block. This is also where transaction fees go, if you choose to include one the device that mines the next block will earn it in addition to the set reward for that block. 2.) There is not full anonymity between Bitcoin transactions, there is pseudo-anonymity ...


1

Not exactly a duplicate of this question, so I'm not marking it as such, but I think that question does answer yours. In a nutshell, the Bitcoin reference client can do this. You have to use the command line or JSON-RPC, though. Gavin Andresen wrote a script for it.


Only top voted, non community-wiki answers of a minimum length are eligible