slides/slides08.tex
changeset 316 edbd731e8bee
parent 315 7bd723cb9b32
child 317 0cdfa8ef4aa2
equal deleted inserted replaced
315:7bd723cb9b32 316:edbd731e8bee
    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 
   214 \frametitle{Blockchain}
   219 \frametitle{Blockchain}
   215 
   220 
   216 \begin{center}
   221 \begin{center}
   217 \includegraphics[scale=0.5]{../pics/bitcoinblockchain0.png}
   222 \includegraphics[scale=0.5]{../pics/bitcoinblockchain0.png}
   218 \end{center}
   223 \end{center}
       
   224 
       
   225 \begin{itemize}
       
   226 \item each block is hashed and contains a reference to
       
   227 the earlier block; ``validates'' potentially more than one
       
   228 transaction
       
   229 \end{itemize}
   219 
   230 
   220 \end{frame}
   231 \end{frame}
   221 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
   232 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
   222 
   233 
   223 
   234 
   284 \end{frame}
   295 \end{frame}
   285 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
   296 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
   286 
   297 
   287 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   298 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   288 \begin{frame}[t]
   299 \begin{frame}[t]
   289 \frametitle{Proof-Of-Work}
   300 \frametitle{!! Proof-of-Work !!}
   290 
   301 
   291 The idea is counterintuitive and involves a combination of two
   302 The idea is counterintuitive and involves a combination of two
   292 ideas:\bigskip
   303 ideas:\bigskip
   293 
   304 
   294 \begin{bubble}[10cm]
   305 \begin{bubble}[10cm]
   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}
   417 
   428 
   418 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   429 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   419 \begin{frame}[t]
   430 \begin{frame}[t]
   420 \frametitle{Double Spending Again}
   431 \frametitle{Double Spending Again}
   421 
   432 
   422 So if Alice wants to fake it she needs to produce
   433 So if Alice wants to fake it, she needs to produce
   423 a longer chain:
   434 a longer chain:
   424 
   435 
   425 \begin{center}
   436 \begin{center}
   426 \includegraphics[scale=0.4]{../pics/bitcoin_blockchain_double_spend.png}
   437 \includegraphics[scale=0.4]{../pics/bitcoin_blockchain_double_spend.png}
   427 \end{center}
   438 \end{center}
   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]