slides/slides08.tex
changeset 426 6d13b8da019e
parent 381 036a762b02cf
child 427 33f872ba3546
--- 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)%