10.02.2016 Views

Bitcoin and Cryptocurrency Technologies

1Qqc4BN

1Qqc4BN

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

good luck. There are also some interesting strategic considerations that every miner has to make<br />

before they pick which blocks to work on.<br />

1. Which transactions to include. ​Miners get to choose which transactions they include in a<br />

block. The default strategy is to include any transaction which includes a transaction fee<br />

higher than some minimum.<br />

2. Which block to mine on. ​Miners also get to decide on top of which block they want to mine.<br />

The default behavior for this decision is to extend the longest known valid chain.<br />

3. Choosing between blocks at the same height. ​If two different blocks are mined <strong>and</strong> announced<br />

at around the same time, it results in a 1‐block fork, with either block admissible under the<br />

longest valid chain policy. Miners then have to decide which block to extend. The default<br />

behavior is to build on top of the block that they heard about first.<br />

4. When to announce new blocks.​When they find a block, miners have to decide when to<br />

announce this to the <strong>Bitcoin</strong> network. The default behavior is to announce it immediately, but<br />

they can choose to wait some time before announcing it.<br />

Thus miners are faced with many decisions. For each decision there is a default strategy employed by<br />

the <strong>Bitcoin</strong> reference client, which is run by the vast majority of miners at the time of this writing. It<br />

may be possible though that a non‐default strategy is more profitable. Finding such scenarios <strong>and</strong><br />

strategies is an active area of research. Let’s look at several such potentially profitable deviations from<br />

default behavior. In the following discussion, we’ll assume there’s a non‐default miner who controls<br />

some fraction of mining power which we’ll denote by α.<br />

Forking attack. ​The simplest attack is a forking attack <strong>and</strong> the obvious way to profit to perform a<br />

double spend. The miner sends some money to a victim, Bob, in payment for some good or service.<br />

Bob waits <strong>and</strong> sees that the transaction paying him has indeed been included in the block chain.<br />

Perhaps he follows the common heuristic <strong>and</strong> even waits for six confirmations to be sure. Convinced<br />

that he has been paid, Bob ships the good or performs the service.<br />

The miner now goes ahead <strong>and</strong> begins working on an earlier block — before the block that contains<br />

the transaction to Bob. In this forked chain, the miner inserts an alternate transaction — or a double<br />

spend — which sends the coins paid to Bob on the main chain back to one of the miner’s own<br />

addresses.<br />

158

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

Saved successfully!

Ooh no, something went wrong!