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.

Figure 4.3: A <strong>Bitcoin</strong> paper wallet ​with the public key encoded both as a 2D barcode <strong>and</strong> in base 58<br />

notation. ​Observe that the private key is behind a tamper-evident seal.<br />

Tamper-resistant device.​The fourth way that we can store offline information is to put it in some<br />

kind of tamper-resistant device. Either we put the key into the device or the device generates the key;<br />

either way, the device is designed so that there's no way it will output or divulge the key. The device<br />

instead signs statements with the key, <strong>and</strong> does so when we, say, press a button or give it some kind<br />

of password. One advantage is that if the device is lost or stolen we'll know it, <strong>and</strong> the only way the<br />

key can be stolen is if the device is stolen. This is different from storing your key on a laptop.<br />

In general, people might use a combination of four of these methods in order to secure their keys. For<br />

hot storage, <strong>and</strong> especially for hot storage holding large amounts of bitcoins, people are willing to<br />

work pretty hard <strong>and</strong> come up with novel security schemes in order to protect them, <strong>and</strong> we'll talk a<br />

little bit about one of those more advanced schemes in the next section.<br />

4.3 Splitting <strong>and</strong> Sharing Keys<br />

Up to now we've looked at different ways of storing <strong>and</strong> managing the secret keys that control<br />

bitcoins, but we've always put a key in a single place — whether locked in a safe, or in software, or on<br />

paper. This leaves us with a single point of failure. If something goes wrong with that single storage<br />

place then we're in trouble. We could create <strong>and</strong> store backups of the key material, but while this<br />

decreases the risk of the key getting lost or corrupted (availability), it ​increases​the risk of theft<br />

(security). This trade-off seems fundamental. Can we take a piece of data <strong>and</strong> store it in such a way<br />

that availability <strong>and</strong> security increase at the same time? Remarkably, the answer is yes, <strong>and</strong> it is once<br />

again a trick that uses cryptography, called ​secret sharing​.<br />

Here’s the idea: we want to divide our secret key into some number N of pieces. We want to do it in<br />

such a way that if we're given any K of those pieces then we'll be able to reconstruct the original<br />

secret, but if we're given fewer than K pieces then we won't be able to learn anything about the<br />

original secret.<br />

108

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

Saved successfully!

Ooh no, something went wrong!