dominant assurance contracts using ethereum

14
DOMINANT ASSURANCE CONTRACTS Ethereum Meetup 4/6/2014

Post on 14-Sep-2014

494 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Dominant assurance contracts using Ethereum

DOMINANT ASSURANCE CONTRACTS

Ethereum Meetup4/6/2014

Page 2: Dominant assurance contracts using Ethereum

Overview

• Business Models on the Blockchain• Some Funding Models• Crowd Funding • Kickstarter on Ethereum• Dominant Assurance Contracts• Variants

Page 3: Dominant assurance contracts using Ethereum

Business Models on the Blockchain

• Ledra Capital has an interesting brainstorming list of these: link

• Site also contains a thought provoking list of assertions about bitcoin

• #12 on the business model list is Crowdfunding

Page 4: Dominant assurance contracts using Ethereum

Crowd FundingDefinition (wikipedia): Crowdfunding is the collection of finance to sustain an initiative from a large pool of backers—the "crowd"—usually made online by means of a web platform.

Types1. Donation Based2. Reward Based3. Credit Based (peer to peer lending)4. Equity Based

Comparison of platforms/services (wikipedia): link

Page 5: Dominant assurance contracts using Ethereum

Kickstarter• Kickstarter is an example of a type #2, multi-level reward

based crowdfunding platform. It’s a pledge threshold based system.

• Example: Project initiator must raise $10k in 30 days or all pledges are refunded. In a successful campaign, donors may receive different rewards based on amount donated.

Stats• Currently Kickstarter takes 5% in fees and Amazon takes 3-

5% for payment processing.• For the example above, a 43.99% success rate. For 60 day

campaigns this drops to 29%.• Most projects raise less than $10k

Page 6: Dominant assurance contracts using Ethereum

Kickstarter Successes & Failures

Success• Pebble e-watch @ 10x• Ouya @ 9x• Veronica Mars @ 2.8x• Oculus VR (?) - $2M raisedFailure• Kobe Red @ $120k fraud• < 50% success rate

Page 7: Dominant assurance contracts using Ethereum

Kickstarter on Ethereum

• Platform and payment fees can be cut drastically by creating this as an assurance contract on the Ethereum blockchain

• Will still require a web front end, promotion, and gateways to fiat currency (Paypal USD <-> Ether) etc.

• Alex_GuangTou in Vienna and I have been working independently on Kickstarter contract HLL code for Ethereum

Page 8: Dominant assurance contracts using Ethereum

Code Comments (Kickstarter)

Contract Storage [1000] is contract state (0 = first run, 1 = initialized and unfunded, 2 = expired, 3 = fully funded) [1001] is contract creator address [1002] is target date for campaign to finish [1003] is target funding amount for campaign [1004] is number of donors [2000] is donor //1 address [2001] is donor amount [2002] is donor //2 address...

All Runs Make sure there is enough ether to run contract (GAS)

First run of contract (state == 0) Need 2 args for expiry date and target funding, or stop Store contract state, contract creator, target date and target funding

Page 9: Dominant assurance contracts using Ethereum

Code Comments (Kickstarter, cont’d)

Contract Initialized (state == 1) Create constants based on contract storage (campaign parms)

If contract expired Check if funding goal met If yes, state == 3, send balance to contract owner (suicide) If no, state == 2 loop through contract storage[2000] to refund to all Delete contract (suicide) Else contract not expired Store donor and amount in contract storage[2000], [2001]… Increment the donor count by (one). -Used to determine GAS/fees for refund if necessary. -Min donation should be the mktx/CALL fee to allow refund • You can do this in less than 100 lines of commented

code

Page 10: Dominant assurance contracts using Ethereum

Dominant Assurance Contracts• Alex Tabarrok, George Mason University (1996). Model is

credited for the success of GroupOn

• Project initiator pays the donors a fee on top the refund if the target fundraising amount is not met

• In exchange the project initiator asks for a profit (fundraising target is more money than the cost of the project).

• Example: A project costs $10k and takes 30 days to complete. The project initiator asks for $12k and will refund an additional $1k if the campaign is unsuccessful.

Page 11: Dominant assurance contracts using Ethereum

Features• Solves the free rider problem through incentive alignment

• Project initiators can profit. Creates a marketplace for projects

• Improves perception of a project because the project initiator is putting money on the line

• Project initiator may forgo some profit by providing additional funding near the end of the campaign

• Jason Quinn tried this out successfully on Quora to fund the Center for Election Science (link).

Page 12: Dominant assurance contracts using Ethereum

Variants using Ethereum• Prize (refund bonus) proportional to the amount

contributed: Incentivizes matching contributions by initiator.

• Funder acceptance test (FAT): Goods must pass an acceptance vote at the end of the project or not be released with the initiator refunding the profit.

• Equity: Contributions are converted into equity shares via Ethereum subcurrency. The good/product could be sold for ether. The shares could then be traded and could be used for voting on dividend issuance (in ether).

• DAC: Convert the contract into a DAC (Distributed Autonomous Organzation)

Page 13: Dominant assurance contracts using Ethereum

Next Steps

• Successfully code and test Kickstarter contract

• Try it out by attempting to raise funds

• Build web front ends and payment gateways

• Rinse & Repeat for Dominant Assurance Contract

• Integrate into Daemon / SkyNet

Page 14: Dominant assurance contracts using Ethereum

QUESTIONS?