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] |