<p>Yes, P2SH seems to be the way to go here. If you do a redeem script like:</p>

<pre><code>redeemScript: DUP HASH160 {B's pub key id} EQUALVERIFY CHECKSIGVERIFY 1 {c1 pub key} {c2 pub key} {c3 pub key} {c4 pub key} {c5 pub key} 5 CHECKSIG
</code></pre>

<p>Hash it and use the P2SH hash as the address. Then you could spend this output with a scriptSig like:</p>

<pre><code>scriptSig: {any one of c1-c5's signatures of the transaction} {B's signature} {redeemScript}
</code></pre>

<p>I'd do some testing with these on a testnet network before doing this for real. </p>

CC BY-SA 3.0
2014-12-22T23:03:14.723Z
2014-12-22T23:03:14.723Z
morsecoder
<p>strongcoin.com offer a escrow service:</p>

<p><a href="https://www.strongcoin.com/" rel="nofollow">https://www.strongcoin.com/</a></p>

<p>you could also use  </p>

<p><a href="https://www.bitrated.com/" rel="nofollow">https://www.bitrated.com/</a></p>

<p>They provide a platform for transaction arbitration which is open source.</p>

<p><a href="https://coinb.in/multisig/" rel="nofollow">https://coinb.in/multisig/</a> - This allows you to use the multi-sig functionality in bitcoin which you can use for escrowed trades as well.</p>

<p>I only just stumbled across this one: <a href="http://www.coinsigner.com/Howitworks.html" rel="nofollow">http://www.coinsigner.com/Howitworks.html</a> but it looks to provide some kind of arbitration,  </p>

CC BY-SA 3.0
2014-10-23T19:09:01.830Z
Please don't use URL shorteners.
Nick ODell
CC BY-SA 3.0
2014-05-26T15:06:33.823Z
2014-10-23T19:08:38.030Z
2014-10-23T19:08:38.030Z
hafnero
<p>Good Evening-</p>

<p>I'm trying to execute an unusual 3-way transaction, where in one of the parties is not known at the start.</p>

<p>PartyA would initiate the transaction, and provide funding. 
My thought was that he would transfer 1BTC to a dedicated wallet.</p>

<p>He'd then also start the transaction, and name Party B as one required signature.</p>

<p>For the third signature, he'd approach 5 random strangers.
He'd give them any and all information necessary to complete the transaction (including the private key of the wallet he just made if nec).</p>

<p>The first one who could propose a deal, and convince PartyB to accept it, would receive their share of the money.</p>

<p>For instance, c1 might offer B to split 80/20, where-as c2 offers to split 50/50.
PartyB signs the proposed offer from c2, and it can then execute.</p>

<p>It looks like there might be a way to do this with multiple signatures and p2sh, but I'm not quite sure how to make it work yet. Any thoughts or comments welcomed.</p>

CC BY-SA 3.0
2013-09-04T17:53:16.487Z
Good Evening to you too sir.
I would suggest looking into how the parameters for OP_CHECKSIG works (https://en.bitcoin.it/wiki/OP_CHECKSIG).
John Henry
CC BY-SA 3.0
2014-12-22T22:58:53.007Z
Is party A even necessarily a part of the process other than providing the original funding?
morsecoder
CC BY-SA 3.0
2014-10-23T19:10:03.243Z
How do you prevent Party A from approaching his friends, instead of strangers? Are you assuming that Party A is not going to cheat?
Nick ODell
<multi-signature>
How can I execute a 3-way escrow with 1 unknown party?
user6631
# How can I execute a 3-way escrow with 1 unknown party?

(Asked by: username_0 on 2013-09-04)

Good Evening-

I'm trying to execute an unusual 3-way transaction, where in one of the parties is not known at the start.

PartyA would initiate the transaction, and provide funding.
My thought was that he would transfer 1BTC to a dedicated wallet.

He'd then also start the transaction, and name Party B as one required signature.

For the third signature, he'd approach 5 random strangers.
He'd give them any and all information necessary to complete the transaction (including the private key of the wallet he just made if nec).

The first one who could propose a deal, and convince PartyB to accept it, would receive their share of the money.

For instance, c1 might offer B to split 80/20, where-as c2 offers to split 50/50.
PartyB signs the proposed offer from c2, and it can then execute.

It looks like there might be a way to do this with multiple signatures and p2sh, but I'm not quite sure how to make it work yet. Any thoughts or comments welcomed.

**Tags:** multi-signature

> **Comments:**
> **username_1**: Good Evening to you too sir. I would suggest looking into how the parameters for OP_CHECKSIG works (https://en.bitcoin.it/wiki/OP_CHECKSIG).  
> **username_3**: How do you prevent Party A from approaching his friends, instead of strangers? Are you assuming that Party A is not going to cheat?  
> **username_2**: Is party A even necessarily a part of the process other than providing the original funding?  

---

## 2 answers

### Answer by username_2 on 2014-12-22. Score: 1

Yes, P2SH seems to be the way to go here. If you do a redeem script like:

```
redeemScript: DUP HASH160 {B's pub key id} EQUALVERIFY CHECKSIGVERIFY 1 {c1 pub key} {c2 pub key} {c3 pub key} {c4 pub key} {c5 pub key} 5 CHECKSIG

```

Hash it and use the P2SH hash as the address. Then you could spend this output with a scriptSig like:

```
scriptSig: {any one of c1-c5's signatures of the transaction} {B's signature} {redeemScript}

```

I'd do some testing with these on a testnet network before doing this for real.


---

### Answer by username_4 on 2014-05-26. Score: 0

strongcoin.com offer a escrow service:

<https://www.strongcoin.com/>

you could also use

<https://www.bitrated.com/>

They provide a platform for transaction arbitration which is open source.

<https://coinb.in/multisig/> - This allows you to use the multi-sig functionality in bitcoin which you can use for escrowed trades as well.

I only just stumbled across this one: <http://www.coinsigner.com/Howitworks.html> but it looks to provide some kind of arbitration,

> **Comments:**
> **username_3**: Please don't use URL shorteners.  

---

