summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-02-22 13:35:40 +0100
committerFlorian Dold <florian.dold@gmail.com>2019-02-22 13:35:40 +0100
commitb988c1896edd6572c7742a0a46ab9a62f5272b83 (patch)
treec58a64d97c037fb1626db29e7fb68625acb2b5f5
parent09e34d99633ad9fc31dda101fb7fb94d4c6cabe3 (diff)
downloaddold-thesis-phd-b988c1896edd6572c7742a0a46ab9a62f5272b83.tar.gz
dold-thesis-phd-b988c1896edd6572c7742a0a46ab9a62f5272b83.tar.bz2
dold-thesis-phd-b988c1896edd6572c7742a0a46ab9a62f5272b83.zip
slides
-rw-r--r--presentation/slides.tex77
1 files changed, 71 insertions, 6 deletions
diff --git a/presentation/slides.tex b/presentation/slides.tex
index 269927a..4fe658a 100644
--- a/presentation/slides.tex
+++ b/presentation/slides.tex
@@ -269,13 +269,52 @@ Byzantine \emph{Set-Union} Consensus
%----------------------------
\begin{frame}
-\frametitle{How does a payment work?}
+\frametitle{What is happening under the hood?}
+ Setup / Reserve Creation
\begin{enumerate}
- \item Customer creates reserve key pair
+ \item Customer has list of trusted exchange / auditor (= exchange CA) public keys
+ \item Customer downloads latest key material (response signing / denominations) and wire information from exchange
+ \item Customer creates reserve key pair (ephemeral)
\item Customer sends transaction with reserve public key in payment instructions to the exchange
\end{enumerate}
\end{frame}
+\begin{frame}
+\frametitle{What is happening under the hood?}
+ Withdrawal
+ \begin{enumerate}
+ \item Customer creates coin key pair (public key is coin identity, private key used to authorize operations with coin)
+ \item Customer blinds coin public key, sends withdraw request (signed with reserve pub) to exchange
+ \item Exchange signs blinded coin
+ \item Customer unblinds the signature
+ \end{enumerate}
+\end{frame}
+
+\begin{frame}
+\frametitle{What is happening under the hood?}
+ Spending
+ \begin{enumerate}
+ \item Merchant sends signed \emph{contract terms} to customer
+ \item Customer signs contract terms with the private key(s) of the coins used to pay.
+ In each signature, the fraction of the coin spent is specified.
+ \item Merchant receives these signatures in \emph{deposit permissions},
+ with also include the exchange's signatures on the coins and a hash of the contract terms
+ \item Merchant sends deposit permissions to the exchange
+ \item Exchange marks coins as (partially) spent
+ \item Exchange aggregates deposit permissions for some time
+ \item Exchange sends payment (e.g. bank money) to merchant
+ \end{enumerate}
+\end{frame}
+
+\begin{frame}
+\frametitle{What is happening under the hood?}
+ Getting anonymous change
+ \begin{enumerate}
+ \item Customer obtains anonymous coins as change for partially spent coins
+ \item More on details later ...
+ \end{enumerate}
+\end{frame}
+
%----------------------------
\begin{frame}
@@ -402,15 +441,24 @@ $\Rightarrow$ Naive refresh protocol enables tax evasion
\item exchange's bank transactions
\item merchant's deposit (probabilistic selection)
\end{itemize}
+
+ \vfill
+
Compromise Scenarios (simplified):
\begin{itemize}
- \item
+ \item Exchage's signing key compromised $\Rightarrow$
+ \item Exchage's denomination compromised $\Rightarrow$
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Denomination Key Revocation}
+ \begin{itemize}
+ \item
+ \end{itemize}
+
+ $\Rightarrow$ Financial loss of the exchange limited to ???
\end{frame}
%----------------------------
@@ -438,10 +486,22 @@ $\Rightarrow$ Naive refresh protocol enables tax evasion
%----------------------------
-\begin{frame}{Taler Protocols}
+\begin{frame}{Taler Cryptography}
+ We use a few ancient constructions:
+ \begin{itemize}
+ \item Cryptographic hash function (1989)
+ \item Blind signature (1983)
+ \item Schnorr signature (1989)
+ \item Diffie-Hellman key exchange (1976)
+ \item Cut-and-choose zero-knowledge proof (1985)
+ \end{itemize}
+ But of course we use modern instantiations.
\end{frame}
-\begin{frame}{Refresh details}
+\begin{frame}{Refresh Protocol}
+ \begin{itemize}
+ \item Use key exchange
+ \end{itemize}
\end{frame}
%----------------------------
@@ -508,7 +568,12 @@ Additional features (tipping, ...)
\begin{frame}
\frametitle{Alternatives?}
-Talk about web payments.
+W3C Web Payments? No, only concerned with showing payment request in browser UI.
+
+Proprietary Systems?
+
+Blockchain?
+
\end{frame}
%----------------------------