<p>While multi-signature transactions with a trusted party (e.g Kickstarter Inc.) would work, their disadvantage is requiring said trusted party...</p>

<p><a href="https://en.bitcoin.it/wiki/Contracts#Example_3%3a_Assurance_contracts" rel="nofollow">The bitcoin wiki</a> describes a different method that doesn't require any third party:</p>

<ol>
<li>Each backer creates a transaction with the amount to be pledged (this is an immediate step and required since the method doesn't allow for <a href="/questions/tagged/change" class="post-tag" title="show questions tagged &#39;change&#39;" rel="tag">change</a></li>
<li>That transaction is used as input signed with <code>SIGHASH_ALL | SIGHASH_ANYONECANPAY</code>, and the output is the to-be-funded address with the <em>funding goal</em>. Due to the input being less than the output, this transaction is invalid and shall not be published but instead transmitted to the recipient.</li>
<li>Once the recipient received enough transactions summing up to the funding goal, they can publish the assembled transaction</li>
</ol>

<p>Unfortunately, this method has other drawbacks:</p>

<ul>
<li>The funding goal must be exactly met (or a multiple of it), i.e. there cannot be stretch goals or overfunding</li>
<li>Since the input transactions are not spent until the funding is complete, the backers might accidentally spend that very transaction in another transaction</li>
</ul>

<hr>

<p>Ideally, <a href="/questions/tagged/script" class="post-tag" title="show questions tagged &#39;script&#39;" rel="tag">script</a> would provide means to determine whether a given bitcoin address (or in this case, the script itself) currently has <em>at least</em> a given amount of bitcoins available...</p>

CC BY-SA 3.0
2014-01-24T18:48:09.123Z
Note to self: Check [Zero Knowledge Contingent Payment](https://en.bitcoin.it/wiki/Zero_Knowledge_Contingent_Payment)
Tobias Kienzler
CC BY-SA 3.0
2014-01-24T18:47:42.903Z
2014-01-24T18:47:42.903Z
Tobias Kienzler
<p>This isn't a question about kickstarter really, just a way for me to phrase my question about the crypto in terms that I can understand.</p>

<p>My understanding, based on this article.. <a href="http://elidourado.com/blog/bitcoin-arbitration" rel="nofollow">Stop Saying Bitcoin Transactions Aren’t Reversible</a> is that multi-signature transactions would make something like a bitcoin KickStarter particularly easy.</p>

<p>That is the kickstarter-like bitcoin service would act as a third party to many contracts transferring btc to the second party? </p>

<p>Maybe this has already been done? Hmm <a href="https://twitter.com/BitcoinStarter" rel="nofollow">@coinstarter</a>.. Yay! Great to see but doesn't really answer my question about how the crypto works. </p>

<p>To make things easier I'll call the people that pledge to the campaign the 'first parties' and the recipients of the funds the 'second party'. Could multi-party signatures to ensure the second party only receives btc after the projects are funded? and at the same time be sure that the third party (eg coinstarter) technically <em>can't</em> abscond with the funds.</p>

<p>Also - and this is my real question - in such a case what state are the bitcoins in prior to the project being funded. That is, are they marked in the blockchain and thus impossible for first parties to 'double spend' btc they have pledged to a campaign or are they actually not in escrow so if a first party spends them on something else in the meantime (after pledging, before the project is funded) the transaction just fails?</p>

<p>Thanks so much in advance, hope this question makes sense, crypto wise.</p>

<currencies><multi-signature>
Do multi-signature transactions make a 'bitcoin kickstarter' possible? And what state are the bitcoins in, in the meantime?
utunga
# Do multi-signature transactions make a 'bitcoin kickstarter' possible? And what state are the bitcoins in, in the meantime?

(Asked by: username_0 on 2014-01-18)

This isn't a question about kickstarter really, just a way for me to phrase my question about the crypto in terms that I can understand.

My understanding, based on this article.. [Stop Saying Bitcoin Transactions Aren’t Reversible](http://elidourado.com/blog/bitcoin-arbitration) is that multi-signature transactions would make something like a bitcoin KickStarter particularly easy.

That is the kickstarter-like bitcoin service would act as a third party to many contracts transferring btc to the second party?

Maybe this has already been done? Hmm [@coinstarter](https://twitter.com/BitcoinStarter).. Yay! Great to see but doesn't really answer my question about how the crypto works.

To make things easier I'll call the people that pledge to the campaign the 'first parties' and the recipients of the funds the 'second party'. Could multi-party signatures to ensure the second party only receives btc after the projects are funded? and at the same time be sure that the third party (eg coinstarter) technically *can't* abscond with the funds.

Also - and this is my real question - in such a case what state are the bitcoins in prior to the project being funded. That is, are they marked in the blockchain and thus impossible for first parties to 'double spend' btc they have pledged to a campaign or are they actually not in escrow so if a first party spends them on something else in the meantime (after pledging, before the project is funded) the transaction just fails?

Thanks so much in advance, hope this question makes sense, crypto wise.

**Tags:** currencies, multi-signature


---

## 1 answers

### Answer by username_1 on 2014-01-24. Score: 4 | Accepted answer

While multi-signature transactions with a trusted party (e.g Kickstarter Inc.) would work, their disadvantage is requiring said trusted party...

[The bitcoin wiki](https://en.bitcoin.it/wiki/Contracts#Example_3%3a_Assurance_contracts) describes a different method that doesn't require any third party:

1. Each backer creates a transaction with the amount to be pledged (this is an immediate step and required since the method doesn't allow for [change](/questions/tagged/change "show questions tagged 'change'")
2. That transaction is used as input signed with `SIGHASH_ALL | SIGHASH_ANYONECANPAY`, and the output is the to-be-funded address with the *funding goal*. Due to the input being less than the output, this transaction is invalid and shall not be published but instead transmitted to the recipient.
3. Once the recipient received enough transactions summing up to the funding goal, they can publish the assembled transaction

Unfortunately, this method has other drawbacks:

* The funding goal must be exactly met (or a multiple of it), i.e. there cannot be stretch goals or overfunding
* Since the input transactions are not spent until the funding is complete, the backers might accidentally spend that very transaction in another transaction

---

Ideally, [script](/questions/tagged/script "show questions tagged 'script'") would provide means to determine whether a given bitcoin address (or in this case, the script itself) currently has *at least* a given amount of bitcoins available...

> **Comments:**
> **username_1**: Note to self: Check [Zero Knowledge Contingent Payment](https://en.bitcoin.it/wiki/Zero_Knowledge_Contingent_Payment)  

---

