slides/slides08.tex
changeset 315 7bd723cb9b32
child 316 edbd731e8bee
equal deleted inserted replaced
314:e01f55e7485a 315:7bd723cb9b32
       
     1 \documentclass[dvipsnames,14pt,t]{beamer}
       
     2 \usepackage{../slides}
       
     3 \usepackage{../graphics}
       
     4 \usepackage{../langs}
       
     5 
       
     6 \usetikzlibrary{shapes}
       
     7 
       
     8 % beamer stuff 
       
     9 \renewcommand{\slidecaption}{APP 08, King's College London}
       
    10 \newcommand{\bl}[1]{\textcolor{blue}{#1}}
       
    11 
       
    12 \newcommand{\DOWNarrow}[3]{%
       
    13 \begin{textblock}{0}(#2,#3)%
       
    14 \onslide<#1>{%
       
    15 \begin{tikzpicture}%
       
    16 \node at (0,0) [single arrow, shape border rotate=270, fill=red,text=red]{a};%
       
    17 \end{tikzpicture}}%
       
    18 \end{textblock}}
       
    19 \newcommand{\LEFTarrow}[3]{%
       
    20 \begin{textblock}{0}(#2,#3)%
       
    21 \onslide<#1>{%
       
    22 \begin{tikzpicture}%
       
    23 \node at (0,0) [single arrow, shape border rotate=180, fill=red,text=red]{a};%
       
    24 \end{tikzpicture}}%
       
    25 \end{textblock}}
       
    26 
       
    27 
       
    28 \begin{document}
       
    29 
       
    30 
       
    31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    32 \begin{frame}[t]
       
    33 \frametitle{%
       
    34   \begin{tabular}{@ {}c@ {}}
       
    35   \\
       
    36   \LARGE Access Control and \\[-3mm] 
       
    37   \LARGE Privacy Policies (8)\\[-6mm] 
       
    38   \end{tabular}}\bigskip\bigskip\bigskip
       
    39 
       
    40   \normalsize
       
    41   \begin{center}
       
    42   \begin{tabular}{ll}Ch
       
    43   Email:  & christian.urban at kcl.ac.uk\\
       
    44   Office: & S1.27 (1st floor Strand Building)\\
       
    45   Slides: & KEATS (also homework is there)\\
       
    46   \end{tabular}
       
    47   \end{center}
       
    48 
       
    49 \end{frame}
       
    50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
    51 
       
    52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    53 % student prticipation
       
    54 \begin{frame}
       
    55 \frametitle{Bitcoins}
       
    56 
       
    57 \begin{center}
       
    58 \Huge\bf ?
       
    59 \end{center}
       
    60 
       
    61 \end{frame}
       
    62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
    63 
       
    64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    65 \begin{frame}[t]
       
    66 \frametitle{Bitcoins from 10,000m}
       
    67 
       
    68 \begin{itemize}
       
    69 \item a crypto ``currency'' by Satoshi Nakamoto (likely a pen name)
       
    70 \item a digital resource designed to be scarce 
       
    71   (max 21 Mio bitcoins---deflationary currency) 
       
    72 \item mined by solving special puzzles involving hashes
       
    73 \item transaction history (ledger/blockchain) is P2P distributed (12 GB)
       
    74 \item two ``mining pools'' produce\\ currently more than 50\% 
       
    75   of bitcoins 
       
    76 \item can be stolen and also lost
       
    77 \item anoynmous?\pause
       
    78 \item a ponzi scheme
       
    79 \end{itemize}
       
    80 
       
    81 \begin{textblock}{7}(11.5,10)
       
    82 \includegraphics[scale=0.21]{../pics/bitcoin_ledgers.png}
       
    83 \end{textblock}
       
    84 
       
    85 \end{frame}
       
    86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
    87 
       
    88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    89 \begin{frame}[t]
       
    90 \frametitle{Bitcoins}
       
    91 
       
    92 \begin{itemize}
       
    93 \item you create a public-private key pair
       
    94 \item you have a wallet which can be
       
    95 \begin{itemize}
       
    96 \item electronic (on you computer, passwords)
       
    97 \item cloud-based (passwords)
       
    98 \item paper-based
       
    99 \end{itemize}
       
   100 
       
   101 \item Mt.~Gox: hacked $\Rightarrow$ insolvent
       
   102 \item no form of dispute resolution
       
   103 \end{itemize}
       
   104 
       
   105 \end{frame}
       
   106 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   107 
       
   108 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   109 \begin{frame}
       
   110 \frametitle{Underlying Ideas}
       
   111 
       
   112 Establishing trust in a completely 
       
   113 untrusted environment\medskip
       
   114 
       
   115 \begin{itemize}
       
   116 \item public-private key encryption\medskip
       
   117 \item digital signatures\medskip
       
   118 \item cryptographic hashing (SHA-256)
       
   119 \end{itemize}
       
   120 
       
   121 \begin{center}
       
   122 If Alice sends you: \bl{$msg, \{msg\}_{K^{priv}_{Alice}}$}
       
   123 \ldots
       
   124 \end{center}
       
   125 
       
   126 \end{frame}
       
   127 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   128 
       
   129 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   130 \begin{frame}[t]
       
   131 \frametitle{Lets Start with Infocoins}
       
   132 
       
   133 \begin{center}
       
   134 \bl{$\{\text{I, Alice, am giving Bob one infocoin.}\}_{K^{priv}_{Alice}}$}
       
   135 \end{center}\bigskip
       
   136 
       
   137 \begin{itemize}
       
   138 \item no-one else could have created that message
       
   139 \item Alice cannot deny the ``intend''\pause\bigskip
       
   140 \item forgery possible only after Alice created the string
       
   141 \item Q: What is money? --- A: Well string above
       
   142   (or later messages like that)
       
   143 \end{itemize}
       
   144 
       
   145 
       
   146 
       
   147 \end{frame}
       
   148 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   149 
       
   150 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   151 \begin{frame}[t]
       
   152 \frametitle{Double Spend}
       
   153 
       
   154 \begin{center}
       
   155 \bl{$\{\text{I, Alice, am giving Bob one infocoin.}\}_{K^{priv}_{Alice}}$}
       
   156 \end{center}
       
   157 
       
   158 \begin{itemize}
       
   159 \item Alice could keep sending Bob this message over and over
       
   160       again\pause
       
   161 \item we need to have a serial number
       
   162 \begin{center}
       
   163 \bl{$\{\text{I, Alice, am giving Bob infocoin \#1234567.}\}_{K^{priv}_{Alice}}$}
       
   164 \end{center}\pause\medskip
       
   165 
       
   166 \item but then we need a trusted source of serial numbers (e.g.~bank)
       
   167 \end{itemize}
       
   168 
       
   169 \end{frame}
       
   170 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   171 
       
   172 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   173 \begin{frame}[t]
       
   174 \frametitle{No Banks Please}
       
   175 
       
   176 With banks we could implement:
       
   177 
       
   178 \begin{itemize}
       
   179 \item Bob asks the bank whether the infocoin with that serial
       
   180       number belongs to Alice and
       
   181 \item Alice hasn’t already spent this infocoin. 
       
   182 \item If yes, then Bob tells the bank he accept the infocoin
       
   183 \item the bank updates the records to show that the infocoin
       
   184       with that serial number is now in Bob’s possession and
       
   185       no longer belongs to Alice\bigskip\pause
       
   186 \end{itemize}
       
   187 
       
   188 \end{frame}
       
   189 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   190 
       
   191 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   192 \begin{frame}[t]
       
   193 \frametitle{Blockchain}
       
   194 
       
   195 The solution for double spend: 
       
   196 
       
   197 \begin{itemize}
       
   198 \item make everybody the bank, everybody has the entire
       
   199       transaction history --- will be called
       
   200       \alert{blockchain}\medskip
       
   201 \item Bob checks whether infocoin belongs to Alice and then
       
   202       broadcasts the message to anybody else 
       
   203 \end{itemize}
       
   204 
       
   205 \begin{center}
       
   206 \includegraphics[scale=0.21]{../pics/bitcoin_ledgers.png}
       
   207 \end{center}
       
   208 
       
   209 \end{frame}
       
   210 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   211 
       
   212 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   213 \begin{frame}[t]
       
   214 \frametitle{Blockchain}
       
   215 
       
   216 \begin{center}
       
   217 \includegraphics[scale=0.5]{../pics/bitcoinblockchain0.png}
       
   218 \end{center}
       
   219 
       
   220 \end{frame}
       
   221 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   222 
       
   223 
       
   224 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   225 \begin{frame}[t]
       
   226 \frametitle{Transaction Graph}
       
   227 
       
   228 \mbox{}\hspace{3cm}older \hspace{3cm} current
       
   229 
       
   230 \begin{center}
       
   231 \includegraphics[scale=0.5]{../pics/blockchain.png}
       
   232 \end{center}
       
   233 
       
   234 \end{frame}
       
   235 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   236 
       
   237 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   238 \begin{frame}[t]
       
   239 \frametitle{Double Spend Again}
       
   240 
       
   241 \begin{bubble}[10cm]\addtolength{\leftmargini}{5mm}
       
   242 \begin{itemize}
       
   243 \item I , Alice, am giving Bob one infocoin, with serial
       
   244       number 1234567.
       
   245 \item I, Alice, am giving \alt<2->{\alert{Alice}}{Charlie} 
       
   246       one infocoin.
       
   247 \end{itemize}
       
   248 \end{bubble}\bigskip
       
   249 
       
   250 How should other people update their blockchain (public
       
   251 register)?\pause
       
   252 
       
   253 
       
   254 \begin{center}
       
   255 \includegraphics[scale=0.3]{../pics/bitcoindisagreement.png}
       
   256 \end{center}
       
   257 
       
   258 
       
   259 Once enough people have broadcast that message, everyone
       
   260 updates their block chain to show that infocoin 1234567 now
       
   261 belongs to Bob, and the transaction is complete.
       
   262 
       
   263 \end{frame}
       
   264 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   265 
       
   266 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   267 \begin{frame}[t]
       
   268 \frametitle{Creating Agreement}
       
   269 
       
   270 \begin{bubble}[10cm]
       
   271 Once \alert{enough} people have broadcast that message, 
       
   272 everyone updates their block chain to show that infocoin 
       
   273 1234567 now belongs to Bob, and the transaction is accepted.
       
   274 \end{bubble}\bigskip\bigskip
       
   275 \pause
       
   276 
       
   277 \small
       
   278 But what if Alice sets up a large number of separate
       
   279 identities, let’s say a billion, on the Infocoin network. When
       
   280 Bob asks the network to validate the transaction, Alice’s
       
   281 puppet identities say ``Yes his transaction is validated'',
       
   282 while actually the rest network says Alice's transaction 
       
   283 is OK?
       
   284 \end{frame}
       
   285 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   286 
       
   287 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   288 \begin{frame}[t]
       
   289 \frametitle{Proof-Of-Work}
       
   290 
       
   291 The idea is counterintuitive and involves a combination of two
       
   292 ideas:\bigskip
       
   293 
       
   294 \begin{bubble}[10cm]
       
   295 \addtolength{\leftmargini}{5mm}
       
   296 \begin{itemize}
       
   297 
       
   298 \item to (artificially) make it computationally costly for
       
   299       network users to validate transactions, and
       
   300 
       
   301 \item to reward them for trying to help validate transactions
       
   302 \end{itemize}
       
   303 \end{bubble}\pause\bigskip
       
   304 
       
   305 \small
       
   306 this is called mining: whoever validates a transaction will be awarded with
       
   307 50 bitcoins --- this halves every 210,000 transactions or
       
   308 roughly every 4 years; no new bitcoins after 2140 -- then only 
       
   309 transaction fees
       
   310 \end{frame}
       
   311 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   312 
       
   313 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   314 \begin{frame}[t]
       
   315 \frametitle{Solving Puzzles}
       
   316 
       
   317 Given a string, say \code{"Hello, world!"}, what is the 
       
   318 \alert{salt} that the hash starts with a long run of 
       
   319 zeros?\bigskip
       
   320 
       
   321 \begin{bubble}[10cm]
       
   322 \begin{tabular}{l}
       
   323 \footnotesize\code{h("Hello, world!0") =}\\
       
   324 \;\;\scriptsize\code{1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64}\\
       
   325 \pause
       
   326 \footnotesize\code{h("Hello, world!1") =}\\ 
       
   327 \;\;\scriptsize\code{e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8}\\
       
   328 \pause
       
   329 \ldots\\
       
   330 \footnotesize\code{h("Hello, world!4250") =}\\ 
       
   331 \;\;\scriptsize\code{0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9}
       
   332 \end{tabular}
       
   333 \end{bubble}
       
   334 
       
   335 \end{frame}
       
   336 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   337 
       
   338 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   339 \begin{frame}[t]
       
   340 \frametitle{Hardness}
       
   341 
       
   342 If we want the output hash value to begin with 10 zeroes,
       
   343 say, then we will need, on average, to try $16^{10} \approx
       
   344 10^{12}$ different salts before we find a suitable nonce. 
       
   345 
       
   346 Hardness can be controlled by setting a \alert{target} (maximum
       
   347 number).
       
   348 
       
   349 \begin{center}
       
   350 \includegraphics[scale=0.37]{../pics/blockchainsolving.png}
       
   351 \end{center}
       
   352 
       
   353 \begin{textblock}{7}(7,10)
       
   354 10 mins
       
   355 \end{textblock}
       
   356 
       
   357 \end{frame}
       
   358 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   359 
       
   360 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   361 \begin{frame}[t]
       
   362 \frametitle{Order of Transactions}
       
   363 
       
   364 If we don’t have such an ordering then at any given moment it
       
   365 may not be clear who owns which infocoins.
       
   366 
       
   367 \begin{center}
       
   368 \includegraphics[scale=0.38]{../pics/bitcoin_unconfirmed.png}
       
   369 \end{center}
       
   370 
       
   371 \small
       
   372 Say, miner David is lucky and finds a suitable salt
       
   373 to confirm the transactions. Celebration!\pause \hspace{5mm}??
       
   374 
       
   375 \end{frame}
       
   376 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   377 
       
   378 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   379 \begin{frame}[t]
       
   380 \frametitle{Forks}
       
   381 
       
   382 Typically the blockchain will look as follows
       
   383 
       
   384 \begin{center}
       
   385 \includegraphics[scale=0.65]{../pics/block_chain1.png}
       
   386 \end{center}
       
   387 
       
   388 \pause
       
   389 But every so often there is a fork
       
   390 
       
   391 \begin{center}
       
   392 \includegraphics[scale=0.65]{../pics/block_chain_fork.png}
       
   393 \end{center}
       
   394 
       
   395 \small
       
   396 \ldots{}bugger this is exactly what we are trying to avoid
       
   397 \end{frame}
       
   398 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   399 
       
   400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   401 \begin{frame}[t]
       
   402 
       
   403 The tie is broken if another block is solved
       
   404 
       
   405 \begin{center}
       
   406 \includegraphics[scale=0.4]{../pics/bitcoin_blockchain_branches.png}
       
   407 \end{center}
       
   408 
       
   409 \small
       
   410 The rule is this: if a fork occurs, people on the network keep
       
   411 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
       
   413 chain.
       
   414 
       
   415 \end{frame}
       
   416 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   417 
       
   418 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   419 \begin{frame}[t]
       
   420 \frametitle{Double Spending Again}
       
   421 
       
   422 So if Alice wants to fake it she needs to produce
       
   423 a longer chain:
       
   424 
       
   425 \begin{center}
       
   426 \includegraphics[scale=0.4]{../pics/bitcoin_blockchain_double_spend.png}
       
   427 \end{center}
       
   428 
       
   429 \end{frame}
       
   430 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   431 
       
   432 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   433 \begin{frame}
       
   434 \frametitle{Racing Agianst the World}
       
   435 
       
   436 \begin{columns}
       
   437 \begin{column}{4.5cm}
       
   438 \includegraphics[scale=0.3]{../pics/bitcoin_doublespend_blockchain_race.png}
       
   439 \end{column}
       
   440 \begin{column}{5.5cm}
       
   441 \includegraphics[scale=0.3]{../pics/bitcoin_transaction_order_race.png}
       
   442 \end{column}
       
   443 \end{columns}\bigskip\bigskip\pause
       
   444 
       
   445 \small
       
   446 A transaction is ``confirmed'' if:\smallskip
       
   447 
       
   448 (1) it is part of a block in the longest fork, and (2) at
       
   449 least 5 blocks follow it in the longest fork. In this case we
       
   450 say that the transaction has ``6 confirmations''.\bigskip
       
   451 
       
   452 \footnotesize (might take 1h+\ldots but for creditcards you have 
       
   453 6 months chargeback)
       
   454 \end{frame}
       
   455 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   456 
       
   457 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   458 \begin{frame}[t]
       
   459 \frametitle{Mining Pools}
       
   460 
       
   461 \begin{bubble}[10cm]
       
   462 On average, it would take several years for a typical computer
       
   463 to solve a block, so an individual’s chance of ever solving
       
   464 one before the rest of the network, which typically takes 10
       
   465 minutes, is very low.
       
   466 \end{bubble}\bigskip\pause
       
   467 
       
   468 \small
       
   469 Many people join groups called mining pools that collectively
       
   470 work to solve blocks, and distribute rewards based on work
       
   471 contributed. These act somewhat like lottery pools among
       
   472 co-workers, except that some of these pools are quite large,
       
   473 and comprise more than 20\% of all the computers in the
       
   474 network.\medskip
       
   475 
       
   476 \footnotesize
       
   477 BTC, the largest mining pool, has limited its members to 
       
   478 not solve more than 6 blocks in a row.
       
   479 
       
   480 \end{frame}
       
   481 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   482 
       
   483 
       
   484 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   485 \begin{frame}[t]
       
   486 \frametitle{Bitcoins for Real}
       
   487 
       
   488 \begin{itemize}
       
   489 \item you need a public-private key (the hash of the 
       
   490 public key to determines your bitcoin address) 
       
   491 
       
   492 \item if you want to receive bitcoins, you publicise 
       
   493 this address
       
   494 
       
   495 \item there are $2^{160}$ possibilities\\ 
       
   496 (no check for duplicates)
       
   497 \end{itemize}
       
   498 
       
   499 \end{frame}
       
   500 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   501 
       
   502 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   503 \begin{frame}[c]
       
   504 \frametitle{A Transaction Msg}
       
   505 \small
       
   506 \lstinputlisting[language=Scala,
       
   507                  numbersep=3pt, 
       
   508                  xleftmargin=-6mm]{msg}
       
   509 
       
   510 \DOWNarrow{2}{3.5}{1.6}
       
   511 \LEFTarrow{3}{3.5}{3}
       
   512 \LEFTarrow{4}{4.7}{4}
       
   513 \LEFTarrow{4}{5.4}{4.8}
       
   514 \LEFTarrow{5}{5.4}{5.6}
       
   515 \LEFTarrow{6}{5}{6.4}
       
   516 \DOWNarrow{7}{6}{8.2}
       
   517 \LEFTarrow{8}{5}{9.7}
       
   518 \DOWNarrow{9}{7}{9.7}
       
   519 \DOWNarrow{9}{10}{9.7}
       
   520 \LEFTarrow{10}{9}{12}
       
   521 \DOWNarrow{11}{12.5}{12}
       
   522 
       
   523 
       
   524 \begin{textblock}{0}(7,3)%
       
   525 \small
       
   526 \onslide<2,4,7,8,9,10,11,12>{
       
   527 \begin{bubble}[6cm]%
       
   528 \only<2>{the hash of the msg that follows; kind of serial number}
       
   529 \only<4>{the transaction has one inout and one output (could be more)}
       
   530 \only<7>{the hash of the incoming transaction (incoming serial number)}
       
   531 \only<8>{use the 0th output of the incoming transaction}
       
   532 \only<9>{the public key and signature of the sender}
       
   533 \only<10>{use $x$ amount of the incoming money}
       
   534 \only<11>{public key of the receiver}
       
   535 \only<12>{you do not need a central authority to issue serial numbers\bigskip\\
       
   536 there are no ``coins'', just a long series of transactions}
       
   537 \end{bubble}}
       
   538 \end{textblock}
       
   539 
       
   540 \end{frame}
       
   541 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   542 
       
   543 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   544 \begin{frame}
       
   545 \frametitle{Transaction History}
       
   546 
       
   547 you can follow back the transaction history until
       
   548 you reach either
       
   549 
       
   550 \begin{itemize}
       
   551 \item the genesis block (a transaction without input of
       
   552 50 bitcoins)
       
   553 \item coinbase transaction (this is the reward of the
       
   554 miner who validated a block of transactions in the blockchain)
       
   555 
       
   556 \end{itemize}
       
   557 
       
   558 \end{frame}
       
   559 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   560 
       
   561 
       
   562 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   563 \begin{frame}[t]
       
   564 \frametitle{Lost Bitcoins?}
       
   565 
       
   566 \begin{itemize}
       
   567 \item somebody needs to be able to generate a key-pair
       
   568   for the signature (for this you need the private 
       
   569   key)\bigskip
       
   570 
       
   571 \item somebody spends your bitcoins fraudulently
       
   572   (you cannot charge them back)\ldots{} bad luck
       
   573 
       
   574 \item you can send bitcoins to a ``non-existing'' address
       
   575   (Mt.~Gox)
       
   576 \end{itemize}
       
   577 
       
   578 \end{frame}
       
   579 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   580 
       
   581 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   582 \begin{frame}[t]
       
   583 \frametitle{Good Points}
       
   584 
       
   585 An attacker can't:
       
   586 
       
   587 \begin{itemize}
       
   588 \item reverse other people's transactions
       
   589 \item change the number of coins generated per block
       
   590 \item create coins out of thin air
       
   591 \item send coins that never belonged to an attacker
       
   592 \end{itemize}\bigskip
       
   593 
       
   594 The system can be scaled to all world transactions. 
       
   595 
       
   596 \end{frame}
       
   597 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   598 
       
   599 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   600 \begin{frame}[t]
       
   601 \frametitle{But I did not Inhale}
       
   602 
       
   603 \begin{center}
       
   604 \includegraphics[scale=0.04]{../pics/bitcointornetwork.png}
       
   605 \end{center}
       
   606 
       
   607 \end{frame}
       
   608 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   609 
       
   610 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   611 \begin{frame}[t]
       
   612 \frametitle{Anonymity}
       
   613 
       
   614 Bitcoins may not be ideal for money laundering because all
       
   615 transactions are public.[218] Authorities have expressed
       
   616 concerns, however. 
       
   617 
       
   618 How anonymous is Bitcoin? Many people claim that Bitcoin can be used
       
   619 anonymously. This claim has led to the formation of marketplaces such
       
   620 as Silk Road (and various successors), which specialize in illegal
       
   621 goods. However, the claim that Bitcoin is anonymous is a myth. The
       
   622 block chain is public, meaning that it’s possible for anyone to see
       
   623 every Bitcoin transaction ever. Although Bitcoin addresses aren’t
       
   624 immediately associated to real-world identities, computer scientists
       
   625 have done a great deal of work figuring out how to de-anonymize
       
   626 “anonymous” social networks. The block chain is a marvellous target
       
   627 for these techniques.
       
   628 
       
   629 \end{frame}
       
   630 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   631 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   632 \begin{frame}[t]
       
   633 \frametitle{Bitcoin vs Gov}
       
   634 
       
   635 Purported absence of potential government interference?
       
   636 \pause 
       
   637 Far from it:
       
   638   
       
   639 \begin{itemize}
       
   640   \item government could compel ``mayor players'' to blacklist
       
   641      bitcoins (exchanges)
       
   642   \item coerce developer community (e.g.~Lavabit)
       
   643   \item put pressure on mining pools, or be big a miner 
       
   644   itself
       
   645 \end{itemize} 
       
   646 
       
   647 \begin{center}
       
   648 \includegraphics[scale=0.04]{../pics/nsautah1.jpg}
       
   649 \hspace{3mm}
       
   650 \includegraphics[scale=0.031]{../pics/nsautah2.jpg}
       
   651 \end{center}
       
   652 
       
   653 \end{frame}
       
   654 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   655 
       
   656 
       
   657 
       
   658 
       
   659 \end{document}
       
   660 
       
   661 %%% Local Variables:  
       
   662 %%% mode: latex
       
   663 %%% TeX-master: t
       
   664 %%% End: 
       
   665