10.02.2016 Views

Bitcoin and Cryptocurrency Technologies

1Qqc4BN

1Qqc4BN

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Route 1: Directly on <strong>Bitcoin</strong><br />

The natural starting point for block chain integration is <strong>Bitcoin</strong>’s block chain. This is the approach we<br />

used in the previous example of a smart car. The main advantage to using <strong>Bitcoin</strong> directly is<br />

deployability: the code runs, the network has acquired significant mining power, <strong>and</strong> the consensus<br />

process appears sound. However we were only able to use <strong>Bitcoin</strong> in the example application with<br />

some hacks, such as an equivalence between the crypto that’s used to authorize <strong>Bitcoin</strong> transactions<br />

<strong>and</strong> the crypto that’s used to open car doors. It will not always be the case that such hacks are<br />

possible. More fundamentally, if you have some arbitrarily complex contract between different<br />

parties, it is not necessarily the case that it can be represented adequately on <strong>Bitcoin</strong>’s block chain<br />

<strong>and</strong> executed atomically. To illustrate the perils of using <strong>Bitcoin</strong>’s block chain, let us consider how we<br />

might implement a few natural applications of disintermediation.<br />

First consider ​crowd funding services​. As of 2015, the largest example is Kickstarter which matches<br />

entrepreneurs with funders through a central website. If we liked the idea of Kickstarter but wanted<br />

to build a completely decentralized alternative, we would need to realize a system where<br />

entrepreneurs can request contributions, but cannot spend the money until they collect a<br />

pre‐specified amount, all without the existence of an intermediary.<br />

Figure 11.1: crowd‐funding via <strong>Bitcoin</strong>.​Each contributor signs their own input <strong>and</strong> the output.<br />

The transaction will be invalid until the cumulative sum of inputs matches or exceeds the output.<br />

An approach to technically achieving this, with <strong>Bitcoin</strong>, is to instruct entrepreneurs to create a single<br />

transaction with an arbitrary number of inputs (that can vary as the process in underway) <strong>and</strong> a single<br />

output to themselves for a specified amount, say 1000. Such transactions will circulate amongst<br />

potential sponsors, where anyone can contribute by adding an input to the transaction for the<br />

amount of their contribution <strong>and</strong> digitally signing their own input, as well as the overall output. Such a<br />

transaction cannot be spent by the entrepreneur until the inputs are greater than or equal to the<br />

output. This uses some little‐known features of <strong>Bitcoin</strong> in order to spend the final transaction given<br />

296

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!