131 lines
4.7 KiB
TeX
131 lines
4.7 KiB
TeX
\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}
|