presentation-blockchains/index.html
2017-01-22 03:43:01 -05:00

476 lines
21 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tech Talk: Blockchain</title>
<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;">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;">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">
<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>
-->
<!--
<table class="yesnomaybe" style="font-size: 6vh; border-width: 1.5em 1em 0 0; margin: auto;">
<thead>
<tr>
<th></th>
<th><div>Durable</div></th>
<th><div>Portable</div></th>
<th><div>Divisible</div></th>
<th><div>Fungible</div></th>
<th><div>Scarce</div></th>
</tr>
</thead>
<tbody>
<tr>
<th>Medium of<br>Exchange</th><td class="yes"></td><td class="yes"></td><td></td><td class="yes"></td><td></td>
</tr>
<tr>
<th>Unit of<br>Account</th><td></td><td></td><td class="yes"></td><td class="yes"></td><td></td>
</tr>
<tr>
<th>Store of<br>Value</th><td></td><td></td><td></td><td class="yes"></td><td class="yes"></td>
</tr>
</tbody>
</table>
-->
</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.</div>
</section>
<section>
<h1>How could we make<br><em>digital</em> currency?</h1>
<div class="cover" janus-timeline janus-future="down" janus-past="down">
<img src="styles/heath.png" alt="" style="position: absolute; height: 60vh; bottom: -5vh; right: 0; transform: rotate(-30deg)">
</div>
<div janus-timeline></div>
<div class="notes">Digital items can be duplicated; how can I send you something the way I do in the physical world? The Yapanese people had the right idea: use a ledger.</div>
</section>
<section>
<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 style="color: #f7931a; font-weight: 900; text-shadow: 0 0 2em black; -webkit-text-stroke: 0.025em white">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>You get a ledger! You 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 style="text-shadow: 0 0 2em black;">
<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/envelopes.jpg" alt="" class="cover">
<h1 style="padding-top: 3em; text-shadow: 0 0 2em black">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.</div>
</section>
<section class="hashpointers">
<img src="styles/hashpointers-linked-list.svg" alt="" class="contain" style="object-position: 70% 50%">
<h2 janus-timeline style="color: #7f7fff">Hash Pointers</h2>
<img janus-timeline janus-future="big" src="styles/hashpointers-hashes.svg" alt="" class="contain" style="object-position: 70% 50%">
<h2 janus-timeline>+ <span style="color: #ff0">Proof of Work</span></h2>
<img janus-timeline janus-future="big" src="styles/hashpointers-proof-of-work.svg" alt="" class="contain" style="object-position: 70% 50%">
<img janus-timeline janus-future="left" src="styles/hashpointers-new-entry.svg" alt="" class="contain" style="object-position: 70% 50%">
<h2 janus-timeline>= Blockchain</h2>
<div class="notes">A good structure for a ledger is a linked list: each block of transactions points to the previous block. But we want this log to be tamper-proof. Hash pointers can make it so that changes earlier in the chain affect every item after that. 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>
<h1>Applications</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 running it.</div>
</section>
<section>
<h1>Money</h1>
<div class="coins">
<i class="cc BTC"></i>
<i class="cc DASH"></i>
<i class="cc XMR"></i>
<i class="cc LTC"></i>
</div>
<div class="notes">Blockchains are pretty great as money. Bitcoin specifically is only anonymous, not fully private, but there are ways to improve that. Blockchains' value as money is at the heart of their incentives. Private blockchains that don't try to be money face serious challenges.</div>
</section>
<section>
<h1>Verifiable Data</h1>
<div class="coins">
<i class="cc BTC"></i>
<i class="cc FCT"></i>
<i class="cc SIA"></i>
<i class="cc MAID"></i>
<i class="cc SJCX"></i>
<i class="cc NXT"></i>
</div>
<div class="notes">Embedding a hash in the blockchain demonstrates an item's existence at point in the past.
(Bitcoin, Factoids, Sia, Maidsafe, Storj, NXT)
</div>
</section>
<section>
<h1>Identity</h1>
<div class="coins">
<i class="cc NMC"></i>
</div>
<div class="notes">DNS
(Namecoin)
</div>
</section>
<section>
<h1>Digital Assets</h1>
<div class="coins">
<i class="cc BTC"></i>
<i class="cc LBC-alt"></i>
<i class="cc NXT"></i>
</div>
<div class="notes">Instead of monetary value, we can treat blockchain tokens as deeds, and use the blockchain as a decentralized register of ownership.
(Bitcoin, LBRY, NXT)
</div>
</section>
<section>
<h1>Smart Contracts</h1>
<div class="coins">
<i class="cc ETH"></i>
<i class="cc XCP"></i>
</div>
<div class="notes">We can attach scripts to blockchain tokens, and the network will execute the script to find out who the money belongs to. This enables the creation of self-executing contracts and complicated financial arrangements.
(Ethereum, Counterparty)
</div>
</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>
</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/ishtaure-dawn/14297543026"><img src="styles/seashells.jpg" alt="" class="thumbnail">Ishataure Dawn, Flickr</a></li>
<!-- <li><a href="https://www.flickr.com/photos/68751915@N05/6710868859"><img src="styles/giftcards.jpg" alt="" class="thumbnail">401(K) 2010, Flickr</a></li>-->
<li><a href="https://www.flickr.com/photos/imtfi/5875765289"><img src="styles/money-transaction.jpg" alt="" class="thumbnail">Institute for Money, Technology and Financial Inclusion, Flickr</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://commons.wikimedia.org/wiki/File:The_Velveteen_Rabbit_pg_37.jpg"><img src="styles/make-it-real.png" alt="" class="thumbnail">Velveteen Rabbit, Margery Williams 1922</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>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>