--- a/slides/slides08.tex Fri Nov 06 08:51:53 2015 +0000
+++ b/slides/slides08.tex Tue Nov 10 22:28:03 2015 +0000
@@ -2,6 +2,7 @@
\usepackage{../slides}
\usepackage{../graphics}
\usepackage{../langs}
+\usepackage{../data}
\usetikzlibrary{shapes}
@@ -38,7 +39,7 @@
\normalsize
\begin{center}
- \begin{tabular}{ll}Ch
+ \begin{tabular}{ll}
Email: & christian.urban at kcl.ac.uk\\
Office: & S1.27 (1st floor Strand Building)\\
Slides: & KEATS (also homework is there)\\
@@ -49,49 +50,6 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}
-\frametitle{Interlock Protocol}
-
-invented by Ron Rivest and Adi Shamir (198X?)
-
-\begin{center}
-\begin{tabular}{ll@{\hspace{2mm}}l}
-1. & $A \to B :$ & $K^{pub}_A$\smallskip\\
-2. & $B \to A :$ & $K^{pub}_B$\smallskip\\
-3. & & $\{A,m\}_{K^{pub}_B} \;\mapsto\; H_1,H_2$\\
- & & $\{B,m'\}_{K^{pub}_A} \;\mapsto\; M_1,M_2$\\
-4. & $A \to B :$ & $H_1$\smallskip\\
-5. & $B \to A :$ & $\{H_1, M_1\}_{K^{pub}_A}$\smallskip\\
-6. & $A \to B :$ & $\{H_2, M_1\}_{K^{pub}_B}$\smallskip\\
-7. & $B \to A :$ & $M_2$
-\end{tabular}
-\end{center}
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}
-\frametitle{Car \& Transponder}
-
-\begin{enumerate}
-\item $C$ generates a random number $N$
-\item $C$ calculates $\{N\}_K \mapsto F,G$
-\item $C \to T$: $N, F$
-\item $T$ calculates $\{N\}_K \mapsto F',G'$
-\item $T$ checks that $F = F'$
-\item $T \to C$: $N, G'$
-\item $C$ checks that $G = G'$
-\end{enumerate}
-
-Does the car authenticate the transponder? Does the
-transponder authenticate the car?
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% student prticipation
%\begin{frame}
%\frametitle{Bitcoins}
@@ -117,7 +75,7 @@
of bitcoins
\item can be stolen and also lost
\item anonymous?\pause
-\item surely a ponzi scheme!
+\item surely a scam/ponzi scheme!
\end{itemize}
\begin{textblock}{7}(11.5,10)
@@ -141,9 +99,9 @@
\end{itemize}
and contains only the public-private key
-\item Bitcoins can be stolen and lost
+\item Bitcoins can be stolen or lost
\item Mt.~Gox: hacked $\Rightarrow$ insolvent
-\item no form of dispute resolution (against current
+\item no form of dispute resolution\\ (against current
consumer laws)
\end{itemize}
@@ -151,7 +109,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}
+\begin{frame}[c]
\frametitle{Underlying Ideas}
It establishing trust in a completely
@@ -172,8 +130,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[t]
-\frametitle{Lets Start with Infocoins}
+\begin{frame}[c]
+\frametitle{Lets Start with ``Infocoins''}
\begin{center}
\bl{$\{\text{I, Alice, am giving Bob one infocoin.}\}_{K^{priv}_{Alice}}$}
@@ -217,7 +175,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[t]
+\begin{frame}[c]
\frametitle{No Banks Please}
With banks we could implement:
@@ -244,9 +202,9 @@
\begin{itemize}
\item make everybody the bank, everybody has the entire
transaction history --- will be called
- \alert{blockchain}\medskip
-\item Bob checks whether infocoin belongs to Alice and then
- broadcasts the message to anybody else
+ \alert{\bf blockchain}\medskip
+\item Bob checks whether the infocoin belongs to Alice and then
+ broadcasts the message to everybody else\\[-10mm]\mbox{}
\end{itemize}
\begin{center}
@@ -288,31 +246,25 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[t]
+\begin{frame}[squeeze]
\frametitle{Double Spend Again}
-\begin{bubble}[10cm]\addtolength{\leftmargini}{5mm}
+\begin{bubble}[10cm]
\begin{itemize}
\item I , Alice, am giving Bob one infocoin, with serial
- number 1234567.
+ number 1234567.
\item I, Alice, am giving \alt<2->{\alert{Alice}}{Charlie}
one infocoin with number 1234567.
\end{itemize}
-\end{bubble}\bigskip
+\end{bubble}
How should other people update their blockchain (public
-register)?\pause
-
+register)?\\[-10mm]\mbox{}\pause
\begin{center}
-\includegraphics[scale=0.3]{../pics/bitcoindisagreement.png}
+\hspace{15mm}\includegraphics[scale=0.35]{../pics/bitcoindisagreement.png}
\end{center}
-
-Once enough people have broadcast that message, everyone
-updates their block chain to show that infocoin 1234567 now
-belongs to Bob, and the transaction is complete.
-
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -324,7 +276,7 @@
Once \alert{enough} people have broadcast that message,
everyone updates their block chain to show that infocoin
1234567 now belongs to Bob, and the transaction is accepted.
-\end{bubble}\bigskip\bigskip
+\end{bubble}\bigskip
\pause
\small
@@ -342,10 +294,9 @@
\frametitle{!! Proof-of-Work !!}
The idea is counterintuitive and involves a combination of two
-ideas:\bigskip
+ideas:
\begin{bubble}[10cm]
-\addtolength{\leftmargini}{5mm}
\begin{itemize}
\item to (artificially) make it computationally costly for
@@ -353,7 +304,7 @@
\item to reward them for trying to help validate transactions
\end{itemize}
-\end{bubble}\pause\bigskip
+\end{bubble}\pause
\small
this is called mining: whoever validates a transaction will be awarded with
@@ -401,19 +352,60 @@
\includegraphics[scale=0.37]{../pics/blockchainsolving.png}
\end{center}
-%\begin{textblock}{7}(7,10)
-%10 mins
-%\end{textblock}
+\end{frame}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{frame}[t]
+\frametitle{Controlling the Hardness}
+
+\begin{itemize}
+\item every 210000 blocks the amount of bitcoins to be
+ mined halves (``reward era'')
+\item every 2016 blocks the hardness is adjusted\\ (app 2 weeks)
+\end{itemize}
+
+\begin{center}
+\begin{tikzpicture}
+\begin{axis}[
+ xlabel={\footnotesize year},
+ ylabel={\footnotesize \% of total bitcoins},
+ ylabel style={yshift=0.0em},
+ enlargelimits=false,
+ xtick={2009,2011,...,2025},
+ xmin=2009,
+ xmax=2026,
+ ymax=105,
+ ymin=0,
+ ytick={0,20,...,100},
+ scaled ticks=false,
+ axis lines=left,
+ width=9cm,
+ height=6cm,
+ legend entries={\footnotesize plan,\footnotesize in reality 2\% ahead},
+ legend pos=south east,
+ legend cell align=left,
+ y tick label style={font=\footnotesize},
+ x tick label style={font=\footnotesize,/pgf/number format/1000 sep={}}
+ ]
+\addplot
+ table {bitcoinestimate.data};
+\only<2>{\addplot[red]
+ table {bitcoinactual.data};}
+\end{axis}
+\end{tikzpicture}
+\end{center}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Order of Transactions}
If we don’t have such an ordering at any given moment
-then it may not be clear who owns which infocoins.
+then it may not be clear who owns which Bitcoins.
\begin{center}
\includegraphics[scale=0.38]{../pics/bitcoin_unconfirmed.png}
@@ -506,7 +498,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[t]
+\begin{frame}[c]
\frametitle{Mining Pools}
\begin{bubble}[10cm]
@@ -514,7 +506,7 @@
to solve a block, so an individual’s chance of ever solving
one before the rest of the network, which typically takes 10
minutes, is negligibly low.
-\end{bubble}\bigskip\pause
+\end{bubble}\pause
\small
Many people join groups called mining pools that collectively
@@ -525,7 +517,7 @@
network.\medskip
\footnotesize
-BTC, the largest mining pool, has limited its members to
+BTCC, the largest mining pool, has limited its members to
not solve more than 6 blocks in a row.
\end{frame}
@@ -558,18 +550,18 @@
numbersep=3pt,
xleftmargin=-6mm]{msg}
-\DOWNarrow{2}{3.5}{1.6}
-\LEFTarrow{3}{3.5}{3}
-\LEFTarrow{4}{4.7}{4}
-\LEFTarrow{4}{5.4}{4.8}
-\LEFTarrow{5}{5.4}{5.6}
-\LEFTarrow{6}{5}{6.4}
-\DOWNarrow{7}{6}{8.2}
-\LEFTarrow{8}{5}{9.7}
-\DOWNarrow{9}{7}{9.7}
-\DOWNarrow{9}{10}{9.7}
-\LEFTarrow{10}{9}{12}
-\DOWNarrow{11}{12.5}{12}
+\DOWNarrow{2}{3.5}{1.4}
+\LEFTarrow{3}{3.5}{2.8}
+\LEFTarrow{4}{4.7}{3.8}
+\LEFTarrow{4}{5.4}{4.6}
+\LEFTarrow{5}{5.4}{5.4}
+\LEFTarrow{6}{5.0}{6.2}
+\DOWNarrow{7}{6.0}{8.0}
+\LEFTarrow{8}{5.0}{9.5}
+\DOWNarrow{9}{7.0}{9.5}
+\DOWNarrow{9}{10.0}{9.5}
+\LEFTarrow{10}{9.0}{11.8}
+\DOWNarrow{11}{12.5}{11.9}
\begin{textblock}{0}(7,3)%