72 \item mined by solving special puzzles involving hashes |
72 \item mined by solving special puzzles involving hashes |
73 \item transaction history (ledger/blockchain) is P2P distributed (12 GB) |
73 \item transaction history (ledger/blockchain) is P2P distributed (12 GB) |
74 \item two ``mining pools'' produce\\ currently more than 50\% |
74 \item two ``mining pools'' produce\\ currently more than 50\% |
75 of bitcoins |
75 of bitcoins |
76 \item can be stolen and also lost |
76 \item can be stolen and also lost |
77 \item anoynmous?\pause |
77 \item anonymous?\pause |
78 \item a ponzi scheme |
78 \item surely a ponzi scheme! |
79 \end{itemize} |
79 \end{itemize} |
80 |
80 |
81 \begin{textblock}{7}(11.5,10) |
81 \begin{textblock}{7}(11.5,10) |
82 \includegraphics[scale=0.21]{../pics/bitcoin_ledgers.png} |
82 \includegraphics[scale=0.21]{../pics/bitcoin_ledgers.png} |
83 \end{textblock} |
83 \end{textblock} |
89 \begin{frame}[t] |
89 \begin{frame}[t] |
90 \frametitle{Bitcoins} |
90 \frametitle{Bitcoins} |
91 |
91 |
92 \begin{itemize} |
92 \begin{itemize} |
93 \item you create a public-private key pair |
93 \item you create a public-private key pair |
94 \item you have a wallet which can be |
94 \item you have a `wallet' which can be |
95 \begin{itemize} |
95 \begin{itemize} |
96 \item electronic (on you computer, passwords) |
96 \item electronic (on your computer, passwords) |
97 \item cloud-based (passwords) |
97 \item cloud-based (passwords) |
98 \item paper-based |
98 \item paper-based |
99 \end{itemize} |
99 \end{itemize} |
100 |
100 and contains only the public-private key |
|
101 |
|
102 \item Bitcoins can be stolen and lost |
101 \item Mt.~Gox: hacked $\Rightarrow$ insolvent |
103 \item Mt.~Gox: hacked $\Rightarrow$ insolvent |
102 \item no form of dispute resolution |
104 \item no form of dispute resolution (against current |
|
105 consumer laws) |
103 \end{itemize} |
106 \end{itemize} |
104 |
107 |
105 \end{frame} |
108 \end{frame} |
106 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
109 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
107 |
110 |
108 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
111 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
109 \begin{frame} |
112 \begin{frame} |
110 \frametitle{Underlying Ideas} |
113 \frametitle{Underlying Ideas} |
111 |
114 |
112 Establishing trust in a completely |
115 It establishing trust in a completely |
113 untrusted environment\medskip |
116 untrusted environment\medskip |
114 |
117 |
115 \begin{itemize} |
118 \begin{itemize} |
116 \item public-private key encryption\medskip |
119 \item public-private key encryption\medskip |
117 \item digital signatures\medskip |
120 \item digital signatures\medskip |
118 \item cryptographic hashing (SHA-256) |
121 \item cryptographic hashing (SHA-256) |
119 \end{itemize} |
122 \end{itemize} |
120 |
123 |
121 \begin{center} |
124 \begin{center} |
122 If Alice sends you: \bl{$msg, \{msg\}_{K^{priv}_{Alice}}$} |
125 If Alice sends you: \bl{$msg, \{msg\}_{K^{priv}_{Alice}}$} |
123 \ldots |
126 \ldots ? |
124 \end{center} |
127 \end{center} |
125 |
128 |
126 \end{frame} |
129 \end{frame} |
127 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
130 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
128 |
131 |
134 \bl{$\{\text{I, Alice, am giving Bob one infocoin.}\}_{K^{priv}_{Alice}}$} |
137 \bl{$\{\text{I, Alice, am giving Bob one infocoin.}\}_{K^{priv}_{Alice}}$} |
135 \end{center}\bigskip |
138 \end{center}\bigskip |
136 |
139 |
137 \begin{itemize} |
140 \begin{itemize} |
138 \item no-one else could have created that message |
141 \item no-one else could have created that message |
139 \item Alice cannot deny the ``intend''\pause\bigskip |
142 \item Alice cannot deny the ``intend'' of sending Bob money\pause\bigskip |
140 \item forgery possible only after Alice created the string |
143 \item forgery possible only after Alice created the string |
141 \item Q: What is money? --- A: Well string above |
144 \item Q: What is money?\\ |
|
145 A: Well a string like above |
142 (or later messages like that) |
146 (or later messages like that) |
143 \end{itemize} |
147 \end{itemize} |
144 |
148 |
145 |
149 |
146 |
150 |
155 \bl{$\{\text{I, Alice, am giving Bob one infocoin.}\}_{K^{priv}_{Alice}}$} |
159 \bl{$\{\text{I, Alice, am giving Bob one infocoin.}\}_{K^{priv}_{Alice}}$} |
156 \end{center} |
160 \end{center} |
157 |
161 |
158 \begin{itemize} |
162 \begin{itemize} |
159 \item Alice could keep sending Bob this message over and over |
163 \item Alice could keep sending Bob this message over and over |
160 again\pause |
164 again (did she mean to send 10 ICs?)\pause |
161 \item we need to have a serial number |
165 \item we need to have a serial number |
162 \begin{center} |
166 \begin{center} |
163 \bl{$\{\text{I, Alice, am giving Bob infocoin \#1234567.}\}_{K^{priv}_{Alice}}$} |
167 \bl{$\{\text{I, Alice, am giving Bob infocoin \#1234567.}\}_{K^{priv}_{Alice}}$} |
164 \end{center}\pause\medskip |
168 \end{center}\pause\medskip |
165 |
169 |
166 \item but then we need a trusted source of serial numbers (e.g.~bank) |
170 \item but then we need a trusted source of serial numbers |
|
171 (e.g.~a bank) |
167 \end{itemize} |
172 \end{itemize} |
168 |
173 |
169 \end{frame} |
174 \end{frame} |
170 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
175 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
171 |
176 |
176 With banks we could implement: |
181 With banks we could implement: |
177 |
182 |
178 \begin{itemize} |
183 \begin{itemize} |
179 \item Bob asks the bank whether the infocoin with that serial |
184 \item Bob asks the bank whether the infocoin with that serial |
180 number belongs to Alice and |
185 number belongs to Alice and |
181 \item Alice hasn’t already spent this infocoin. |
186 \item Alice hasn’t already spent this infocoin.\bigskip |
182 \item If yes, then Bob tells the bank he accept the infocoin |
187 \item If yes, then Bob tells the bank he accepts the infocoin. |
183 \item the bank updates the records to show that the infocoin |
188 \item The bank updates the records to show that the infocoin |
184 with that serial number is now in Bob’s possession and |
189 with that serial number is now in Bob’s possession and |
185 no longer belongs to Alice\bigskip\pause |
190 no longer belongs to Alice. |
186 \end{itemize} |
191 \end{itemize} |
187 |
192 |
188 \end{frame} |
193 \end{frame} |
189 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
194 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
190 |
195 |
303 \end{bubble}\pause\bigskip |
314 \end{bubble}\pause\bigskip |
304 |
315 |
305 \small |
316 \small |
306 this is called mining: whoever validates a transaction will be awarded with |
317 this is called mining: whoever validates a transaction will be awarded with |
307 50 bitcoins --- this halves every 210,000 transactions or |
318 50 bitcoins --- this halves every 210,000 transactions or |
308 roughly every 4 years; no new bitcoins after 2140 -- then only |
319 roughly every 4 years (currently 25 BC); no new bitcoins after 2140 -- then only |
309 transaction fees |
320 transaction fees |
310 \end{frame} |
321 \end{frame} |
311 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
322 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
312 |
323 |
313 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
324 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
314 \begin{frame}[t] |
325 \begin{frame}[t] |
315 \frametitle{Solving Puzzles} |
326 \frametitle{Solving Puzzles} |
316 |
327 |
317 Given a string, say \code{"Hello, world!"}, what is the |
328 Given a string, say \code{"Hello, world!"}, what is the |
318 \alert{salt} that the hash starts with a long run of |
329 \alert{salt} so the hash starts with a long run of |
319 zeros?\bigskip |
330 zeros?\bigskip |
320 |
331 |
321 \begin{bubble}[10cm] |
332 \begin{bubble}[10cm] |
322 \begin{tabular}{l} |
333 \begin{tabular}{l} |
323 \footnotesize\code{h("Hello, world!0") =}\\ |
334 \footnotesize\code{h("Hello, world!0") =}\\ |
359 |
370 |
360 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
371 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
361 \begin{frame}[t] |
372 \begin{frame}[t] |
362 \frametitle{Order of Transactions} |
373 \frametitle{Order of Transactions} |
363 |
374 |
364 If we don’t have such an ordering then at any given moment it |
375 If we don’t have such an ordering at any given moment |
365 may not be clear who owns which infocoins. |
376 then it may not be clear who owns which infocoins. |
366 |
377 |
367 \begin{center} |
378 \begin{center} |
368 \includegraphics[scale=0.38]{../pics/bitcoin_unconfirmed.png} |
379 \includegraphics[scale=0.38]{../pics/bitcoin_unconfirmed.png} |
369 \end{center} |
380 \end{center} |
370 |
381 |
405 \begin{center} |
416 \begin{center} |
406 \includegraphics[scale=0.4]{../pics/bitcoin_blockchain_branches.png} |
417 \includegraphics[scale=0.4]{../pics/bitcoin_blockchain_branches.png} |
407 \end{center} |
418 \end{center} |
408 |
419 |
409 \small |
420 \small |
410 The rule is this: if a fork occurs, people on the network keep |
421 The rule is: if a fork occurs, people on the network keep |
411 track of all forks. But at any given time, miners only work |
422 track of all forks. But at any given time, miners only work |
412 to extend whichever fork is longest in their copy of the block |
423 to extend whichever fork is longest in their copy of the block |
413 chain. |
424 chain. |
414 |
425 |
415 \end{frame} |
426 \end{frame} |
429 \end{frame} |
440 \end{frame} |
430 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
441 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
431 |
442 |
432 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
443 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
433 \begin{frame} |
444 \begin{frame} |
434 \frametitle{Racing Agianst the World} |
445 \frametitle{Racing Against the World} |
435 |
446 |
436 \begin{columns} |
447 \begin{columns} |
437 \begin{column}{4.5cm} |
448 \begin{column}{4.5cm} |
438 \includegraphics[scale=0.3]{../pics/bitcoin_doublespend_blockchain_race.png} |
449 \includegraphics[scale=0.3]{../pics/bitcoin_doublespend_blockchain_race.png} |
439 \end{column} |
450 \end{column} |
460 |
471 |
461 \begin{bubble}[10cm] |
472 \begin{bubble}[10cm] |
462 On average, it would take several years for a typical computer |
473 On average, it would take several years for a typical computer |
463 to solve a block, so an individual’s chance of ever solving |
474 to solve a block, so an individual’s chance of ever solving |
464 one before the rest of the network, which typically takes 10 |
475 one before the rest of the network, which typically takes 10 |
465 minutes, is very low. |
476 minutes, is negligibly low. |
466 \end{bubble}\bigskip\pause |
477 \end{bubble}\bigskip\pause |
467 |
478 |
468 \small |
479 \small |
469 Many people join groups called mining pools that collectively |
480 Many people join groups called mining pools that collectively |
470 work to solve blocks, and distribute rewards based on work |
481 work to solve blocks, and distribute rewards based on work |
539 |
550 |
540 \end{frame} |
551 \end{frame} |
541 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
552 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
542 |
553 |
543 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
554 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
555 \begin{frame}[t] |
|
556 \frametitle{A Block in the Blockchain} |
|
557 |
|
558 \begin{center} |
|
559 \includegraphics[scale=0.38]{../pics/bitcoin_unconfirmed.png} |
|
560 \end{center} |
|
561 |
|
562 \begin{itemize} |
|
563 \item each block is hashed and contains a reference to |
|
564 the earlier block |
|
565 \item contains the ``salt'' and address of whoever solved the |
|
566 puzzle |
|
567 \end{itemize} |
|
568 |
|
569 \end{frame} |
|
570 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
571 |
|
572 |
|
573 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
544 \begin{frame} |
574 \begin{frame} |
545 \frametitle{Transaction History} |
575 \frametitle{Transaction History} |
546 |
576 |
547 you can follow back the transaction history until |
577 you can follow back the transaction history until |
548 you reach either |
578 you reach either |
587 \begin{itemize} |
617 \begin{itemize} |
588 \item reverse other people's transactions |
618 \item reverse other people's transactions |
589 \item change the number of coins generated per block |
619 \item change the number of coins generated per block |
590 \item create coins out of thin air |
620 \item create coins out of thin air |
591 \item send coins that never belonged to an attacker |
621 \item send coins that never belonged to an attacker |
|
622 \item you cannot meddle with the ``history'' |
592 \end{itemize}\bigskip |
623 \end{itemize}\bigskip |
593 |
624 |
594 The system can be scaled to all world transactions. |
625 The system can be scaled to all world transactions. |
595 |
626 |
596 \end{frame} |
627 \end{frame} |
599 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
630 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
600 \begin{frame}[t] |
631 \begin{frame}[t] |
601 \frametitle{But I did not Inhale} |
632 \frametitle{But I did not Inhale} |
602 |
633 |
603 \begin{center} |
634 \begin{center} |
604 \includegraphics[scale=0.04]{../pics/bitcointornetwork.png} |
635 \includegraphics[scale=0.4]{../pics/bitcointornetwork.png} |
605 \end{center} |
636 \end{center} |
|
637 |
|
638 ledger is public forever; everybody can inspect |
|
639 how money was transferred from which address to |
|
640 which address |
606 |
641 |
607 \end{frame} |
642 \end{frame} |
608 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
643 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
609 |
644 |
610 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
645 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
611 \begin{frame}[t] |
646 \begin{frame}[t] |
612 \frametitle{Anonymity} |
647 \frametitle{Anonymity} |
|
648 \small |
613 |
649 |
614 Bitcoins may not be ideal for money laundering because all |
650 Bitcoins may not be ideal for money laundering because all |
615 transactions are public.[218] Authorities have expressed |
651 transactions are public. |
616 concerns, however. |
652 |
617 |
653 How anonymous is Bitcoin? Many people claim that Bitcoin can |
618 How anonymous is Bitcoin? Many people claim that Bitcoin can be used |
654 be used anonymously. This claim has led to the formation of |
619 anonymously. This claim has led to the formation of marketplaces such |
655 marketplaces such as Silk Road (and various successors), which |
620 as Silk Road (and various successors), which specialize in illegal |
656 specialize in illegal goods. However, the claim that Bitcoin |
621 goods. However, the claim that Bitcoin is anonymous is a myth. The |
657 is anonymous is a myth. The block chain is public, meaning |
622 block chain is public, meaning that it’s possible for anyone to see |
658 that it’s possible for anyone to see every Bitcoin transaction |
623 every Bitcoin transaction ever. Although Bitcoin addresses aren’t |
659 ever. Although Bitcoin addresses aren’t immediately associated |
624 immediately associated to real-world identities, computer scientists |
660 to real-world identities, computer scientists have done a |
625 have done a great deal of work figuring out how to de-anonymize |
661 great deal of work figuring out how to de-anonymize |
626 “anonymous” social networks. The block chain is a marvellous target |
662 “anonymous” social networks. The block chain is a marvellous |
627 for these techniques. |
663 target for these techniques. |
628 |
664 |
629 \end{frame} |
665 \end{frame} |
630 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
666 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
631 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
667 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
632 \begin{frame}[t] |
668 \begin{frame}[t] |