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