presentation-blockchains/index.html

509 lines
23 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tech Talk: Blockchain</title>
<link rel="stylesheet" href="styles/fonts/merriweather/font.css" charset="utf-8">
<link rel="stylesheet" href="styles/main.css" charset="utf-8">
<link rel="stylesheet" href="styles/blockchain.css" charset="utf-8">
<link rel="stylesheet" href="libs/cryptoicons/cryptocoins.css" charset="utf-8">
<link rel="stylesheet" href="libs/cryptoicons/cryptocoins-colors.css" charset="utf-8">
</head>
<body class="is-loading">
<nav>
<label for="commandField">Command:</label>
<input list="commands" type="text" id="commandField" autocomplete="off" pattern="[0-9]+|[spc]">
<ul class="help">
<li>
<strong>#</strong> - jump to a slide item
</li>
<li>
<strong>s</strong> - toggle projector simulation
</li>
<li>
<strong>p</strong> - toggle presenter mode
</li>
<li>
<strong>c</strong> - clone window
</li>
</ul>
</nav>
<main>
<section class="row title-page">
<div class="col">
<img src="styles/blocks.jpg" alt="" class="cover">
<h1 style="font-weight: 900; background-color: black; color: white; display: inline-block; align-self: flex-end; text-shadow: none">Block</h1>
</div>
<div class="col">
<img src="styles/chains.jpg" alt="" class="cover">
<h1 style="font-weight: 900; background-color: white; color: black; display: inline-block; align-self: flex-start; text-shadow: none">Chain</h1>
</div>
<div class="notes">Blockchain is this hot new buzzword.
We have to start with the big one, Bitcoin.</div>
</section>
<section>
<img src="styles/bitcoin.svg" style="height: 50vmin; width: 50vmin; margin: auto;" alt="">
<div class="notes">Bitcoin was started in late 2008. Open-sourced January 2009.
Creator pseudonym Satoshi Nakamoto.
First <em>decentralized</em> virtual currency.
Before we talk about Bitcoin we need to talk about what money even is.</div>
</section>
<section>
<img src="styles/cat-money.jpg" alt="" class="cover" style="object-position: 65% 30%">
<div class="cover" style="background-color: rgba(0, 0, 0, 0.6)">
<h1 class="highlighted">What is money?</h1>
<li>
<ul janus-timeline janus-future="down">Durable</ul>
<ul janus-timeline janus-future="down">Portable</ul>
<ul janus-timeline janus-future="down">Fungible</ul>
<ul janus-timeline janus-future="down">Divisible</ul>
<ul janus-timeline janus-future="down">Scarce</ul>
<ul janus-timeline janus-future="down">(Acceptable)</ul>
</li>
</div>
<div class="notes"><u>Medium of exchange:</u> ➫portable, ➫durable, ➫fungible
<u>Unit of account:</u> ➫divisible, fungible
<u>Store of value:</u> durable, ➫scarce, fungible
One more property: ➫acceptable (people like using it)
Next: things we've used as money</div>
</section>
<section janus-past="left">
<img src="styles/shell-money.jpg" alt="" class="cover">
<div class="cover" style="background-image: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0) 18em)"></div>
<table class="yesnomaybe">
<tbody>
<tr>
<th>Durable</th><td class="maybe"></td>
</tr>
<tr>
<th>Portable</th><td class="yes"></td>
</tr>
<tr>
<th>Divisible</th><td class="maybe"></td>
</tr>
<tr>
<th>Fungible</th><td class="no"></td>
</tr>
<tr>
<th>Scarce</th><td class="maybe"></td>
</tr>
</tbody>
</table>
<div class="notes">Shells
Used on most continents.
Still a legal currency in Papua New Guinea alongside their paper money.</div>
</section>
<section janus-future="right" janus-past="left">
<img src="styles/Yap_Stone_Money.jpg" alt="" class="cover">
<div class="cover" style="background-image: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0) 18em)"></div>
<table class="yesnomaybe">
<tbody>
<tr>
<th>Durable</th><td class="yes"></td>
</tr>
<tr>
<th>Portable</th><td class="no"></td>
</tr>
<tr>
<th>Divisible</th><td class="no"></td>
</tr>
<tr>
<th>Fungible</th><td class="no"></td>
</tr>
<tr>
<th>Scarce</th><td class="yes"></td>
</tr>
</tbody>
</table>
<div class="notes">Stone money
Made in Micronesia and Guam
Transported to the island of <em>Yap</em> as currency.
Value from the story of how hard it was to transport.
Ownership transferred by oral history, stones not moved.</div>
</section>
<section janus-future="right" janus-past="left">
<img src="styles/gold.jpg" alt="" class="cover">
<div class="cover" style="background-image: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0) 18em)"></div>
<table class="yesnomaybe">
<tbody>
<tr>
<th>Durable</th><td class="yes"></td>
</tr>
<tr>
<th>Portable</th><td class="yes"></td>
</tr>
<tr>
<th>Divisible</th><td class="yes"></td>
</tr>
<tr>
<th>Fungible</th><td class="yes"></td>
</tr>
<tr>
<th>Scarce</th><td class="yes"></td>
</tr>
</tbody>
</table>
<div class="notes">Precious metals, gold and silver.
Used widely today as money but not currency.
Less portable and divisible than its competitors.</div>
</section>
<section janus-future="right">
<img src="styles/dollars.jpg" alt="" class="cover">
<div class="cover" style="background-image: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0) 18em)"></div>
<table class="yesnomaybe">
<tbody>
<tr>
<th>Durable</th><td class="yes"></td>
</tr>
<tr>
<th>Portable</th><td class="yes"></td>
</tr>
<tr>
<th>Divisible</th><td class="yes"></td>
</tr>
<tr>
<th>Fungible</th><td class="maybe"></td>
</tr>
<tr>
<th>Scarce</th><td class="no"></td>
</tr>
</tbody>
</table>
<div class="notes">Cash
Used to represent gold and silver.
Starting with FDR's <em>New Deal</em> in 1933 and ending with <em>Nixon Shock</em> in 1971, the US (and practically everyone else) switched to unbacked "floating money" to take more direct control of national markets.
As a result, cash is not scarce.</div>
</section>
<section>
<h1>How could we make<br><em>digital</em> currency?</h1>
<div class="notes">Digital items can be duplicated; how can I send you something the way I do in the physical world? The people on the island of Yap had the right idea: use a ledger.</div>
</section>
<section janus-past="flip-h">
<img src="styles/heath.jpg" alt="" class="contain">
<div class="notes">Sorry, wrong Ledger.</div>
</section>
<section janus-future="flip-h">
<table>
<tbody style="text-align: right;">
<tr>
<th>Joshua</th>
<td>25</td>
<td><div janus-timeline janus-future="right" style="color: #F00;">&nbsp;- 15</div></td>
</tr>
<tr>
<th>Tim</th>
<td>57</td>
</tr>
<tr>
<th>Dave</th>
<td>9</td>
</tr>
<tr>
<th>Jack</th>
<td>12</td>
<td><div janus-timeline janus-future="right" style="color: #090;">&nbsp;+ 15</div></td>
</tr>
<tr>
<th>George</th>
<td>40</td>
</tr>
</tbody>
</table>
<div class="notes">A ledger keeps track each person's money.
To send money, ➫reduce my account and ➫increase their account.
Like Paypal.
BUT - requires trust. One way to reduce the trust required is with...</div>
</section>
<section>
<img src="styles/padlock.jpg" alt="" class="cover">
<h1 class="highlighted">Cryptography</h1>
<div class="notes">We can use public and private keys to control balances in an anonymous ledger.</div>
</section>
<section>
<table>
<tbody style="text-align: right; font-size: 0.8rem">
<tr>
<th><code>1D4FA353C82B4</code></th>
<td>11.5</td>
<td><div janus-timeline janus-future="right" style="color: #F00;">&nbsp;- 11</div></td>
</tr>
<tr>
<th><code>37563EA8932FB</code></th>
<td>6.0</td>
</tr>
<tr>
<th><code>D163512ECD12E</code></th>
<td>9.0</td>
</tr>
<tr>
<th><code>D15F73E98432A</code></th>
<td>13.5</td>
<td><div janus-timeline janus-future="right" style="color: #F00;">&nbsp;- 4</div></td>
</tr>
<tr>
<th><code>333BCBA13A54C</code></th>
<td>9.7</td>
</tr>
<tr>
<th><code>8DCFD9B98C72B</code></th>
<td>57.0</td>
</tr>
<tr>
<th><code>8DBDA78D8BEF2</code></th>
<td>1.1</td>
</tr>
<tr>
<th><code>C5F83ED13497A</code></th>
<td>6.0</td>
<td><div janus-timeline janus-future="right" style="color: #090;">&nbsp;+ 15</div></td>
</tr>
<tr>
<th><code>92A1E683111A2</code></th>
<td>30.2</td>
</tr>
</tbody>
</table>
<div class="notes">Then instead of sending a payment from "Joshua" to "Jack", it's a payment from "private keys ➫A and ➫B" to "public key ➫C".</div>
</section>
<section janus-future="down" janus-past="down">
<div class="cover" style="overflow: hidden;">
<img src="styles/headstone.svg" style="height: 60vh; margin: 0.5em auto 0" alt="">
<img src="styles/grass-back.svg" style="position: absolute; z-index: -1; width: 100%; top: 60vh">
<img src="styles/grass-front.svg" style="position: absolute; width: 100%; top: 66vh">
</div>
<div class="notes">There's a company that actually did this, called DigiCash. They used a centralized ledger with cryptographically controlled balances. Consumers weren't concerned enough about security or privacy and they ran out of money.
Centralized providers can be fragile since there's a single point of failure.</div>
</section>
<section>
<h1>How to decentralize?</h1>
</section>
<section janus-future="up" janus-past="up">
<img src="styles/oprah-giveaway.jpg" alt="" class="cover">
<h2><em>You</em> get a ledger! <em>You</em> get a ledger!</h2>
<h1>YOU ALL GET A LEDGER!!</h1>
<div class="notes">Give <em>everyone</em> their own copy of the ledger. When you make a change to the ledger, send it out to everyone so all the ledgers stay up to date. Use cryptographic keys for privacy, and so that one person can't change another person's balance.</div>
</section>
<section>
<h1>Double Spending</h1>
<div class="notes">What if I send two transactions at once, spending the same money in two places?
Real world, double spending is easy. Write two checks, first one cashed "wins", it's about timing.
How can a decentralized network solve timing issues?
Analogous problem:</div>
</section>
<section>
<img src="styles/byzantine-fresca.jpg" alt="" class="cover">
<h2>the</h2>
<h1><em>Byzantine Generals&rsquo;</em></h1>
<h2>problem</h2>
<div class="notes">The Byzantine army is divided into groups, each group led by a general. But some of the generals are traitors. How can the loyal generals share one plan of attack, even in the presence of a small group of traitors?
This kind of tamper-proof consensus they are looking for is called "Byzantine consensus".</div>
</section>
<section>
<img class="cover" src="styles/hashbrowns.jpg" alt="hashbrowns">
<h1 class="highlighted">Hashes</h1>
<div class="notes">Hashing is a <strong>one-way</strong> transformation of some arbitrary data into some random-seeming but bounded output.
We can get Byzantine consensus with creative use of hashes.</div>
</section>
<section>
<img src="styles/coal-mining.jpg" alt="" class="cover" style="object-position: 50% 20%">
<h1 class="highlighted">Proof of Work</h1>
<div class="notes">In 1997 this guy Adam Back came up with <em>HashCash</em>. The idea is that an email client would brute-force a certain amount of zeros as the output to a cryptographic hashing algorithm. Also known as a "puzzle".</div>
</section>
<section class="hashpointers">
<div class="cover" style="margin-left: -4vw;">
<img src="styles/hashpointers-linked-list.svg" alt="" class="contain" style="object-position: 50% 50%">
<h2 janus-timeline style="color: #1c75bc">Hash Pointers</h2>
<img janus-timeline janus-future="big" src="styles/hashpointers-hashes.svg" alt="" class="contain" style="object-position: 50% 50%">
<h2 janus-timeline>+ <span style="color: #F7931A">Proof of Work</span></h2>
<img janus-timeline janus-future="big" src="styles/hashpointers-proof-of-work.svg" alt="" class="contain" style="object-position: 50% 50%">
<img janus-timeline janus-future="left" src="styles/hashpointers-new-entry.svg" alt="" class="contain" style="object-position: 50% 50%">
<h2 janus-timeline>= Blockchain</h2>
</div>
<div class="notes">A good structure for a ledger is a linked list: each block of transactions points to the previous block. Each participant will trust the longest log they hear about. But we need this log to be tamper-proof. ➫➫Hash pointers can make it so that changes earlier in the chain affect every item after that. ➫➫Add proof-of-work. Now to change history, you have to redo all the work after that point. But new blocks are still being added.</div>
</section>
<section>
<img src="styles/gold-panning.jpg" alt="" class="cover">
<h1 class="highlighted">Incentives</h1>
<div class="notes">Why would someone do all this work solving hashes to putting new transactions on the ledger? Well, Bitcoin kills two birds with one stone. The protocol specifies that whoever solves one of these hash puzzles is rewarded some newly created currency. (hence "mining") Also, transactions can include fees which miners collect.</div>
</section>
<section>
<img src="styles/full-of-stars.jpg" alt="" class="cover">
<h1 class="highlighted">Implications</h1>
<div class="notes">So what can we use this technology for? It's a tamper-proof ledger, with timestamps and encryption and a giant network of computers keeping it secure.
The key is that blockchains are a <u>decentralized authority</u>, rendering trusted third parties obsolete.</div>
</section>
<section>
<h1>Trusted Third Parties</h1>
<img janus-timeline janus-future="big" src="styles/no_sign.svg" alt="" class="contain">
</section>
<section>
<img src="styles/bank.jpg" alt="" class="cover">
<div class="cover" style="background-color: rgba(0,0,0,0.5)"></div>
<h1>Central banks &amp;<br>payment services</h1>
<div class="coins">
<i class="cc BTC"></i>
<i class="cc DASH"></i>
<i class="cc XMR"></i>
<i class="cc LTC"></i>
<i class="cc XRP"></i>
</div>
<div class="notes">Blockchains' value as money is at the heart of their incentives. Private blockchains that don't try to be money face serious challenges. The ability to transfer value globally without using or trusting a third party can save money and time, especially for traditionally burdensome cases like international remittance.
(Bitcoin, Dash, Monero, Litecoin, Ripple)</div>
</section>
<section>
<img src="styles/copyright-office.jpg" alt="" class="cover">
<div class="cover" style="background-color: rgba(0,0,0,0.5)"></div>
<h1>Register of deeds,<br>copyright office,<br>notary</h1>
<div class="coins">
<i class="cc BTC"></i>
<i class="cc ETC"></i>
<i class="cc FCT"></i>
<i class="cc EMC"></i>
</div>
<div class="notes">Embedding a hash in the blockchain demonstrates an item's existence at point in the past. Easy to do, not a tremendous improvement for consumers yet.
(Stampery [using Bitcoin and Ethereum Classic], Factoids, Emercoin)</div>
</section>
<section>
<img src="styles/clouds.jpg" alt="" class="cover">
<div class="cover" style="background-color: rgba(0,0,0,0.5)"></div>
<h1>Cloud storage providers</h1>
<div class="coins">
<i class="cc SJCX"></i>
<i class="cc MAID"></i>
<i class="cc SIA"></i>
<i class="cc NXT"></i>
</div>
<div class="notes">Cloud storage is just one step further than proof-of-existence.
(Storj, Maidsafe, SIAcoin, NXT)</div>
</section>
<section>
<img src="styles/servers.jpg" alt="" class="cover">
<div class="cover" style="background-color: rgba(0,0,0,0.5)"></div>
<h1>DNS providers</h1>
<div class="coins">
<i class="cc NMC"></i>
<i class="cc EMC"></i>
</div>
<div class="notes">(Namecoin, Emercoin)</div>
</section>
<section>
<img src="styles/user faces.png" alt="" class="contain">
<div class="cover" style="background-color: rgba(0,0,0,0.5)"></div>
<h1>Social networks</h1>
<div class="coins">
<i class="cc STEEM"></i>
<i class="cc AMP"></i>
<i class="cc ETH"></i>
</div>
<div class="notes">(Steem, Synereo, Akasha [using Ethereum])</div>
</section>
<section>
<img src="styles/music.jpg" alt="" class="cover">
<div class="cover" style="background-color: rgba(0,0,0,0.5)"></div>
<h1>Media rights &amp;<br>compensation</h1>
<div class="coins">
<i class="cc ETC"></i> <i class="cc LBC"></i>
</div>
<div class="notes">(UJO Music using Ethereum, LBRY)</div>
</section>
<section>
<img src="styles/fingerprint.jpg" alt="" class="cover">
<div class="cover" style="background-color: rgba(0,0,0,0.5)"></div>
<h1>Identity providers</h1>
<div class="coins">
<i class="cc BTC"></i>
<i class="cc NMC"></i>
<i class="cc DASH"></i>
</div>
<div class="notes">(Blockstack using Bitcoin, Namecoin, Dash [upcoming])</div>
</section>
<section>
<img src="styles/certificate.svg" alt="" class="contain">
<div class="cover" style="background-color: rgba(0,0,0,0.5)"></div>
<h1>SSL certificate authorities</h1>
<div class="coins">
<i class="cc NMC"></i>
<i class="cc EMC"></i>
<i class="cc ETH"></i>
</div>
<div class="notes">CAs are a great example of a TTP with perverse incentives. Ripe for disruption.
(Namecoin, Emercoin, Ethereum)</div>
</section>
<section>
<div class="notes">Applications for businesses:
Look for places where we depend on a trusted third party, or where we operate as a trusted third party. These are areas that could be disrupted with blockchain technology, if conditions are right.</div>
</section>
<section>
<h1>Questions?</h1>
</section>
<section>
<h1>Further reading:</h1>
<ul style="font-size: 0.6em">
<li><a href="http://money.visualcapitalist.com/infographic-the-properties-of-money/">Infographic: The Properties of Money</a></li>
<li><a href="https://www.youtube.com/channel/UCNcSSleedtfyDuhBvOQzFzQ/feed">Bitcoin and Cryptocurrency Technologies</a></li>
<li><a href="http://nakamotoinstitute.org/trusted-third-parties/">Trusted Third Parties Are Security Holes - Nick Szabo</a></li>
<li><a href="http://unenumerated.blogspot.com/">Nick Szabo's blog</a></li>
</ul>
</section>
<section class="credits">
<h1>Credits</h1>
<ul style="font-size: 0.5rem">
<li><a href="https://www.flickr.com/photos/stevendepolo/5644838033/"><img src="styles/blocks.jpg" alt="" class="thumbnail">Steven Depolo, Flickr</a></li>
<li><a href="https://commons.wikimedia.org/w/index.php?curid=161923"><img src="styles/Yap_Stone_Money.jpg" alt="" class="thumbnail">Eric Guinther, English Wikipedia</a></li>
<li><a href="https://www.flickr.com/photos/106853342@N04/10721964235"><img src="styles/shell-money.jpg" alt="" class="thumbnail">Australian DFAT photo library, Flickr</a></li>
<li><a href="https://www.flickr.com/photos/ammichaels/7159593410"><img src="styles/hashbrowns.jpg" alt="" class="thumbnail">based on image by cheeseslave, Flickr</a></li>
<li><a href="https://www.flickr.com/photos/43896901@N00/6102490914"><img src="styles/gold-panning.jpg" alt="" class="thumbnail">Jean-François Gornet, Flickr</a></li>
<li><a href="https://commons.wikimedia.org/wiki/File:Second_Bank_of_the_United_States_South_side.jpg"><img src="styles/bank.jpg" alt="" class="thumbnail">Wikimedia Commons</a></li>
<li><a href="https://www.flickr.com/photos/28581681@N04/4256458866"><img src="styles/clouds.jpg" alt="" class="thumbnail">based on image by leolintang, Flickr</a></li>
<li><a href="https://commons.wikimedia.org/wiki/File:Gnome-application-certificate.svg"><img src="styles/certificate.svg" alt="" class="thumbnail">Wikimedia Commons</a></li>
<li>Public domain images from <a href="https://pixabay.com">Pixabay</a> and <a href="https://commons.wikimedia.org/wiki/Main_Page">Wikimedia Commons</a></li>
<li>Emoji art supplied by <a href="http://emojione.com/">EmojiOne</a></li>
<li>Cryptocurrency icons by <a href="http://labs.allienworks.net/icons/cryptocoins/">Allienworks</a></li>
</ul>
</section>
</main>
<script type="text/javascript" src="libs/openjs-shortcut/shortcut.js"></script>
<script type="text/javascript" src="scripts/app.js"></script>
</body>
</html>