\documentclass{beamer}
\usetheme{default}

\usepackage{tikz}

\graphicspath{.}

\setbeamertemplate{frametitle}[default][center]

\title{"Risk" in an untrusted setting}
\author{Jude Southworth}
\begin{document}
\begin{frame}[plain]
    \maketitle
\end{frame}
\begin{frame}{Risk}
	\begin{itemize}
		\item \textit{Risk} is a popular strategy board game.
		\item It is played on a single board, depicting a world map, partitioned into regions.
		\item A player owns a region of the map by stationing troops within the region.
		\item Players fight for regions by gambling some of their troops against the troops in the other player's region.
	\end{itemize}
\begin{center}
	\includegraphics[width=6cm]{Risk_game_board}
\end{center}
\end{frame}
\begin{frame}{Risk}
	\begin{itemize}
		\item \textit{Risk} has a variant called "fog of war".
		\item In this variant, players can only see the number of troops stationed within regions they neighbour.
		\item This variant is therefore only played online, in a \textbf{trusted setup}.
	\end{itemize}
	\begin{center}
		\includegraphics[width=6cm]{fog-of-war}
	\end{center}
\end{frame}
\begin{frame}{Proposition}
	\begin{itemize}
		\item Play fog-of-war Risk in an untrusted setup.
		\item In the untrusted setup, the same guarantees should be made as the trusted setup, but on a peer-to-peer network.
	\end{itemize}
\end{frame}
\begin{frame}{Rationale}
	\begin{itemize}
		\item \textbf{Decentralised} \begin{itemize}
			\item Longer lifespans than centralised platforms.
			\item More resistant to censorship and can help promote anonymity and privacy.
			\item Encourages user freedom.
		\end{itemize}
		\item \textbf{Security} \begin{itemize}
			\item Constantly looking for ways to secure against threats specific to decentralised infrastructures.
			\item Security issues can be devastating even to decentralised infrastructures.
		\end{itemize}
	\end{itemize}
\end{frame}
\begin{frame}{State of the field}
	\begin{itemize}
		\item Private key encryption and signatures.
		\item Additive homomorphic encryption.
		\item \textbf{Monero, Zcash}. Decentralised ledgers respectively using the \textit{Bulletproof} and \textit{ZK-SNARK} zero-knowledge proof systems. \begin{itemize}
			\item ZKP protocols exist for proving properties of Paillier cyphertexts (Ivan Damg\aa rd, Mads Jurik,, Jesper Nielsen).
		\end{itemize}
		\item \textbf{Web platform}. ECMAScript 2019+ \begin{itemize}
			\item Web Locks API.
			\item BigInt API.
		\end{itemize}
	\end{itemize}
\end{frame}
\begin{frame}{Results}
	Emulated P2P environment using WebSockets.
\end{frame}
\begin{frame}{Results}
	Produce shared random values without beacons using commitment schemes.

	\begin{center}
		\begin{tikzpicture}[
			every node/.append style={very thick,rounded corners=0.1mm}
			]
			
			\node[draw,rectangle] (A) at (0,0) {Peer A};
			
			\node[draw,rectangle] (B) at (6,0) {Peer B};
			
			\node[draw=blue!50,rectangle,thick] (NoiseA) at (0,-1) {Generate noise $N_A$, key $k_A$};
			\node[draw=blue!50,rectangle,thick] (NoiseB) at (6,-1) {Generate noise $N_B$, key $k_B$};
			
			\draw [->,very thick] (0,-2)--node [auto] {$E_{k_A}(N_A)$}++(6,0);
			\draw [<-,very thick] (0,-2.75)--node [auto] {$E_{k_B}(N_B)$}++(6,0);
			
			\draw [->,very thick] (0,-4)--node [auto] {$k_A$}++(6,0);
			\draw [<-,very thick] (0,-4.75)--node [auto] {$k_B$}++(6,0);
			
			\node[draw=blue!50,rectangle,thick] (CA) at (0,-5.5) {Compute $N_A + N_B$};
			\node[draw=blue!50,rectangle,thick] (CB) at (6,-5.5) {Compute $N_A + N_B$};
			
			\draw [very thick] (A)-- (NoiseA)-- (CA)-- (0,-5.5);
			\draw [very thick] (B)-- (NoiseB)-- (CB)-- (6,-5.5);
		\end{tikzpicture}
	\end{center}
\end{frame}
\begin{frame}{Results}
	Generating large primes using ECMAScript \texttt{BigInt} and Rabin-Miller.
	\begin{tabular}{cc}
		\includegraphics[width=5cm]{random2048} &   \includegraphics[width=5cm]{carbon} \\
		\multicolumn{2}{c}{\includegraphics[width=65mm]{miller-rabin} }
	\end{tabular}
\end{frame}
\begin{frame}{Results}
	Implementation of the Paillier additive homomorphic cryptosystem.
	\begin{center}
		\includegraphics[width=11cm]{paillier}
	\end{center}
\end{frame}
\begin{frame}{Results}
	Implementation of Risk.
\end{frame}
\begin{frame}{Next steps}
	\begin{itemize}
		\item Zero-knowledge system for fog-of-war.
		\item Reduce issues of players halting play. \begin{itemize}
			\item Handle disconnects.
		\end{itemize}
		\item Check for modular biases.
		\item General analysis.
	\end{itemize}
\end{frame}
\begin{frame}{Citations}
	\textit{Image} Risk game board by CMG Lee, the asterisk denoting the missing link in the 40th Anniversary Collector's Edition, based on shapes from http://commons.wikimedia.org/wiki/File:Risk\_board.svg. 11 November 2008. CC-BY-SA 4.0
\end{frame}
\end{document}
