Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: athomas1 on April 28, 2014, 06:19:02 AM



Title: Crowd Funding Via BTC
Post by: athomas1 on April 28, 2014, 06:19:02 AM
I have been trying to search for an answer to my question but have been unable to find one. I may not be using the proper search criteria so forgive me if this has been answered before.

Is it possible to create a transaction where in multiple people can send funds to an address but those funds are not released to the address until a set number of funds are received, but those funds are also not available to be double spent e.g. the funds have transferred to the holding address. I'm not sure if I'm explaining correctly so ill try to make a chart. Does this already have a name?  I am curious about it for crowd funding.

Sender's BTC                                    Purgatory                                      Received BTC

BTC 1 -------------------|The BTC are sent to an address,             |
BTC 2 -------------------| and are effectively in limbo,neither party  |
BTC 3 -------------------| can access them or spend them             |
                                      until 4 BTC are sent to the                    |---------> 4BTC released to use able address
                                      address and then they are released        |

BTC 4 -------------------|                                                        |


Also, ideally you can set purgatory up to expire at a given time and if incomplete simply send the BTC back to original senders.


Title: Re: Crowd Funding Via BTC
Post by: shorena on April 28, 2014, 06:55:46 AM
The way I understand it, you are looking for multisignature adresses. This old thread might be a start.

 https://bitcointalk.org/index.php?topic=82213.0


Afaik they dont allow a timer, but you can set them up for n-m. As in n of m have to sign to get the coins somewhere else.

Hope this helps, your table is a bit broken on my phone ;)


Title: Re: Crowd Funding Via BTC
Post by: athomas1 on April 28, 2014, 04:54:39 PM
Thanks for the link, My understanding is that I can do this with one transaction from one wallet. I was more interested in multiple bitcoins coming from multiple wallets and going into one wallet. Is there any work on that being done? or am I misunderstanding multi signature transactions?


Title: Re: Crowd Funding Via BTC
Post by: grue on April 28, 2014, 05:45:11 PM
multisignature addresses require multiple parties to sign in order to spend the coins. you can use this in conjunction with an escrow to ensure that the funds only gets sent to you if the funding requirements are met, and if they're not, the senders are refunded.


Title: Re: Crowd Funding Via BTC
Post by: shorena on April 28, 2014, 05:45:59 PM
Thanks for the link, My understanding is that I can do this with one transaction from one wallet. I was more interested in multiple bitcoins coming from multiple wallets and going into one wallet. Is there any work on that being done? or am I misunderstanding multi signature transactions?

The way it works is (still by hand afaik) that you make a new multi signature address.
https://en.bitcoin.it/wiki/Address#Multi-signature_addresses

There is a open source code here https://bitcointalk.org/index.php?topic=390046

Than you put as much coins on that address (they start with 3 not with 1) as you want.

Now when you want to spend it, you will have to use "signrawtransaction" to sign as many as you can. The next person does the same and so on until all that are needed are signed. E.g. 2 of 3. only then the money will be transfered to someone else.

https://gist.github.com/gavinandresen/2839617

Best to try it with tiny amounts (if you must) or on the testnet first (probably better).


Title: Re: Crowd Funding Via BTC
Post by: firstlast on April 29, 2014, 12:53:05 AM
Assurance contracts can handle crowd funding, described here https://en.bitcoin.it/wiki/Contracts#Example_3:_Assurance_contracts, but I don't know if this has been implemented in code yet.