Kickstarter helps artists, musicians, filmmakers,
designers, and other creators find the resources and support they need to make
their ideas a reality. Potential future customers, 'backers', can contribute to a project to finance the development of a product.
However, a fundamental problem for crowdfunding is how asymmetrical the risks faced by backers and founders are.
After having invested, backers don't get a say on how their money will actually be spent.
Worse: which guarantee do they have that the founder they backed, will actually
deliver what they promised, and not go away which the funds successfully collected from the backers?
Ethereum & smart contracts are a great solution to come around these issues. Indeed, the collecting of funds and spending of collected funds gets automated in a secure and a decentralized way.
The risks previously faced by backers disappear because they get to vote on how funds are spend.
The smart contract application I deployed on the Ethereum Rinkeby test network fulfills the following:
- [x] A founder can create a new campaign. He/she sets the minimum contribution amount for future backers.
- [x] Anyone can back a created campaign, provided they contribute at least the minimum amount set by the founder.
- [x] The smart contract controls the funds. Neither the founder nor the backers are able to take out or spend funds collected by the campaign
- [x] Only the founder can create payment requests. He requests the backers to agree on how to spend the campaign's funds. He specifies the payment's recipient.
- [x] Backers can approve (1 time each) payment requests
- [x] The founder can finalize a payment request that has been approved by a majority of backers. This automatically executes the payment (transfers amount to recipient)