2023-01-29 16:47:37 +00:00
\documentclass { beamer}
\usetheme { default}
2023-02-18 15:47:19 +00:00
\usepackage { tikz}
2023-02-10 15:47:21 +00:00
\graphicspath { .}
2023-01-29 16:47:37 +00:00
\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}
2023-02-10 15:47:21 +00:00
\begin { center}
\includegraphics [width=6cm] { Risk_ game_ board}
\end { center}
2023-01-29 16:47:37 +00:00
\end { frame}
\begin { frame} { Risk}
\begin { itemize}
\item \textit { Risk} has a variant called "fog of war".
2023-02-10 15:47:21 +00:00
\item In this variant, players can only see the number of troops stationed within regions they neighbour.
2023-01-29 16:47:37 +00:00
\item This variant is therefore only played online, in a \textbf { trusted setup} .
\end { itemize}
2023-02-15 18:00:25 +00:00
\begin { center}
\includegraphics [width=6cm] { fog-of-war}
\end { center}
2023-01-29 16:47:37 +00:00
\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}
2023-02-08 17:55:45 +00:00
\begin { frame} { Rationale}
2023-01-29 16:47:37 +00:00
\begin { itemize}
2023-02-15 18:00:25 +00:00
\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.
2023-01-29 16:47:37 +00:00
\end { itemize}
2023-02-08 17:55:45 +00:00
\item \textbf { Security} \begin { itemize}
2023-02-18 15:47:19 +00:00
\item Constantly looking for ways to secure against threats specific to decentralised infrastructures.
2023-02-08 17:55:45 +00:00
\item Security issues can be devastating even to decentralised infrastructures.
2023-01-29 16:47:37 +00:00
\end { itemize}
\end { itemize}
\end { frame}
2023-02-18 15:47:19 +00:00
\begin { frame} { State of the field}
2023-02-08 17:55:45 +00:00
\begin { itemize}
2023-02-18 15:47:19 +00:00
\item Private key encryption and signatures.
2023-02-08 17:55:45 +00:00
\item Additive homomorphic encryption.
2023-02-18 15:47:19 +00:00
\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}
2023-02-08 17:55:45 +00:00
\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.
2023-02-18 15:47:19 +00:00
\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}
2023-02-08 17:55:45 +00:00
\end { frame}
\begin { frame} { Results}
Generating large primes using ECMAScript \texttt { BigInt} and Rabin-Miller.
2023-02-15 18:00:25 +00:00
\begin { tabular} { cc}
\includegraphics [width=5cm] { random2048} & \includegraphics [width=5cm] { carbon} \\
\multicolumn { 2} { c} { \includegraphics [width=65mm] { miller-rabin} }
\end { tabular}
2023-02-08 17:55:45 +00:00
\end { frame}
\begin { frame} { Results}
Implementation of the Paillier additive homomorphic cryptosystem.
2023-02-15 18:00:25 +00:00
\begin { center}
\includegraphics [width=11cm] { paillier}
\end { center}
2023-02-08 17:55:45 +00:00
\end { frame}
\begin { frame} { Results}
Implementation of Risk.
\end { frame}
2023-02-18 15:47:19 +00:00
\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}
2023-02-10 15:47:21 +00:00
\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}
2023-01-29 16:47:37 +00:00
\end { document}