slides/slides12.tex
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Mon, 17 Oct 2016 13:40:45 +0100
changeset 480 ab31912a3b65
parent 442 cceb3d2dcba0
child 518 e1fcfba63a31
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
441
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     1
\documentclass[dvipsnames,14pt,t]{beamer}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     2
\usepackage{../slides}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     3
\usepackage{../graphics}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     4
\usepackage{../langs}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     5
\usepackage{../data}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     6
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     7
\usetikzlibrary{shapes}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     8
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     9
% beamer stuff 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    10
\renewcommand{\slidecaption}{SEN 08, King's College London}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    11
\newcommand{\bl}[1]{\textcolor{blue}{#1}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    12
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    13
\newcommand{\DOWNarrow}[3]{%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    14
\begin{textblock}{0}(#2,#3)%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    15
\onslide<#1>{%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    16
\begin{tikzpicture}%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    17
\node at (0,0) [single arrow, shape border rotate=270, fill=red,text=red]{a};%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    18
\end{tikzpicture}}%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    19
\end{textblock}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    20
\newcommand{\LEFTarrow}[3]{%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    21
\begin{textblock}{0}(#2,#3)%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    22
\onslide<#1>{%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    23
\begin{tikzpicture}%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    24
\node at (0,0) [single arrow, shape border rotate=180, fill=red,text=red]{a};%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    25
\end{tikzpicture}}%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    26
\end{textblock}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    27
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    28
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    29
\begin{document}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    30
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    31
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    32
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    33
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    34
\frametitle{%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    35
  \begin{tabular}{@ {}c@ {}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    36
  \\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    37
  \LARGE Security Engineering\\[-3mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    38
  \end{tabular}}\bigskip\bigskip\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    39
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    40
  \normalsize
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    41
  \begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    42
  \begin{tabular}{ll}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    43
  Email:  & christian.urban at kcl.ac.uk\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    44
  Office: & S1.27 (1st floor Strand Building)\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    45
  Slides: & KEATS (also homework is there)\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    46
  \end{tabular}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    47
  \end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    48
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    49
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    50
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    51
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    52
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    53
% student prticipation
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    54
%\begin{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    55
%\frametitle{Bitcoins}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    56
%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    57
%P2P, 21 Mio, $10^-8$, Mt~Gox, value decreased?, anonymity, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    58
%Silk Road, verification incentive, puzzle, SHA-256, slow 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    59
%transactions, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    60
%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    61
%\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    62
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    63
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    64
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    65
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    66
\frametitle{Recall: Bitcoins}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    67
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    68
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    69
\item a crypto currency by Satoshi Nakamoto
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    70
\item mined by solving special puzzles involving hashes
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    71
\item transaction history (ledger/blockchain) is P2P distributed (12 GB)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    72
\item surely a scam/ponzi scheme!
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    73
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    74
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    75
\begin{textblock}{7}(6.5,8.5)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    76
\includegraphics[scale=0.26]{../pics/bitcoin_ledgers.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    77
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    78
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    79
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    80
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    81
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    82
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    83
\begin{frame}[t]
442
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    84
\frametitle{Bitcoins for Real}
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    85
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    86
\begin{itemize}
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    87
\item you need a public-private key (the hash of the 
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    88
public key to determines your bitcoin address) 
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    89
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    90
\item if you want to receive bitcoins, you publicise 
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    91
this address
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    92
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    93
\item there are $2^{160}$ possibilities\\ 
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    94
(no check for duplicates)\bigskip\pause
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    95
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    96
\item transactions contain ``payment scripts''
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    97
 (non-Turing-complete scripting language)\bigskip
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    98
 
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
    99
 \small simplest script: pay-to-public-key
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   100
\end{itemize}
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   101
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   102
\end{frame}
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   103
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   104
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   105
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   106
\begin{frame}[t]
441
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   107
\frametitle{Bitcoin Keys}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   108
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   109
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   110
\includegraphics[scale=0.9]{../pics/bitcoin-keys.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   111
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   112
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   113
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   114
\item \bl{k} private key: 256 bits (randomly chosen)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   115
\item \bl{K} public key: generated from \bl{k}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   116
\item \bl{A} bitcoin address: 160 Bit/20 Byte number: 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   117
\[\bl{A \dn RIPEMD160(SHA256(K))}\]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   118
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   119
\footnotesize RIPEMD160, SHA256 are hash functions
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   120
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   121
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   122
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   123
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   124
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   125
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   126
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   127
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   128
\frametitle{Bitcoin Addresses}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   129
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   130
The ``human readable, checked version'' of \bl{A}:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   131
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   132
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   133
\begin{tikzpicture}[scale=1]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   134
  \node (A) at (0,0)  [draw=black, rectangle, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   135
     very thick, minimum height=10mm, minimum width=20mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   136
     {\Large\bl{A}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   137
  \node (B) at (0,-2)  [draw=black, rectangle, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   138
     very thick, minimum height=10mm, minimum width=20mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   139
     {\Large\bl{A}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   140
  \node (B2) at (-2,-2)  [draw=black, rectangle, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   141
     very thick, minimum height=10mm, minimum width=20mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   142
     {\large\bl{Prefix}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   143
  \node (B3) at (-4,-0.5) {1 for P2PKH};      
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   144
  \node (C) at (0,-4)  [draw=black, rectangle, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   145
     very thick, minimum height=10mm, minimum width=20mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   146
     {\Large\bl{A}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   147
  \node at (-2,-4)  [draw=black, rectangle, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   148
     very thick, minimum height=10mm, minimum width=20mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   149
     {\large\bl{Prefix}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   150
  \node (C2) at (3,-4)  [draw=black, rectangle, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   151
     very thick, minimum height=10mm, minimum width=40mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   152
     {\large\bl{CheckSum}}; 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   153
  \node (D) at (0,-5.8)  [draw=black, rectangle, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   154
     very thick, minimum height=10mm, minimum width=20mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   155
     {\large\bl{Base58Check(Prefix + A + CheckSum)}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   156
 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   157
  \draw[<-, line width=0.5mm] (B2.north west) -- (B3);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   158
  \draw[->, line width=2mm] (A) -- (B);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   159
  \draw[->, line width=2mm] (B) -- (C);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   160
  \draw[->, line width=2mm] (C) -- (D);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   161
  \path[->, line width=2mm] (B.east) edge[bend left] node[right] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   162
  {\small{}\bl{\begin{tabular}{l}SHA256\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   163
                             SHA256\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   164
                             first 4bytes\\[6mm]\end{tabular}}} (C2);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   165
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   166
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   167
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   168
\only<2->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   169
\begin{textblock}{2.5}(1,10)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   170
\begin{bubble}[10cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   171
Example address (Base58):\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   172
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   173
\bl{1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   174
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   175
\mbox{}\hfill\small{}(does not contain 0OlI)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   176
\end{bubble}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   177
\end{textblock}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   178
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   179
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   180
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   181
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   182
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   183
\frametitle{Transaction Graph}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   184
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   185
\mbox{}\hspace{3cm}older \hspace{3cm} current
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   186
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   187
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   188
\includegraphics[scale=0.52]{../pics/blockchain.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   189
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   190
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   191
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   192
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   193
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   194
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   195
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   196
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   197
\frametitle{Types of Transactions}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   198
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   199
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   200
\item pay-to-public-key-hash (so far: Alice pays Bob)\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   201
\item pay-to-script-hash
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   202
\[\bl{RIPEMD160(SHA256(script))}\]\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   203
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   204
\item Each transaction, including P2PKH, contains a
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   205
      \alert{locking} and an \alert{unlocking} script (locking
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   206
      from output; unlocking from input).
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   207
\item The scripts are written in a Forth-like language (stack
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   208
      based).
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   209
\item Running both scripts has to evaluate to True.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   210
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   211
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   212
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   213
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   214
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   215
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   216
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   217
\frametitle{Pay-to-Public-Key-Hash}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   218
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   219
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   220
\item Alice pays Bob:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   221
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   222
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   223
\begin{tabular}{ll}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   224
\scode{<Bob's signature>} & {\small(unlocking script from input)}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   225
\scode{<Bob's PKey>}\medskip\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   226
\scode{OP_DUP} & {\small(locking script from output)}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   227
\scode{OP_HASH160}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   228
\scode{<Bob's PKey Hash>}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   229
\scode{OP_EQUALVERIFY}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   230
\scode{OP_CHECKSIG}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   231
\end{tabular}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   232
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   233
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   234
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   235
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   236
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   237
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   238
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   239
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   240
\frametitle{A Transaction Msg}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   241
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   242
\lstinputlisting[language=Scala,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   243
                 numbers=none, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   244
                 xleftmargin=-6mm]{msg}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   245
                 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   246
\only<2->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   247
\begin{textblock}{2.5}(4.8,2)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   248
\begin{bubble}[8cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   249
Question: Sender and receiver are the same; same amount
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   250
(no time stamps).\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   251
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   252
Can 2 transactions be exactly the same?
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   253
\end{bubble}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   254
\end{textblock}}                 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   255
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   256
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   257
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   258
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   259
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   260
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   261
\frametitle{Pay-to-Script-Hash}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   262
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   263
Bob wants to implement a multi-key/signature scheme in his 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   264
company:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   265
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   266
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   267
\item Bob tells Alice the hash of a locking script:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   268
\item Alice sends the payment to this ``hash address''\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   269
\item Bob has to supply the locking script matching this hash, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   270
and the unlocking script\pause\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   271
\item Bob can use this payment to implement 2-out-of-3 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   272
signature procedures
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   273
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   274
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   275
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   276
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   277
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   278
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   279
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   280
\frametitle{Blockchain (Public Ledger)}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   281
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   282
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   283
\includegraphics[scale=0.5]{../pics/bitcoinblockchain0.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   284
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   285
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   286
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   287
\item each block is hashed and contains a reference to
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   288
the earlier block; ``validates'' potentially more than one
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   289
transaction
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   290
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   291
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   292
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   293
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   294
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   295
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   296
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   297
\frametitle{Proof-of-Work}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   298
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   299
The idea is counterintuitive and involves a combination of two
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   300
ideas:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   301
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   302
\begin{bubble}[10cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   303
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   304
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   305
\item to (artificially) make it computationally costly for
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   306
      network users to validate transactions, and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   307
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   308
\item to reward them for trying to help validate transactions
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   309
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   310
\end{bubble}\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   311
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   312
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   313
this is called mining: whoever validates a transaction will be awarded with
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   314
50 bitcoins --- this halves every 210,000 transactions or
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   315
roughly every 4 years (currently 25 BC); no new bitcoins after 2140 -- then only 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   316
transaction fees
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   317
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   318
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   319
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   320
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   321
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   322
\frametitle{Solving Puzzles}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   323
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   324
Given a string, say \code{"Hello, world!"}, what is the 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   325
\alert{salt} so the hash starts with a long run of 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   326
zeros?\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   327
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   328
\begin{bubble}[10cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   329
\footnotesize\code{h("Hello, world!0") =}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   330
\;\;\scriptsize\pcode{1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   331
\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   332
\footnotesize\code{h("Hello, world!1") =}\\ 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   333
\;\;\scriptsize\pcode{e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   334
\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   335
\ldots\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   336
\footnotesize\code{h("Hello, world!4250") =}\\ 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   337
\;\;\scriptsize\pcode{0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   338
\end{bubble}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   339
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   340
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   341
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   342
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   343
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   344
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   345
\frametitle{Hardness}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   346
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   347
If we want the output hash value to begin with 10 zeroes,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   348
say, then we will need, on average, to try $16^{10} \approx
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   349
10^{12}$ different salts before we find a suitable nonce. 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   350
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   351
Hardness can be controlled by setting a \alert{target} (maximum
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   352
number).
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   353
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   354
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   355
\includegraphics[scale=0.37]{../pics/blockchainsolving.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   356
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   357
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   358
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   359
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   360
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   361
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   362
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   363
\frametitle{How to Adjust the Target?}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   364
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   365
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   366
\item every 2016 blocks the hardness is adjusted\\ (app 2 weeks)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   367
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   368
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   369
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   370
\includegraphics[scale=0.37]{../pics/blockchainsolving.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   371
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   372
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   373
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   374
\[
442
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   375
\bl{\begin{array}{@{}l@{}}\text{New}\\ \text{Hardness}\end{array} \dn
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   376
\begin{array}{@{}l@{}}\text{Old}\\ \text{Hardness}\end{array} 
441
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   377
* \frac{\text{Actual time for the last 2016 blocks}}{20160}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   378
\]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   379
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   380
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   381
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   382
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   383
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   384
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   385
\frametitle{Hardness}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   386
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   387
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   388
\item for example block \#277,316 has the hardness 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   389
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   390
\[\scode{0x1903a30c}\]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   391
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   392
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   393
where \scode{19} is the exponent and \scode{03a30c} is the 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   394
coefficient.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   395
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   396
\[
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   397
\bl{target \dn coeffcient * 2^{8 * (exponent - 3)}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   398
\]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   399
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   400
in this example the hash has to be smaller that
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   401
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   402
\footnotesize
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   403
\[
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   404
\begin{array}{l}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   405
\scode{0x0000000000000003A30C000000000000}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   406
\qquad\qquad\scode{00000000000000000000000000000000}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   407
\end{array}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   408
\]\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   409
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   410
It is fun to see that nowadays mining equipment is so 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   411
efficient that the hardness is closely related to the 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   412
cost of electricity.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   413
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   414
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   415
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   416
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   417
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   418
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   419
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   420
\frametitle{Bitcoin Schedule}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   421
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   422
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   423
\item every 210000 blocks the amount of bitcoins to be 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   424
  mined halves (``reward era'')
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   425
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   426
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   427
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   428
\begin{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   429
\begin{axis}[
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   430
    xlabel={\footnotesize year},
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   431
    ylabel={\footnotesize \% of total bitcoins},
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   432
    ylabel style={yshift=0.0em},
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   433
    enlargelimits=false,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   434
    xtick={2009,2011,...,2025},
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   435
    xmin=2009,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   436
    xmax=2026,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   437
    ymax=105,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   438
    ymin=0,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   439
    ytick={0,20,...,100},
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   440
    scaled ticks=false,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   441
    axis lines=left,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   442
    width=9cm,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   443
    height=6cm,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   444
    legend entries={\footnotesize plan,\footnotesize in reality 2\% ahead},  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   445
    legend pos=south east,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   446
    legend cell align=left,  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   447
    y tick label style={font=\footnotesize}, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   448
    x tick label style={font=\footnotesize,/pgf/number format/1000 sep={}} 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   449
    ]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   450
\addplot
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   451
  table {bitcoinestimate.data};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   452
\only<2>{\addplot[red] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   453
  table {bitcoinactual.data};}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   454
\end{axis}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   455
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   456
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   457
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   458
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   459
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   460
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   461
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   462
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   463
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   464
\frametitle{Order of Transactions}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   465
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   466
If we don’t have such an ordering at any given moment 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   467
then it may not be clear who owns which Bitcoins.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   468
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   469
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   470
\includegraphics[scale=0.38]{../pics/bitcoin_unconfirmed.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   471
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   472
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   473
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   474
Say, miner David is lucky and finds a suitable salt
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   475
to confirm the transactions. Celebration!\pause \hspace{5mm}??
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   476
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   477
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   478
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   479
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   480
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   481
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   482
\frametitle{Forks}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   483
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   484
Typically the blockchain will look as follows
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   485
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   486
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   487
\includegraphics[scale=0.65]{../pics/block_chain1.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   488
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   489
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   490
\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   491
But every so often there is a fork
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   492
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   493
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   494
\includegraphics[scale=0.65]{../pics/block_chain_fork.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   495
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   496
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   497
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   498
\ldots{}bugger this is exactly what we are trying to avoid
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   499
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   500
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   501
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   502
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   503
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   504
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   505
The tie is broken if another block is solved
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   506
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   507
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   508
\includegraphics[scale=0.4]{../pics/bitcoin_blockchain_branches.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   509
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   510
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   511
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   512
The rule is: if a fork occurs, people on the network keep
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   513
track of all forks. But at any given time, miners only work
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   514
to extend whichever fork is longest in their copy of the block
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   515
chain.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   516
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   517
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   518
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   519
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   520
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   521
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   522
\frametitle{Double Spending}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   523
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   524
So if Alice wants to fake it, she needs to produce
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   525
a longer chain:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   526
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   527
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   528
\includegraphics[scale=0.4]{../pics/bitcoin_blockchain_double_spend.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   529
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   530
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   531
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   532
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   533
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   534
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   535
\begin{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   536
\frametitle{Racing Against the World}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   537
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   538
\begin{columns}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   539
\begin{column}{4.5cm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   540
\includegraphics[scale=0.3]{../pics/bitcoin_doublespend_blockchain_race.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   541
\end{column}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   542
\begin{column}{5.5cm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   543
\includegraphics[scale=0.3]{../pics/bitcoin_transaction_order_race.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   544
\end{column}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   545
\end{columns}\bigskip\bigskip\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   546
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   547
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   548
A transaction is ``confirmed'' if:\smallskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   549
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   550
(1) it is part of a block in the longest fork, and (2) at
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   551
least 5 blocks follow it in the longest fork. In this case we
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   552
say that the transaction has ``6 confirmations''.\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   553
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   554
\footnotesize (might take 1h+\ldots but for creditcards you have 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   555
6 months chargeback)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   556
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   557
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   558
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   559
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   560
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   561
\frametitle{Mining Pools}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   562
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   563
\begin{bubble}[10cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   564
On average, it would take several years for a typical computer
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   565
to solve a block, so an individual’s chance of ever solving
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   566
one before the rest of the network, which typically takes 10
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   567
minutes, is negligibly low.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   568
\end{bubble}\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   569
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   570
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   571
Many people join groups called mining pools that collectively
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   572
work to solve blocks, and distribute rewards based on work
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   573
contributed. These act somewhat like lottery pools among
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   574
co-workers, except that some of these pools are quite large,
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   575
and comprise more than 20\% of all the computers in the
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   576
network.\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   577
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   578
\footnotesize
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   579
BTCC, the largest mining pool, has limited its members to 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   580
not solve more than 6 blocks in a row.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   581
\hfill\url{https://blockchain.info/pools}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   582
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   583
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   584
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   585
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   586
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   587
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   588
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   589
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   590
\frametitle{Multi-Signature Addresses}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   591
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   592
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   593
\item \ldots Bitcoin Improvement Proposal\bigskip\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   594
\item pay-to-public-key (explained so far)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   595
\item pay-to-script-hash (since 2012)\bigskip\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   596
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   597
can specify: requires \bl{M} out of \bl{N} signatures\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   598
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   599
{\small for example\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   600
1-of-2: me and my wife, or\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   601
2-of-2 in banking/companies}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   602
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   603
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   604
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   605
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   606
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   607
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   608
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   609
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   610
\frametitle{Dispute Mediation}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   611
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   612
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   613
\item say, client and (online) merchant do not trust 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   614
  each other\bigskip\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   615
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   616
\item 2-of-3: mutually trusted escrow service
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   617
  \begin{enumerate}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   618
  \item client sends money to 2-of-3 transaction
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   619
  \item merchant sends out goods
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   620
  \item if goods are OK, client sends signed transaction
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   621
    to merchant, merchant can sign and receive the money
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   622
    (publish in blockchain)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   623
  \item if goods are defective, merchant sends signed transaction
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   624
    to client, client can sign and receive the money back
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   625
  \item if client and merchant disagree, then they ask escrow
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   626
  servive who signs a transaction and sends it to ``winning''
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   627
  party 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   628
 \end{enumerate}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   629
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   630
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   631
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   632
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   633
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   634
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   635
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   636
\frametitle{A Block in the Blockchain}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   637
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   638
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   639
\includegraphics[scale=0.38]{../pics/bitcoin_unconfirmed.png}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   640
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   641
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   642
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   643
\item each block is hashed and contains a reference to
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   644
the earlier block
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   645
\item contains the ``salt'' and address of whoever solved the 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   646
puzzle
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   647
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   648
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   649
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   650
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   651
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   652
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   653
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   654
\begin{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   655
\frametitle{Transaction History}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   656
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   657
you can follow back the transaction history until
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   658
you reach either
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   659
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   660
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   661
\item the genesis block (a transaction without input of
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   662
50 bitcoins), or
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   663
\item a coinbase transaction (this is the reward of the
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   664
miner who validated a block of transactions in the blockchain)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   665
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   666
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   667
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   668
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   669
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   670
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   671
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   672
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   673
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   674
\frametitle{Lost Bitcoins?}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   675
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   676
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   677
\item somebody needs to be able to generate a key-pair
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   678
  for the signature (for this you need the private 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   679
  key)\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   680
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   681
\item somebody spends your bitcoins fraudulently
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   682
  (you cannot charge them back)\ldots{} bad luck
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   683
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   684
\item you can send bitcoins to a ``non-existing'' address
442
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   685
  
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   686
\item you send them to a script that can never be satisfied  
441
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   687
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   688
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   689
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   690
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   691
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   692
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   693
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   694
\frametitle{Good Points}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   695
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   696
An attacker can't:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   697
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   698
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   699
\item reverse other people's transactions
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   700
\item change the number of coins generated per block
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   701
\item create coins out of thin air
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   702
\item send coins that never belonged to an attacker
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   703
\item you cannot meddle with the ``history''
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   704
\end{itemize}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   705
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   706
The system can be scaled to all world transactions. 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   707
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   708
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   709
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   710
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   711
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   712
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   713
\frametitle{Take Home Points}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   714
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   715
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   716
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   717
  \item Don't gamble! I am not a first mover in such things.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   718
  \item Cool idea, but I am sure there will be a Bitcoin~2.0.
442
cceb3d2dcba0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 441
diff changeset
   719
  (can for example mining pools force to be paid more?)
441
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   720
  \item It still depends on a lot of old-fashioned security 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   721
  (e.g.~keeping private-keys secret)\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   722
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   723
  \item Having now the knowledge how it works, go back
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   724
  and listen to what people/media make of it. 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   725
\end{itemize} 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   726
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   727
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   728
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   729
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   730
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   731
\end{document}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   732
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   733
%%% Local Variables:  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   734
%%% mode: latex
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   735
%%% TeX-master: t
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   736
%%% End: 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   737