[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-marketing] branch master updated: add 40m variant fo
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-marketing] branch master updated: add 40m variant for UBS |
Date: |
Wed, 06 Dec 2017 13:46:29 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository marketing.
The following commit(s) were added to refs/heads/master by this push:
new a1beebc add 40m variant for UBS
a1beebc is described below
commit a1beebc4399ae0db3bcb2de26b0b7f6b1c0dfd1f
Author: Christian Grothoff <address@hidden>
AuthorDate: Wed Dec 6 13:46:27 2017 +0100
add 40m variant for UBS
---
presentations/comprehensive/main.tex | 19 +-
presentations/comprehensive/{main.tex => ubs.tex} | 1629 ++++++++++----------
presentations/investors/investors2017ls.tex | 2 +-
.../investors/team-images/christian-grothoff.jpg | Bin 47385 -> 134645 bytes
4 files changed, 835 insertions(+), 815 deletions(-)
diff --git a/presentations/comprehensive/main.tex
b/presentations/comprehensive/main.tex
index 02567b6..92342f5 100644
--- a/presentations/comprehensive/main.tex
+++ b/presentations/comprehensive/main.tex
@@ -132,7 +132,7 @@
\hfill {\bf jeff} \& {\bf sereni-t}} \\
\hfill \{grothoff,jeff,address@hidden }
\end{textblock*}
-
+
\end{frame}
@@ -166,7 +166,7 @@ identity.'' \hfill --Edward Snowden, IETF 93 (2015)
\begin{frame}{The Bank's Problem}
3D secure (``verified by visa'') is a nightmare:
-
+
\begin{minipage}{5cm}
\begin{itemize}
\item Complicated process
@@ -315,14 +315,14 @@ Taler is an electronic instant payment system.
\node (exchange) [def,above=of origin,draw]{Exchange};
\node (customer) [def, draw, below left=of origin] {Customer};
\node (merchant) [def, draw, below right=of origin] {Merchant};
-% \node (auditor) [def, draw, above right=of origin]{Auditor};
+ \node (auditor) [def, draw, above right=of origin]{Auditor};
\tikzstyle{C} = [color=black, line width=1pt]
\draw [<-, C] (customer) -- (exchange) node [midway, above, sloped]
(TextNode) {withdraw coins};
\draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped]
(TextNode) {deposit coins};
\draw [<-, C] (merchant) -- (customer) node [midway, above, sloped]
(TextNode) {spend coins};
-% \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped]
(TextNode) {verify};
+ \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode)
{verify};
\end{tikzpicture}
\end{center}
@@ -346,7 +346,7 @@ Taler is an electronic instant payment system.
\url{https://demo.taler.net/}
\end{center}
\begin{enumerate}
- \item Install Chrome extension.
+ \item Install browser extension.
\item Visit the {\tt bank.demo.taler.net} to withdraw coins.
\item Visit the {\tt shop.demo.taler.net} to spend coins.
\end{enumerate}
@@ -382,12 +382,12 @@ Taler is an electronic instant payment system.
\begin{frame}{Use Cases: Refugee Camps}
Today:
\begin{itemize}
- \item Non-bankable
+ \item Non-bankable
\item Direct distribution of goods to population
\item Limited economic activity in camps
\item High level of economic dependence
\end{itemize}\vfill\pause
- With GNU Taler:
+ With GNU Taler:
\begin{itemize}
\item Local currency issued as basic income backed by aid
\item Taxation possible based on economic status
@@ -411,7 +411,7 @@ Taler is an electronic instant payment system.
\item If unsolicited sender, hide messages from user \&
automatically request payment from sender
\item Sender can attach payment to be moved to inbox
- \item Receiver may grant refund to sender
+ \item Receiver may grant refund to sender
\end{itemize}
\end{frame}
@@ -1166,7 +1166,7 @@ But of course we use modern instantiations.
\item Join: \href{https://lists.gnu.org/mailman/listinfo/address@hidden,
\href{irc://irc.freenode.net/\#taler}{\#taler}
\item Coding \& design: \url{https://gnunet.org/bugs/}
\item Translation:
\url{https://git.taler.net/www.git/tree/locale/fr/LC_MESSAGES/messages.po}
- \item Integration: \url{https://docs.taler.net/}
+ \item Integration: \url{https://docs.taler.net/}
\item Donations: \url{https://gnunet.org/ev}
\item Funding: \url{https://taler.net/en/investors.html}
\end{itemize}
@@ -1610,4 +1610,3 @@ Merchant and exchange see only the public coin $\langle
C, S_{DK}(C) \rangle$.
}
\end{center}
\end{frame}
-
diff --git a/presentations/comprehensive/main.tex
b/presentations/comprehensive/ubs.tex
similarity index 95%
copy from presentations/comprehensive/main.tex
copy to presentations/comprehensive/ubs.tex
index 02567b6..87297d7 100644
--- a/presentations/comprehensive/main.tex
+++ b/presentations/comprehensive/ubs.tex
@@ -118,55 +118,25 @@
% \includegraphics[width=0.66\textwidth]{logo-2017-fr.pdf}
\includegraphics[width=0.66\textwidth]{../investors/taler-logo-2017.pdf}
\end{center}
-\begin{textblock*}{4cm}(.5cm,6.5cm) % {block width} (coords)
+\begin{textblock*}{4cm}(.5cm,8.2cm) % {block width} (coords)
{\Large {\bf \url{taler.net}} \\
- IRC{\bf \#taler} \\
- {\small (on freenode)} \\
- address@hidden \\
- address@hidden }
+ address@hidden }
\end{textblock*}
% Substitute based on who is giving the talk!
- \begin{textblock*}{6cm}(6.7cm,7.7cm) % {block width} (coords)
- {\hfill {\Large {\bf grothoff \&} \\
- \hfill {\bf jeff} \& {\bf sereni-t}} \\
- \hfill \{grothoff,jeff,address@hidden }
+ \begin{textblock*}{6cm}(6.7cm,8.2cm) % {block width} (coords)
+ {\hfill {\Large {\bf Christian Grothoff}} \\
+ \hfill address@hidden }
\end{textblock*}
-
-\end{frame}
-
-
-\begin{frame}{A Social Problem}
-% \vfill
- This was a question posed to RAND researchers in 1971:
-
-\begin{quote}
- ``Suppose you were an advisor to the head of the KGB, the Soviet Secret
Police. Suppose you are given the assignment of designing a system for the
surveillance of all citizens and visitors within the boundaries of the USSR.
The system is not to be too obtrusive or obvious. What would be your decision?''
-\end{quote}
-%The result: an electronic funds transfer system that looks
-%strikingly similar today's debit card system.
-\pause
- \begin{center}
- \Large \textbf{Mastercard/Visa are too transparent.}
- \end{center}
-\vfill
- \begin{center}
-``I think one of the big things that we need to do, is we need
-to get a way from true-name payments on the Internet. The credit
-card payment system is one of the worst things that happened for the
-user, in terms of being able to divorce their access from their
-identity.'' \hfill --Edward Snowden, IETF 93 (2015)
-\end{center}
\end{frame}
-
-\section{The Bank's Problem}
-\begin{frame}{The Bank's Problem}
+\section{The Bank's Online Payment Problem}
+\begin{frame}{The Bank's Online Payment Problem}
3D secure (``verified by visa'') is a nightmare:
-
+
\begin{minipage}{5cm}
\begin{itemize}
\item Complicated process
@@ -185,7 +155,7 @@ identity.'' \hfill --Edward Snowden, IETF 93 (2015)
\end{frame}
-\begin{frame}{The Bank's Problem}
+\begin{frame}{The Bank's Online Payment Problem}
\vfill
\begin{textblock*}{12cm}(0.5cm,1cm) % {block width} (coords)
\begin{itemize}
@@ -315,14 +285,14 @@ Taler is an electronic instant payment system.
\node (exchange) [def,above=of origin,draw]{Exchange};
\node (customer) [def, draw, below left=of origin] {Customer};
\node (merchant) [def, draw, below right=of origin] {Merchant};
-% \node (auditor) [def, draw, above right=of origin]{Auditor};
+ \node (auditor) [def, draw, above right=of origin]{Auditor};
\tikzstyle{C} = [color=black, line width=1pt]
\draw [<-, C] (customer) -- (exchange) node [midway, above, sloped]
(TextNode) {withdraw coins};
\draw [<-, C] (exchange) -- (merchant) node [midway, above, sloped]
(TextNode) {deposit coins};
\draw [<-, C] (merchant) -- (customer) node [midway, above, sloped]
(TextNode) {spend coins};
-% \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped]
(TextNode) {verify};
+ \draw [<-, C] (exchange) -- (auditor) node [midway, above, sloped] (TextNode)
{verify};
\end{tikzpicture}
\end{center}
@@ -346,7 +316,7 @@ Taler is an electronic instant payment system.
\url{https://demo.taler.net/}
\end{center}
\begin{enumerate}
- \item Install Chrome extension.
+ \item Install Browser extension.
\item Visit the {\tt bank.demo.taler.net} to withdraw coins.
\item Visit the {\tt shop.demo.taler.net} to spend coins.
\end{enumerate}
@@ -354,13 +324,6 @@ Taler is an electronic instant payment system.
\end{frame}
-\begin{frame}{Social Impact of Taler}
- \begin{center}
- \includegraphics[height=0.8\textheight]{../../social-impact.pdf}
- \end{center}
-\end{frame}
-
-
\begin{frame}{Use Case: Journalism}
Today:
\begin{itemize}
@@ -382,12 +345,12 @@ Taler is an electronic instant payment system.
\begin{frame}{Use Cases: Refugee Camps}
Today:
\begin{itemize}
- \item Non-bankable
+ \item Non-bankable
\item Direct distribution of goods to population
\item Limited economic activity in camps
\item High level of economic dependence
\end{itemize}\vfill\pause
- With GNU Taler:
+ With GNU Taler:
\begin{itemize}
\item Local currency issued as basic income backed by aid
\item Taxation possible based on economic status
@@ -411,11 +374,18 @@ Taler is an electronic instant payment system.
\item If unsolicited sender, hide messages from user \&
automatically request payment from sender
\item Sender can attach payment to be moved to inbox
- \item Receiver may grant refund to sender
+ \item Receiver may grant refund to sender
\end{itemize}
\end{frame}
+\begin{frame}{Social Impact of Taler}
+ \begin{center}
+ \includegraphics[height=0.8\textheight]{../../social-impact.pdf}
+ \end{center}
+\end{frame}
+
+
\begin{frame}{Taxability}
We say Taler is taxable because:
\begin{itemize}
@@ -423,11 +393,11 @@ Taler is an electronic instant payment system.
\item Hash of contract is part of deposit data.
\item State can trace income and enforce taxation.
\end{itemize}\pause
- Limitations:
- \begin{itemize}
- \item withdraw loophole
- \item {\em sharing} coins among family and friends
- \end{itemize}
+% Limitations:
+% \begin{itemize}
+% \item withdraw loophole
+% \item {\em sharing} coins among family and friends
+% \end{itemize}
\end{frame}
@@ -759,855 +729,906 @@ But of course we use modern instantiations.
\end{frame}
-\begin{frame}{Diffie-Hellman (ECDH)}
- \begin{minipage}{8cm}
- \begin{enumerate}
- \item Create private keys $c,t \mod o$
- \item Define $C = cG$
- \item Define $T = tG$
- \item Compute DH \\ $cT = c(tG) = t(cG) = tC$
- \end{enumerate}
- \end{minipage}
- \begin{minipage}{6cm}
- \begin{tikzpicture}
- \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (t) [def, draw=none] at (0,0) {$t$};
- \node (ct) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{dh.pdf}};
- \node (c) [def, draw=none, above left= of ct] {$c$};
- \tikzstyle{C} = [color=black, line width=1pt]
-
- \draw [<-, C] (ct) -- (c) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (ct) -- (t) node [midway, above, sloped] (TextNode) {};
- \end{tikzpicture}
- \end{minipage}
+\begin{frame}{Refresh protocol}
+ \begin{itemize}
+ \item Customer asks exchange to convert old coin to new coin
+ \item Protocol ensures new coins can be recovered from old coin
+ \item[$\Rightarrow$] New coins are owned by the same entity!
+ \end{itemize}
+ Thus, the refresh protocol (details in paper) allows:
+ \begin{itemize}
+ \item To give unlinkable change.
+ \item To give refunds to an anonymous customer.
+ \item To expire old keys and migrate coins to new ones.
+ \item To handle protocol aborts.
+ \end{itemize}
+ \noindent
+% \begin{center}
+% \bf
+% Transactions via refresh are equivalent to {\em sharing} a wallet.
+%\end{center}
\end{frame}
-\begin{frame}{Strawman solution}
- \begin{minipage}{8cm}
- Given partially spent private coin key $c_{old}$:
- \begin{enumerate}
-% \item Let $C_{old} := c_{old}G$ (as before)
- \item Pick random $c_{new} \mod o$ private key
- \item $C_{new} = c_{new}G$ public key
- \item Pick random $b_{new}$
- \item Compute $f_{new} := FDH(C_{new})$, $m < n$.
- \item Transmit $f'_{new} := f_{new} b_{new}^e \mod n$
- \end{enumerate}
- ... and sign request for change with $c_{old}$.
- \end{minipage}
- \begin{minipage}{4cm}
- \begin{tikzpicture}
- \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (blinded) [def,
draw=none]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
- \node (planchet) [def, draw=none, above left= of blinded]
{\includegraphics[width=0.15\textwidth]{planchet.pdf}};
- \node (cnew) [def, draw=none, above= of planchet] {$c_{new}$};
- \node (bnew) [def, draw=none, above right= of blinded] {$b_{new}$};
- \node (dice1) [def, draw=none, above = of
cnew]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
- \node (dice2) [def, draw=none, above = of
bnew]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
- \node (exchange) [node distance=4em and 0.5em, draw, below =of
blinded]{Exchange};
+\section{Competitor analysis}
+\begin{frame}{Competitor comparison}
+ \begin{center} \small
+ \begin{tabular}{l||c|c|c|c|c}
+ & Cash & Bitcoin & Zerocoin & Creditcard & GNU Taler \\ \hline
\hline
+ Online &$-$$-$$-$ & ++ & ++ & + & +++ \\ \hline
+ Offline & +++ & $-$$-$ & $-$$-$ & + & $-$$-$
\\ \hline
+ Trans. cost & + & $-$$-$$-$ & $-$$-$$-$ & $-$ & ++ \\
\hline
+ Speed & + & $-$$-$$-$ & $-$$-$$-$ & o & ++ \\
\hline
+ Taxation & $-$ & $-$$-$ & $-$$-$$-$ & +++ & +++ \\
\hline
+ Payer-anon & ++ & o & ++ & $-$$-$$-$ & +++ \\ \hline
+ Payee-anon & ++ & o & ++ & $-$$-$$-$ & $-$$-$$-$ \\
\hline
+ Security & $-$ & o & o & $-$$-$ & ++ \\
\hline
+ Conversion & +++ & $-$$-$$-$ & $-$$-$$-$ & +++ & +++ \\
\hline
+ Libre & $-$ & +++ & +++ & $-$ $-$ $-$ & +++ \\
+ \end{tabular}
+ \end{center}
+\end{frame}
- \tikzstyle{C} = [color=black, line width=1pt]
- \draw [<-, C] (cnew) -- (dice1) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (planchet) -- (cnew) node [midway, above, sloped] (TextNode)
{};
- \draw [<-, C] (bnew) -- (dice2) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (planchet) node [midway, above, sloped]
(TextNode) {};
- \draw [<-, C] (blinded) -- (bnew) node [midway, above, sloped] (TextNode)
{};
- \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped]
(TextNode) {{\small transmit}};
- \end{tikzpicture}
- \end{minipage}
- \pause
+\begin{frame}{How to support?}
+ \begin{itemize}
+ \item Join: \href{https://lists.gnu.org/mailman/listinfo/address@hidden,
\href{irc://irc.freenode.net/\#taler}{\#taler}
+ \item Coding \& design: \url{https://gnunet.org/bugs/}
+ \item Translation:
\url{https://git.taler.net/www.git/tree/locale/fr/LC_MESSAGES/messages.po}
+ \item Integration: \url{https://docs.taler.net/}
+ \item Donations: \url{https://gnunet.org/ev}
+ \item Funding: \url{https://taler.net/en/investors.html}
+ \end{itemize}
\vfill
- {\bf Problem: Owner of $c_{new}$ may differ from owner of $c_{old}$!}
+ \begin{center}
+ {\bf And of course we are looking for banks as partners!}
+ \end{center}
\end{frame}
-\begin{frame}{Customer: Transfer key setup (ECDH)}
- \begin{minipage}{8cm}
- Given partially spent private coin key $c_{old}$:
- \begin{enumerate}
- \item Let $C_{old} := c_{old}G$ (as before)
- \item Create random private transfer key $t \mod o$
- \item Compute $T := tG$
- \item Compute $X := c_{old}(tG) = t(c_{old}G) = tC_{old}$
- \item Derive $c_{new}$ and $b_{new}$ from $X$
- \item Compute $C_{new} := c_{new}G$
- \item Compute $f_{new} := FDH(C_{new})$
- \item Transmit $f_{new}' := f_{new} b_{new}^e$
- \end{enumerate}
- \end{minipage}
- \begin{minipage}{4cm}
- \begin{tikzpicture}
- \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (t) [def, draw=none] at (0,0) {$t$};
- \node (dice) [def, draw=none, above = of
t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
- \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
- \node (d) [def, draw=none, above left= of dh] {$c_{old}$};
- \node (cp) [def, draw=none, below left= of dh] {$c_{new}$};
- \node (bp) [def, draw=none, below right= of dh] {$b_{new}$};
- \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
- \node (exchange) [node distance=4em and 0.5em, draw, below =of
blinded]{Exchange};
+\begin{frame}
+ \frametitle{Team \hfill \& \hfill Advisory Board \hfill}
+ \begin{minipage}{5cm}
+ \begin{description}
+ \item[Leon Schumacher]\ \\ co-founder
+ \item[Dr. Christian Grothoff]\ \\ co-founder
+ \item[Michael Widmer]\ \\ Jurist
+ \item[Dr. Jeff Burdges]\ \\ PostDoc
+ \item[Florian Dold]\ \\ PhD Student
+ \end{description}
+
+\end{minipage}
+ \begin{minipage}{5.5cm}
+ {\tiny
+\begin{description}
+ \item[Prof. Mikhail Atallah] \ \\
+ Cryptographer, co-founder
+ Arxan Technologies Inc.
+ \item[Prof. Roberto Di Cosmo] \ \\
+ Director IRILL
+ \item[Greg Framke] \ \\
+ CIO Manulife, \\
+ former COO Etrade
+ \item[Ante Gulam] \ \\
+ Global Head of Information Security --- CISO \\
+ MetaPack Group
+ \item[Dr. Richard Stallman]\ \\
+ Founder of the \\ \mbox{Free Software movement}
+ \item[Chris Pagett] \ \\
+ former Group Head Security/ \ \\
+ Fraud/Geo Risk HSBC
+ \item[Prof. Alex Pentland] \ \\
+ MIT Media Lab
+\end{description}
+}
+\end{minipage}
+\vfill
+\includegraphics[height=0.1\textwidth]{../investors/team-images/leon-schumacher.jpg}
\hfill
+\includegraphics[height=0.1\textwidth]{../investors/team-images/christian-grothoff.jpg}\hfill
+\includegraphics[height=0.1\textwidth]{../investors/team-images/cristina-onete.jpg}\hfill
+\includegraphics[height=0.1\textwidth]{../investors/team-images/jeff-burdges.jpg}\hfill
+\includegraphics[height=0.1\textwidth]{../investors/team-images/florian-dold.jpg}\hfill
+\includegraphics[height=0.1\textwidth]{../investors/board-images/mja.jpg}
\hfill
+\includegraphics[height=0.1\textwidth]{../investors/board-images/roberto-di-cosmo.jpg}
\hfill
+\includegraphics[height=0.1\textwidth]{../investors/board-images/greg-framke.jpg}
\hfill
+\includegraphics[height=0.1\textwidth]{../investors/board-images/ante-gulam.jpg}
\hfill
+\includegraphics[height=0.1\textwidth]{../investors/board-images/alex-pentland.jpg}
+%\note{Advisory board still under construction.}
+\end{frame}
- \tikzstyle{C} = [color=black, line width=1pt]
- \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped]
(TextNode) {{\small transmit}};
- \end{tikzpicture}
- \end{minipage}
+\begin{frame}{Conclusion}
+ \begin{center}
+ {\bf What can we do?}
+ \end{center}
+ \vfill
+\begin{itemize}
+ \item{Suffer mass-surveillance enabled by credit card oligopolies with high
fees, and}
+ \item{Engage in arms race with deliberately unregulatable blockchains, and}
+ \item{Enjoy the ``benefits'' of cash \\
+ \hfill \includegraphics[height=0.3\textheight]{atm-rupee.jpg} \hfill}
+\end{itemize}
+\vfill
+\begin{center}
+ {\bf OR}
+\end{center}
+\vfill
+\begin{itemize}
+ \item{Establish free software alternative balancing social goals!}
+\end{itemize}
+\vfill
\end{frame}
-\begin{frame}{Cut-and-Choose}
- \begin{minipage}{4cm}
- \begin{tikzpicture}
- \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (t) [def, draw=none] at (0,0) {$t_1$};
- \node (dice) [def, draw=none, above = of
t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
- \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
- \node (d) [def, draw=none, above left= of dh] {$c_{old}$};
- \node (cp) [def, draw=none, below left= of dh] {$c_{new,1}$};
- \node (bp) [def, draw=none, below right= of dh] {$b_{new,1}$};
- \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
- \node (exchange) [node distance=4em and 0.5em, draw, below =of
blinded]{Exchange};
+\begin{frame}
+\frametitle{Do you have any questions?}
+\vfill
+References:
+{\tiny
+ \begin{enumerate}
+ \item{Christian Grothoff, Bart Polot and Carlo von Loesch.
+ {\em The Internet is broken: Idealistic Ideas for Building a GNU
Network}.
+ {\bf W3C/IAB Workshop on Strengthening the Internet Against Pervasive
Monitoring (STRINT)}, 2014.}
+ \item{Jeffrey Burdges, Florian Dold, Christian Grothoff and Marcello Stanisci.
+ {\em Enabling Secure Web Payments with GNU Taler}.
+ {\bf SPACE 2016}.}
+ \item{Florian Dold, Sree Harsha Totakura, Benedikt M\"uller, Jeffrey Burdges
and Christian Grothoff.
+ {\em Taler: Taxable Anonymous Libre Electronic Reserves}.
+ Available upon request. 2016.}
+ \item{Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian
Miers, Eran Tromer and Madars Virza.
+ {\em Zerocash: Decentralized Anonymous Payments from Bitcoin}.
+ {\bf IEEE Symposium on Security \& Privacy, 2016}.}
+ \item{David Chaum, Amos Fiat and Moni Naor.
+ {\em Untraceable electronic cash}.
+ {\bf Proceedings on Advances in Cryptology, 1990}.}
+ \item{Phillip Rogaway.
+ {\em The Moral Character of Cryptographic Work}.
+ {\bf Asiacrypt}, 2015.} \label{bib:rogaway}
+\end{enumerate}
+}
+\begin{center}
+ {\bf Let money facilitate trade; but ensure capital serves society.}
+\end{center}
+\end{frame}
- \tikzstyle{C} = [color=black, line width=1pt]
- \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped]
(TextNode) {{\small transmit}};
- \end{tikzpicture}
- \end{minipage}
- \begin{minipage}{4cm}
- \begin{tikzpicture}
- \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (t) [def, draw=none] at (0,0) {$t_2$};
- \node (dice) [def, draw=none, above = of
t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
- \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
- \node (d) [def, draw=none, above left= of dh] {$c_{old}$};
- \node (cp) [def, draw=none, below left= of dh] {$c_{new,2}$};
- \node (bp) [def, draw=none, below right= of dh] {$b_{new,2}$};
- \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
- \node (exchange) [node distance=4em and 0.5em, draw, below =of
blinded]{Exchange};
- \tikzstyle{C} = [color=black, line width=1pt]
- \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped]
(TextNode) {{\small transmit}};
- \end{tikzpicture}
- \end{minipage}
- \begin{minipage}{4cm}
- \begin{tikzpicture}
- \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (t) [def, draw=none] at (0,0) {$t_3$};
- \node (dice) [def, draw=none, above = of
t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
- \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
- \node (d) [def, draw=none, above left= of dh] {$c_{old}$};
- \node (cp) [def, draw=none, below left= of dh] {$c_{new,3}$};
- \node (bp) [def, draw=none, below right= of dh] {$b_{new,3}$};
- \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
- \node (exchange) [node distance=4em and 0.5em, draw, below =of
blinded]{Exchange};
-
- \tikzstyle{C} = [color=black, line width=1pt]
+\end{document}
- \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped]
(TextNode) {{\small transmit}};
- \end{tikzpicture}
- \end{minipage}
-\end{frame}
-\begin{frame}{Exchange: Choose!}
- \begin{center}
- \item Exchange sends back random $\gamma \in \{ 1, 2, 3 \}$ to the
customer.
- \end{center}
-\end{frame}
+\begin{frame}{Taler {\tt /withdraw/sign}}
+% Customer withdrawing coins with blind signatures
+% \bigskip
+ \begin{figure}[th]
+ \begin{minipage}[b]{0.45\linewidth}
+ \begin{center}
+ \begin{tikzpicture}[scale = 0.4,
+ transform shape,
+ msglabel/.style = { text = Black, yshift = .3cm,
+ sloped, midway },
+ okmsg/.style = { ->, color = MidnightBlue, thick,
+ >=stealth },
+ rstmsg/.style = { ->, color = BrickRed, thick,
+ >=stealth }
+ ]
+ \node[draw = MidnightBlue,
+ fill = CornflowerBlue,
+ minimum width = .3cm,
+ minimum height = 10cm
+ ] (h1) at (-4, 0) {};
+ \node[draw = MidnightBlue,
+ fill = CornflowerBlue,
+ minimum width = .3cm,
+ minimum height = 10cm
+ ] (h2) at (4, 0) {};
+ \node[above = 0cm of h1] {Wallet};
+ \node[above = 0cm of h2] {Exchange};
-\begin{frame}{Customer: Reveal}
- \begin{enumerate}
- \item If $\gamma = 1$, send $t_2$, $t_3$ to exchange
- \item If $\gamma = 2$, send $t_1$, $t_3$ to exchange
- \item If $\gamma = 3$, send $t_1$, $t_2$ to exchange
- \end{enumerate}
+ \path[->, color = MidnightBlue, very thick, >=stealth]
+ (-5, 4.5) edge
+ node[rotate=90, text = Black, yshift = .3cm] {Time}
+ (-5, -4.5);
+ \path[okmsg, dashed]
+ ($(h1.east)+(0, 4.0)+(0, -1.0)$) edge
+ node[msglabel] {SEPA(RK,A)}
+ ($(h2.west)+(0, 3.5)+(0, -1.0)$);
+ \path[okmsg]
+ ($(h1.east)+(0, -1.0)$) edge
+ node[msglabel] {POST {\tt /withdraw/sign} $S_{RK}(DK, B_b(C))$}
+ ($(h2.west)+(0, -1.5)$);
+ \path[okmsg]
+ ($(h2.west)+(0, -2.0)$) edge
+ node[msglabel] {200 OK: $S_{DK}(B_b(C))$)}
+ ($(h1.east)+(0, -2.5)$);
+ \path[rstmsg]
+ ($(h2.west)+(0, -3.5)$) edge
+ node[msglabel] {402 PAYMENT REQUIRED: $S_{RK}(DK, B_b(C))$)}
+ ($(h1.east)+(0, -4)$);
+ \node at (5.3, 0) {};
+ \end{tikzpicture}
+ \end{center}
+ Result: $\langle c, S_{DK}(C) \rangle$.
+ \end{minipage}
+ \hspace{0.5cm}
+ \begin{minipage}[b]{0.45\linewidth}
+ \tiny
+ \begin{description}
+ \item[$A$] Some amount, $A \ge A_{DK}$
+ \item[$RK$] Reserve key
+ \item[$DK$] Denomination key
+ \item[$b$] Blinding factor
+ \item[$B_b()$] RSA-FDH blinding % DK supressed
+ \item[$C$] Coin public key $C := cG$
+ \item[$S_{RK}()$] EdDSA signature
+ \item[$S_{DK}()$] RSA-FDH signature
+ \end{description}
+ \end{minipage}
+ \end{figure}
\end{frame}
-\begin{frame}{Exchange: Verify ($\gamma = 2$)}
- \begin{minipage}{4cm}
- \begin{tikzpicture}
- \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (h) [def, draw=none] at (0,0) {$t_1$};
- \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
- \node (d) [def, draw=none, above left= of dh] {$C_{old}$};
- \node (cp) [def, draw=none, below left= of dh] {$c_{new,1}$};
- \node (bp) [def, draw=none, below right= of dh] {$b_{new,1}$};
- \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
-
- \tikzstyle{C} = [color=black, line width=1pt]
-
- \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (dh) -- (h) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
- \end{tikzpicture}
- \end{minipage}
- \begin{minipage}{4cm}
- \
- \end{minipage}
- \begin{minipage}{4cm}
- \begin{tikzpicture}
- \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (h) [def, draw=none] at (0,0) {$t_3$};
- \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
- \node (d) [def, draw=none, above left= of dh] {$C_{old}$};
- \node (cp) [def, draw=none, below left= of dh] {$c_{new,3}$};
- \node (bp) [def, draw=none, below right= of dh] {$b_{new,3}$};
- \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
-
- \tikzstyle{C} = [color=black, line width=1pt]
+\begin{frame}[t]{Taler {\tt /deposit}}
+Merchant and exchange see only the public coin $\langle C, S_{DK}(C) \rangle$.
+\bigskip
+ \begin{figure}[th]
+ \begin{minipage}[b]{0.45\linewidth}
+ \begin{center}
+ \begin{tikzpicture}[scale = 0.4,
+ transform shape,
+ msglabel/.style = { text = Black, yshift = .3cm,
+ sloped, midway },
+ okmsg/.style = { ->, color = MidnightBlue, thick,
+ >=stealth },
+ rstmsg/.style = { ->, color = BrickRed, thick,
+ >=stealth }
+ ]
+ \node[draw = MidnightBlue,
+ fill = CornflowerBlue,
+ minimum width = .3cm,
+ minimum height = 10cm
+ ] (h1) at (-4, 0) {};
+ \node[draw = MidnightBlue,
+ fill = CornflowerBlue,
+ minimum width = .3cm,
+ minimum height = 10cm
+ ] (h2) at (4, 0) {};
+ \node[above = 0cm of h1] {Merchant};
+ \node[above = 0cm of h2] {Exchange};
- \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (dh) -- (h) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
- \end{tikzpicture}
- \end{minipage}
+ \path[->, color = MidnightBlue, very thick, >=stealth]
+ (-5, 4.5) edge
+ node[rotate=90, text = Black, yshift = .3cm] {Time}
+ (-5, -4.5);
+ \path[->, color = MidnightBlue, thick, >=stealth]
+ ($(h1.east)+(0,3)$) edge
+ node[text = Black, yshift = .3cm, sloped] {POST {\tt /deposit}
$S_{DK}(C), S_{c}(D)$}
+ ($(h2.west)+(0,2)$);
+ \path[->, color = MidnightBlue, thick, >=stealth]
+ ($(h2.west)+(0,0.5)$) edge
+ node[text = Black, yshift = .3cm, sloped] {200 OK:
$S_{SK}(S_{c}(D))$}
+ ($(h1.east)+(0,-0.5)$);
+ \path[rstmsg]
+ ($(h2.west)+(0, -2.5)$) edge
+ node[msglabel] {409 CONFLICT: $S_{c}(D')$}
+ ($(h1.east)+(0, -3.5)$);
+ \node at (5.3, 0) {};
+ \end{tikzpicture}
+ \end{center}
+ \end{minipage}
+ \hspace{0.5cm}
+ \begin{minipage}[b]{0.45\linewidth}
+ \tiny
+ \begin{description}
+ \item[$DK$] Denomination key
+ \item[$S_{DK}()$] RSA-FDH signature using $DK$
+ \item[$c$] Private coin key, $C := cG$.
+ \item[$S_{C}()$] EdDSA signature using $c$
+ \item[$D$] Deposit details
+ \item[$SK$] Exchange's signing key
+ \item[$S_{SK}()$] EdDSA signature using $SK$
+ \item[$D'$] Conficting deposit details $D' \not= D$
+ \end{description}
+ \end{minipage}
+ \end{figure}
\end{frame}
-\begin{frame}{Exchange: Blind sign change (RSA)}
- \begin{minipage}{6cm}
- \begin{enumerate}
- \item Take $f_{new,\gamma}'$.
- \item Compute $s' := f_{new,\gamma}'^d \mod n$.
- \item Send signature $s'$.
- \end{enumerate}
- \end{minipage}
- \begin{minipage}{6cm}
- \begin{tikzpicture}
- \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (hammer) [def, draw=none] at (0,0)
{\includegraphics[width=0.15\textwidth]{hammer.pdf}};
- \node (signed) [def, draw=none, below left=of
hammer]{\includegraphics[width=0.2\textwidth]{sign.pdf}};
- \node (blinded) [def, draw=none, above left=of
signed]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
- \node (customer) [node distance=4em and 0.5em, draw, below =of
signed]{Customer};
- \tikzstyle{C} = [color=black, line width=1pt]
+\begin{frame}{Taler {\tt /refresh/melt}}
+ \begin{figure}[th]
+ \begin{minipage}[b]{0.45\linewidth}
+ \begin{center}
+ \begin{tikzpicture}[scale = 0.4,
+ transform shape,
+ msglabel/.style = { text = Black, yshift = .3cm,
+ sloped, midway },
+ okmsg/.style = { ->, color = MidnightBlue, thick,
+ >=stealth },
+ rstmsg/.style = { ->, color = BrickRed, thick,
+ >=stealth }
+ ]
+ \node[draw = MidnightBlue,
+ fill = CornflowerBlue,
+ minimum width = .3cm,
+ minimum height = 10cm
+ ] (h1) at (-4, 0) {};
+ \node[draw = MidnightBlue,
+ fill = CornflowerBlue,
+ minimum width = .3cm,
+ minimum height = 10cm
+ ] (h2) at (4, 0) {};
+ \node[above = 0cm of h1] {Customer};
+ \node[above = 0cm of h2] {Exchange};
- \draw [<-, C] (signed) -- (hammer) node [midway, above, sloped] (TextNode)
{};
- \draw [<-, C] (signed) -- (blinded) node [midway, above, sloped]
(TextNode) {};
- \draw [<-, C] (customer) -- (signed) node [midway, above, sloped]
(TextNode) {{\small transmit}};
- \end{tikzpicture}
- \end{minipage}
+ \path[->, color = MidnightBlue, very thick, >=stealth]
+ (-5, 4.5) edge
+ node[rotate=90, text = Black, yshift = .3cm] {Time}
+ (-5, -4.5);
+ \path[->, color = MidnightBlue, thick, >=stealth]
+ ($(h1.east)+(0,3)$) edge
+ node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/melt}
$S_{DK}(C), S_c({\cal DK}, {\cal T},{\cal B})$}
+ ($(h2.west)+(0,2)$);
+ \path[->, color = MidnightBlue, thick, >=stealth]
+ ($(h2.west)+(0,0.5)$) edge
+ node[text = Black, yshift = .3cm, sloped] {200 OK: $S_{SK}(H({\cal
T}, {\cal B}),\gamma)$}
+ ($(h1.east)+(0,-0.5)$);
+ \path[rstmsg]
+ ($(h2.west)+(0, -2.5)$) edge
+ node[msglabel] {409 CONFLICT: $S_{C}(X), \ldots$}
+ ($(h1.east)+(0, -3.5)$);
+ \node at (5.3, 0) {};
+ \end{tikzpicture}
+ \end{center}
+ \end{minipage}
+ \hspace{0.5cm}
+ \begin{minipage}[b]{0.45\linewidth}
+ \tiny
+ \begin{description}
+ \item[$\kappa$] System-wide security parameter, usually 3.
+ \\ \smallskip
+ \item[$\cal DK$] $:= [DK^{(i)}]_i$ \\ List of denomination keys \\
+ $D + \sum_i A_{DK^{(i)}} < A_{DK}$
+ \item[$t_j$] Random scalar for $j<\kappa$
+ \item[${\cal T}$] $:= [T_j]_\kappa$ where $T_j = t_j G$
+ \item[$k_j$] $:= c T_j = t_j C$ is an ECDHE
+ \item[$b_j^{(i)}$] $:= KDF_b(k_j,i)$ % blinding factor
+ \item[$c_j^{(i)}$] $:= KDF_c(k_j,i)$ % coin secret keys
+ \item[$C_j^{(i)}$] $: = c_j^{(i)} G$ % new coin publics % keys
+ \item[${\cal B}$] $:= [H( \beta_j )]_\kappa$ where \\
+ $\beta_j := \left[ B_{b_j^{(i)}}(C_j^{(i)}) \right]_i$
+ \\ \smallskip
+ \item[$\gamma$] Random value in $[0,\kappa)$
+% \\ \smallskip
+% \item[$X$] Deposit or refresh
+ \end{description}
+ \end{minipage}
+ \end{figure}
\end{frame}
-\begin{frame}{Customer: Unblind change (RSA)}
- \begin{minipage}{6cm}
+\begin{frame}{Taler {\tt /refresh/reveal}}
+ \begin{figure}[th]
+ \begin{minipage}[b]{0.45\linewidth}
+ \begin{center}
+ \begin{tikzpicture}[scale = 0.4,
+ transform shape,
+ msglabel/.style = { text = Black, yshift = .3cm,
+ sloped, midway },
+ okmsg/.style = { ->, color = MidnightBlue, thick,
+ >=stealth },
+ rstmsg/.style = { ->, color = BrickRed, thick,
+ >=stealth }
+ ]
+ \node[draw = MidnightBlue,
+ fill = CornflowerBlue,
+ minimum width = .3cm,
+ minimum height = 10cm
+ ] (h1) at (-4, 0) {};
+ \node[draw = MidnightBlue,
+ fill = CornflowerBlue,
+ minimum width = .3cm,
+ minimum height = 10cm
+ ] (h2) at (4, 0) {};
+ \node[above = 0cm of h1] {Customer};
+ \node[above = 0cm of h2] {Exchange};
+
+ \path[->, color = MidnightBlue, very thick, >=stealth]
+ (-5, 4.5) edge
+ node[rotate=90, text = Black, yshift = .3cm] {Time}
+ (-5, -4.5);
+ \path[->, color = MidnightBlue, thick, >=stealth]
+ ($(h1.east)+(0,3)$) edge
+ node[text = Black, yshift = .3cm, sloped] {POST {\tt
/refresh/reveal} $H({\cal T}, {\cal B}), {\tilde{\cal T}}, \beta_\gamma$}
+ ($(h2.west)+(0,2)$);
+ \path[->, color = MidnightBlue, thick, >=stealth]
+ ($(h2.west)+(0,0.5)$) edge
+ node[text = Black, yshift = .3cm, sloped] {200 OK: $\cal S$}
+ ($(h1.east)+(0,-0.5)$);
+ \path[rstmsg]
+ ($(h2.west)+(0, -2.5)$) edge
+ node[msglabel] {400 BAD REQUEST: $Z$}
+ ($(h1.east)+(0, -3.5)$);
+ \node at (5.3, 0) {};
+ \end{tikzpicture}
+ \end{center}
+ \end{minipage}
+ \hspace{0.5cm}
+ \begin{minipage}[b]{0.45\linewidth}
+ \tiny
+ \begin{description}
+ \item[$\cal DK$] $:= [DK^{(i)}]_i$
+ \item[$t_j$] .. \\ \smallskip
+
+ \item[$\tilde{\cal T}$] $:= [t_j | j \in \kappa, j \neq \gamma]$ \\
\smallskip
+
+ \item[$k_\gamma$] $:= c T_\gamma = t_\gamma C$
+ \item[$b_\gamma^{(i)}$] $:= KDF_b(k_\gamma,i)$
+ \item[$c_\gamma^{(i)}$] $:= KDF_c(k_\gamma,i)$
+ \item[$C_\gamma^{(i)}$] $: = c_\gamma^{(i)} G$
+
+ \item[$B_\gamma^{(i)}$] $:= B_{b_\gamma^{(i)}}(C_\gamma^{(i)})$
+ \item[$\beta_\gamma$] $:= \big[ B_\gamma^{(i)} \big]_i$
+ \item[$\cal S$] $:= \left[ S_{DK^{(i)}}( B_\gamma^{(i)} ) \right]_i$ \\
\smallskip
+
+ \item[$Z$] Cut-and-choose missmatch information
+ \end{description}
+ \end{minipage}
+ \end{figure}
+\end{frame}
+
+
+\begin{frame}{Taler {\tt /refresh/link}}
+ \begin{figure}[th]
+ \begin{minipage}[b]{0.45\linewidth}
+ \begin{center}
+ \begin{tikzpicture}[scale = 0.4,
+ transform shape,
+ msglabel/.style = { text = Black, yshift = .3cm,
+ sloped, midway },
+ okmsg/.style = { ->, color = MidnightBlue, thick,
+ >=stealth },
+ rstmsg/.style = { ->, color = BrickRed, thick,
+ >=stealth }
+ ]
+ \node[draw = MidnightBlue,
+ fill = CornflowerBlue,
+ minimum width = .3cm,
+ minimum height = 10cm
+ ] (h1) at (-4, 0) {};
+ \node[draw = MidnightBlue,
+ fill = CornflowerBlue,
+ minimum width = .3cm,
+ minimum height = 10cm
+ ] (h2) at (4, 0) {};
+ \node[above = 0cm of h1] {Customer};
+ \node[above = 0cm of h2] {Exchagne};
+
+ \path[->, color = MidnightBlue, very thick, >=stealth]
+ (-5, 4.5) edge
+ node[rotate=90, text = Black, yshift = .3cm] {Time}
+ (-5, -4.5);
+ \path[->, color = MidnightBlue, thick, >=stealth]
+ ($(h1.east)+(0,3)$) edge
+ node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/link}
$C$}
+ ($(h2.west)+(0,2)$);
+ \path[->, color = MidnightBlue, thick, >=stealth]
+ ($(h2.west)+(0,0.5)$) edge
+ node[text = Black, yshift = .3cm, sloped] {200 OK: $T_\gamma$}
+ ($(h1.east)+(0,-0.5)$);
+ \path[rstmsg]
+ ($(h2.west)+(0, -2.5)$) edge
+ node[msglabel] {404 NOT FOUND}
+ ($(h1.east)+(0, -3.5)$);
+ \node at (5.3, 0) {};
+ \end{tikzpicture}
+ \end{center}
+ \end{minipage}
+ \hspace{0.5cm}
+ \begin{minipage}[b]{0.45\linewidth}
+ \tiny
+ \begin{description}
+ \item[$C$] Old coind public key \\ \smallskip
+ \item[$T_\gamma$] Linkage data $\cal L$ at $\gamma$
+ \end{description}
+ \end{minipage}
+ \end{figure}
+\end{frame}
+
+
+\begin{frame}{Operational security}
+ \begin{center}
+ \resizebox{\textwidth}{!}{
+\begin{tikzpicture}[
+ font=\sffamily,
+ every matrix/.style={ampersand replacement=\&,column sep=2cm,row sep=2cm},
+ source/.style={draw,thick,rounded corners,fill=green!20,inner sep=.3cm},
+ process/.style={draw,thick,circle,fill=blue!20},
+ sink/.style={source,fill=green!20},
+ datastore/.style={draw,very thick,shape=datastore,inner sep=.3cm},
+ dots/.style={gray,scale=2},
+ to/.style={->,>=stealth',shorten
>=1pt,semithick,font=\sffamily\footnotesize},
+ every node/.style={align=center}]
+
+ % Position the nodes using a matrix layout
+ \matrix{
+ \node[source] (wallet) {Wallet};
+ \& \node[process] (browser) {Browser};
+ \& \node[process] (shop) {Web shop};
+ \& \node[sink] (backend) {Taler backend}; \\
+ };
+
+ % Draw the arrows between the nodes and label them.
+ \draw[to] (browser) to[bend right=50] node[midway,above] {(4) signed
contract}
+ node[midway,below] {(signal)} (wallet);
+ \draw[to] (wallet) to[bend right=50] node[midway,above] {(signal)}
+ node[midway,below] {(5) signed coins} (browser);
+ \draw[<->] (browser) -- node[midway,above] {(3,6) custom}
+ node[midway,below] {(HTTPS)} (shop);
+ \draw[to] (shop) to[bend right=50] node[midway,above] {(HTTPS)}
+ node[midway,below] {(1) proposed contract / (7) signed coins} (backend);
+ \draw[to] (backend) to[bend right=50] node[midway,above] {(2) signed
contract / (8) confirmation}
+ node[midway,below] {(HTTPS)} (shop);
+\end{tikzpicture}
+}
+\end{center}
+\end{frame}
+\begin{frame}{Diffie-Hellman (ECDH)}
+ \begin{minipage}{8cm}
\begin{enumerate}
- \item Receive $s'$.
- \item Compute $s := s' b_{new,\gamma}^{-1} \mod n$.
+ \item Create private keys $c,t \mod o$
+ \item Define $C = cG$
+ \item Define $T = tG$
+ \item Compute DH \\ $cT = c(tG) = t(cG) = tC$
\end{enumerate}
\end{minipage}
\begin{minipage}{6cm}
\begin{tikzpicture}
\tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (b) [def, draw=none] at (0,0) {$b_{new,\gamma}$};
- \node (coin) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
- \node (signed) [def, draw=none, above left=of
coin]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
+ \node (t) [def, draw=none] at (0,0) {$t$};
+ \node (ct) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{dh.pdf}};
+ \node (c) [def, draw=none, above left= of ct] {$c$};
\tikzstyle{C} = [color=black, line width=1pt]
- \draw [<-, C] (coin) -- (b) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode)
{};
+ \draw [<-, C] (ct) -- (c) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (ct) -- (t) node [midway, above, sloped] (TextNode) {};
\end{tikzpicture}
\end{minipage}
\end{frame}
-\begin{frame}{Exchange: Allow linking change}
- \begin{minipage}{7cm}
- \begin{center}
- Given $C_{old}$
-
- \vspace{1cm}
-
- return $T_\gamma$, $s := s' b_{new,\gamma}^{-1} \mod n$.
- \end{center}
+\begin{frame}{Strawman solution}
+ \begin{minipage}{8cm}
+ Given partially spent private coin key $c_{old}$:
+ \begin{enumerate}
+% \item Let $C_{old} := c_{old}G$ (as before)
+ \item Pick random $c_{new} \mod o$ private key
+ \item $C_{new} = c_{new}G$ public key
+ \item Pick random $b_{new}$
+ \item Compute $f_{new} := FDH(C_{new})$, $m < n$.
+ \item Transmit $f'_{new} := f_{new} b_{new}^e \mod n$
+ \end{enumerate}
+ ... and sign request for change with $c_{old}$.
\end{minipage}
- \begin{minipage}{5cm}
- \begin{tikzpicture}
- \tikzstyle{def} = [node distance= 3em and 0.5em, inner sep=0.5em, outer
sep=.3em];
- \node (co) [def, draw=none] at (0,0) {$C_{old}$};
- \node (T) [def, draw=none, below left=of co]{$T_\gamma$};
- \node (sign) [def, draw=none, below right=of
co]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
- \node (customer) [def, draw, below right=of T] {Customer};
+ \begin{minipage}{4cm}
+ \begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
+ \node (blinded) [def,
draw=none]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
+ \node (planchet) [def, draw=none, above left= of blinded]
{\includegraphics[width=0.15\textwidth]{planchet.pdf}};
+ \node (cnew) [def, draw=none, above= of planchet] {$c_{new}$};
+ \node (bnew) [def, draw=none, above right= of blinded] {$b_{new}$};
+ \node (dice1) [def, draw=none, above = of
cnew]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
+ \node (dice2) [def, draw=none, above = of
bnew]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
+ \node (exchange) [node distance=4em and 0.5em, draw, below =of
blinded]{Exchange};
\tikzstyle{C} = [color=black, line width=1pt]
- \draw [<-, C] (T) -- (co) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (sign) -- (co) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (customer) -- (T) node [midway, above, sloped] (TextNode)
{link};
- \draw [<-, C] (customer) -- (sign) node [midway, above, sloped] (TextNode)
{link};
+ \draw [<-, C] (cnew) -- (dice1) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (planchet) -- (cnew) node [midway, above, sloped] (TextNode)
{};
+ \draw [<-, C] (bnew) -- (dice2) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (planchet) node [midway, above, sloped]
(TextNode) {};
+ \draw [<-, C] (blinded) -- (bnew) node [midway, above, sloped] (TextNode)
{};
+ \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped]
(TextNode) {{\small transmit}};
\end{tikzpicture}
\end{minipage}
+ \pause
+ \vfill
+ {\bf Problem: Owner of $c_{new}$ may differ from owner of $c_{old}$!}
\end{frame}
-\begin{frame}{Customer: Link (threat!)}
- \begin{minipage}{6.3cm}
+\begin{frame}{Customer: Transfer key setup (ECDH)}
+ \begin{minipage}{8cm}
+ Given partially spent private coin key $c_{old}$:
\begin{enumerate}
- \item Have $c_{old}$.
- \item Obtain $T_\gamma$, $s$ from exchange
- \item Compute $X_\gamma = c_{old}T_\gamma$
- \item Derive $c_{new,\gamma}$ and $b_{new,\gamma}$ from $X_\gamma$
- \item Unblind $s := s' b_{new,\gamma}^{-1} \mod n$
- \end{enumerate}
-
+ \item Let $C_{old} := c_{old}G$ (as before)
+ \item Create random private transfer key $t \mod o$
+ \item Compute $T := tG$
+ \item Compute $X := c_{old}(tG) = t(c_{old}G) = tC_{old}$
+ \item Derive $c_{new}$ and $b_{new}$ from $X$
+ \item Compute $C_{new} := c_{new}G$
+ \item Compute $f_{new} := FDH(C_{new})$
+ \item Transmit $f_{new}' := f_{new} b_{new}^e$
+ \end{enumerate}
\end{minipage}
- \begin{minipage}{5.7cm}
+ \begin{minipage}{4cm}
\begin{tikzpicture}
- \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
- \node (T) [def, draw=none] at (0,0) {$T_\gamma$};
- \node (exchange) [def, inner sep=0.5em, draw, above left=of T] {Exchange};
- \node (signed) [def, draw=none, below left=of
T]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
- \node (dh) [def, draw=none, below right=of
T]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
- \node (bp) [def, draw=none, below left= of dh] {$b_{new,\gamma}$};
- \node (co) [def, draw=none, above right= of dh] {$c_{old}$};
- \node (cp) [def, draw=none, below= of dh] {$c_{new,\gamma}$};
- \node (coin) [def, draw=none, below left = of
bp]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
- \node (psign) [def, node distance=2.5em and 0em, draw=none, below = of
cp]{\includegraphics[width=0.2\textwidth]{planchet-sign.pdf}};
+ \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
+ \node (t) [def, draw=none] at (0,0) {$t$};
+ \node (dice) [def, draw=none, above = of
t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
+ \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
+ \node (d) [def, draw=none, above left= of dh] {$c_{old}$};
+ \node (cp) [def, draw=none, below left= of dh] {$c_{new}$};
+ \node (bp) [def, draw=none, below right= of dh] {$b_{new}$};
+ \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
+ \node (exchange) [node distance=4em and 0.5em, draw, below =of
blinded]{Exchange};
\tikzstyle{C} = [color=black, line width=1pt]
- \draw [<-, C] (dh) -- (co) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (dh) -- (T) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
\draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
\draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode)
{};
- \draw [<-, C] (coin) -- (bp) node [midway, above, sloped] (TextNode) {};
- \draw [<-, C] (T) -- (exchange) node [midway, above, sloped] (TextNode)
{link};
- \draw [<-, C] (signed) -- (exchange) node [midway, below, sloped]
(TextNode) {link};
- \draw [<-, C, double] (psign) -- (cp) node [midway, below, sloped]
(TextNode) {};
+ \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped]
(TextNode) {{\small transmit}};
\end{tikzpicture}
\end{minipage}
\end{frame}
-\begin{frame}{Refresh protocol summary}
- \begin{itemize}
- \item Customer asks exchange to convert old coin to new coin
- \item Protocol ensures new coins can be recovered from old coin
- \item[$\Rightarrow$] New coins are owned by the same entity!
- \end{itemize}
- Thus, the refresh protocol allows:
- \begin{itemize}
- \item To give unlinkable change.
- \item To give refunds to an anonymous customer.
- \item To expire old keys and migrate coins to new ones.
- \item To handle protocol aborts.
- \end{itemize}
- \noindent
- \begin{center}
- \bf
- Transactions via refresh are equivalent to {\em sharing} a wallet.
-\end{center}
-\end{frame}
-
+\begin{frame}{Cut-and-Choose}
+ \begin{minipage}{4cm}
+ \begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
+ \node (t) [def, draw=none] at (0,0) {$t_1$};
+ \node (dice) [def, draw=none, above = of
t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
+ \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
+ \node (d) [def, draw=none, above left= of dh] {$c_{old}$};
+ \node (cp) [def, draw=none, below left= of dh] {$c_{new,1}$};
+ \node (bp) [def, draw=none, below right= of dh] {$b_{new,1}$};
+ \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
+ \node (exchange) [node distance=4em and 0.5em, draw, below =of
blinded]{Exchange};
+ \tikzstyle{C} = [color=black, line width=1pt]
-\section{Competitor analysis}
-\begin{frame}{Competitor comparison}
- \begin{center} \small
- \begin{tabular}{l||c|c|c|c|c}
- & Cash & Bitcoin & Zerocoin & Creditcard & GNU Taler \\ \hline
\hline
- Online &$-$$-$$-$ & ++ & ++ & + & +++ \\ \hline
- Offline & +++ & $-$$-$ & $-$$-$ & + & $-$$-$
\\ \hline
- Trans. cost & + & $-$$-$$-$ & $-$$-$$-$ & $-$ & ++ \\
\hline
- Speed & + & $-$$-$$-$ & $-$$-$$-$ & o & ++ \\
\hline
- Taxation & $-$ & $-$$-$ & $-$$-$$-$ & +++ & +++ \\
\hline
- Payer-anon & ++ & o & ++ & $-$$-$$-$ & +++ \\ \hline
- Payee-anon & ++ & o & ++ & $-$$-$$-$ & $-$$-$$-$ \\
\hline
- Security & $-$ & o & o & $-$$-$ & ++ \\
\hline
- Conversion & +++ & $-$$-$$-$ & $-$$-$$-$ & +++ & +++ \\
\hline
- Libre & $-$ & +++ & +++ & $-$ $-$ $-$ & +++ \\
- \end{tabular}
- \end{center}
-\end{frame}
+ \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped]
(TextNode) {{\small transmit}};
+ \end{tikzpicture}
+ \end{minipage}
+ \begin{minipage}{4cm}
+ \begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
+ \node (t) [def, draw=none] at (0,0) {$t_2$};
+ \node (dice) [def, draw=none, above = of
t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
+ \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
+ \node (d) [def, draw=none, above left= of dh] {$c_{old}$};
+ \node (cp) [def, draw=none, below left= of dh] {$c_{new,2}$};
+ \node (bp) [def, draw=none, below right= of dh] {$b_{new,2}$};
+ \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
+ \node (exchange) [node distance=4em and 0.5em, draw, below =of
blinded]{Exchange};
+ \tikzstyle{C} = [color=black, line width=1pt]
-\begin{frame}{How to support?}
- \begin{itemize}
- \item Join: \href{https://lists.gnu.org/mailman/listinfo/address@hidden,
\href{irc://irc.freenode.net/\#taler}{\#taler}
- \item Coding \& design: \url{https://gnunet.org/bugs/}
- \item Translation:
\url{https://git.taler.net/www.git/tree/locale/fr/LC_MESSAGES/messages.po}
- \item Integration: \url{https://docs.taler.net/}
- \item Donations: \url{https://gnunet.org/ev}
- \item Funding: \url{https://taler.net/en/investors.html}
- \end{itemize}
-\end{frame}
+ \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped]
(TextNode) {{\small transmit}};
+ \end{tikzpicture}
+ \end{minipage}
+ \begin{minipage}{4cm}
+ \begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
+ \node (t) [def, draw=none] at (0,0) {$t_3$};
+ \node (dice) [def, draw=none, above = of
t]{\includegraphics[width=0.2\textwidth]{dice.pdf}};
+ \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
+ \node (d) [def, draw=none, above left= of dh] {$c_{old}$};
+ \node (cp) [def, draw=none, below left= of dh] {$c_{new,3}$};
+ \node (bp) [def, draw=none, below right= of dh] {$b_{new,3}$};
+ \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
+ \node (exchange) [node distance=4em and 0.5em, draw, below =of
blinded]{Exchange};
+ \tikzstyle{C} = [color=black, line width=1pt]
-\begin{frame}{Conclusion}
- \begin{center}
- {\bf What can we do?}
- \end{center}
- \vfill
-\begin{itemize}
- \item{Suffer mass-surveillance enabled by credit card oligopolies with high
fees, and}
- \item{Engage in arms race with deliberately unregulatable blockchains, and}
- \item{Enjoy the ``benefits'' of cash \\
- \hfill \includegraphics[height=0.3\textheight]{atm-rupee.jpg} \hfill}
-\end{itemize}
-\vfill
-\begin{center}
- {\bf OR}
-\end{center}
-\vfill
-\begin{itemize}
- \item{Establish free software alternative balancing social goals!}
-\end{itemize}
-\vfill
+ \draw [<-, C] (t) -- (dice) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (t) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (exchange) -- (blinded) node [midway, above, sloped]
(TextNode) {{\small transmit}};
+ \end{tikzpicture}
+ \end{minipage}
\end{frame}
-\begin{frame}
-\frametitle{Do you have any questions?}
-\vfill
-References:
-{\tiny
- \begin{enumerate}
- \item{Christian Grothoff, Bart Polot and Carlo von Loesch.
- {\em The Internet is broken: Idealistic Ideas for Building a GNU
Network}.
- {\bf W3C/IAB Workshop on Strengthening the Internet Against Pervasive
Monitoring (STRINT)}, 2014.}
- \item{Jeffrey Burdges, Florian Dold, Christian Grothoff and Marcello Stanisci.
- {\em Enabling Secure Web Payments with GNU Taler}.
- {\bf SPACE 2016}.}
- \item{Florian Dold, Sree Harsha Totakura, Benedikt M\"uller, Jeffrey Burdges
and Christian Grothoff.
- {\em Taler: Taxable Anonymous Libre Electronic Reserves}.
- Available upon request. 2016.}
- \item{Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian
Miers, Eran Tromer and Madars Virza.
- {\em Zerocash: Decentralized Anonymous Payments from Bitcoin}.
- {\bf IEEE Symposium on Security \& Privacy, 2016}.}
- \item{David Chaum, Amos Fiat and Moni Naor.
- {\em Untraceable electronic cash}.
- {\bf Proceedings on Advances in Cryptology, 1990}.}
- \item{Phillip Rogaway.
- {\em The Moral Character of Cryptographic Work}.
- {\bf Asiacrypt}, 2015.} \label{bib:rogaway}
-\end{enumerate}
-}
-\begin{center}
- {\bf Let money facilitate trade; but ensure capital serves society.}
-\end{center}
+\begin{frame}{Exchange: Choose!}
+ \begin{center}
+ \item Exchange sends back random $\gamma \in \{ 1, 2, 3 \}$ to the
customer.
+ \end{center}
\end{frame}
-
-
-\end{document}
-
-
-
-
-\begin{frame}{Taler {\tt /withdraw/sign}}
-% Customer withdrawing coins with blind signatures
-% \bigskip
- \begin{figure}[th]
- \begin{minipage}[b]{0.45\linewidth}
- \begin{center}
- \begin{tikzpicture}[scale = 0.4,
- transform shape,
- msglabel/.style = { text = Black, yshift = .3cm,
- sloped, midway },
- okmsg/.style = { ->, color = MidnightBlue, thick,
- >=stealth },
- rstmsg/.style = { ->, color = BrickRed, thick,
- >=stealth }
- ]
- \node[draw = MidnightBlue,
- fill = CornflowerBlue,
- minimum width = .3cm,
- minimum height = 10cm
- ] (h1) at (-4, 0) {};
- \node[draw = MidnightBlue,
- fill = CornflowerBlue,
- minimum width = .3cm,
- minimum height = 10cm
- ] (h2) at (4, 0) {};
- \node[above = 0cm of h1] {Wallet};
- \node[above = 0cm of h2] {Exchange};
-
- \path[->, color = MidnightBlue, very thick, >=stealth]
- (-5, 4.5) edge
- node[rotate=90, text = Black, yshift = .3cm] {Time}
- (-5, -4.5);
- \path[okmsg, dashed]
- ($(h1.east)+(0, 4.0)+(0, -1.0)$) edge
- node[msglabel] {SEPA(RK,A)}
- ($(h2.west)+(0, 3.5)+(0, -1.0)$);
- \path[okmsg]
- ($(h1.east)+(0, -1.0)$) edge
- node[msglabel] {POST {\tt /withdraw/sign} $S_{RK}(DK, B_b(C))$}
- ($(h2.west)+(0, -1.5)$);
- \path[okmsg]
- ($(h2.west)+(0, -2.0)$) edge
- node[msglabel] {200 OK: $S_{DK}(B_b(C))$)}
- ($(h1.east)+(0, -2.5)$);
- \path[rstmsg]
- ($(h2.west)+(0, -3.5)$) edge
- node[msglabel] {402 PAYMENT REQUIRED: $S_{RK}(DK, B_b(C))$)}
- ($(h1.east)+(0, -4)$);
- \node at (5.3, 0) {};
- \end{tikzpicture}
- \end{center}
- Result: $\langle c, S_{DK}(C) \rangle$.
- \end{minipage}
- \hspace{0.5cm}
- \begin{minipage}[b]{0.45\linewidth}
- \tiny
- \begin{description}
- \item[$A$] Some amount, $A \ge A_{DK}$
- \item[$RK$] Reserve key
- \item[$DK$] Denomination key
- \item[$b$] Blinding factor
- \item[$B_b()$] RSA-FDH blinding % DK supressed
- \item[$C$] Coin public key $C := cG$
- \item[$S_{RK}()$] EdDSA signature
- \item[$S_{DK}()$] RSA-FDH signature
- \end{description}
- \end{minipage}
- \end{figure}
+\begin{frame}{Customer: Reveal}
+ \begin{enumerate}
+ \item If $\gamma = 1$, send $t_2$, $t_3$ to exchange
+ \item If $\gamma = 2$, send $t_1$, $t_3$ to exchange
+ \item If $\gamma = 3$, send $t_1$, $t_2$ to exchange
+ \end{enumerate}
\end{frame}
-\begin{frame}[t]{Taler {\tt /deposit}}
-Merchant and exchange see only the public coin $\langle C, S_{DK}(C) \rangle$.
-\bigskip
- \begin{figure}[th]
- \begin{minipage}[b]{0.45\linewidth}
- \begin{center}
- \begin{tikzpicture}[scale = 0.4,
- transform shape,
- msglabel/.style = { text = Black, yshift = .3cm,
- sloped, midway },
- okmsg/.style = { ->, color = MidnightBlue, thick,
- >=stealth },
- rstmsg/.style = { ->, color = BrickRed, thick,
- >=stealth }
- ]
- \node[draw = MidnightBlue,
- fill = CornflowerBlue,
- minimum width = .3cm,
- minimum height = 10cm
- ] (h1) at (-4, 0) {};
- \node[draw = MidnightBlue,
- fill = CornflowerBlue,
- minimum width = .3cm,
- minimum height = 10cm
- ] (h2) at (4, 0) {};
- \node[above = 0cm of h1] {Merchant};
- \node[above = 0cm of h2] {Exchange};
+\begin{frame}{Exchange: Verify ($\gamma = 2$)}
+ \begin{minipage}{4cm}
+ \begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
+ \node (h) [def, draw=none] at (0,0) {$t_1$};
+ \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
+ \node (d) [def, draw=none, above left= of dh] {$C_{old}$};
+ \node (cp) [def, draw=none, below left= of dh] {$c_{new,1}$};
+ \node (bp) [def, draw=none, below right= of dh] {$b_{new,1}$};
+ \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
- \path[->, color = MidnightBlue, very thick, >=stealth]
- (-5, 4.5) edge
- node[rotate=90, text = Black, yshift = .3cm] {Time}
- (-5, -4.5);
- \path[->, color = MidnightBlue, thick, >=stealth]
- ($(h1.east)+(0,3)$) edge
- node[text = Black, yshift = .3cm, sloped] {POST {\tt /deposit}
$S_{DK}(C), S_{c}(D)$}
- ($(h2.west)+(0,2)$);
- \path[->, color = MidnightBlue, thick, >=stealth]
- ($(h2.west)+(0,0.5)$) edge
- node[text = Black, yshift = .3cm, sloped] {200 OK:
$S_{SK}(S_{c}(D))$}
- ($(h1.east)+(0,-0.5)$);
- \path[rstmsg]
- ($(h2.west)+(0, -2.5)$) edge
- node[msglabel] {409 CONFLICT: $S_{c}(D')$}
- ($(h1.east)+(0, -3.5)$);
- \node at (5.3, 0) {};
- \end{tikzpicture}
- \end{center}
- \end{minipage}
- \hspace{0.5cm}
- \begin{minipage}[b]{0.45\linewidth}
- \tiny
- \begin{description}
- \item[$DK$] Denomination key
- \item[$S_{DK}()$] RSA-FDH signature using $DK$
- \item[$c$] Private coin key, $C := cG$.
- \item[$S_{C}()$] EdDSA signature using $c$
- \item[$D$] Deposit details
- \item[$SK$] Exchange's signing key
- \item[$S_{SK}()$] EdDSA signature using $SK$
- \item[$D'$] Conficting deposit details $D' \not= D$
- \end{description}
- \end{minipage}
- \end{figure}
-\end{frame}
+ \tikzstyle{C} = [color=black, line width=1pt]
+ \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (h) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
+ \end{tikzpicture}
+ \end{minipage}
+ \begin{minipage}{4cm}
+ \
+ \end{minipage}
+ \begin{minipage}{4cm}
+ \begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
+ \node (h) [def, draw=none] at (0,0) {$t_3$};
+ \node (dh) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
+ \node (d) [def, draw=none, above left= of dh] {$C_{old}$};
+ \node (cp) [def, draw=none, below left= of dh] {$c_{new,3}$};
+ \node (bp) [def, draw=none, below right= of dh] {$b_{new,3}$};
+ \node (blinded) [def, draw=none, below right=of
cp]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
-\begin{frame}{Taler {\tt /refresh/melt}}
- \begin{figure}[th]
- \begin{minipage}[b]{0.45\linewidth}
- \begin{center}
- \begin{tikzpicture}[scale = 0.4,
- transform shape,
- msglabel/.style = { text = Black, yshift = .3cm,
- sloped, midway },
- okmsg/.style = { ->, color = MidnightBlue, thick,
- >=stealth },
- rstmsg/.style = { ->, color = BrickRed, thick,
- >=stealth }
- ]
- \node[draw = MidnightBlue,
- fill = CornflowerBlue,
- minimum width = .3cm,
- minimum height = 10cm
- ] (h1) at (-4, 0) {};
- \node[draw = MidnightBlue,
- fill = CornflowerBlue,
- minimum width = .3cm,
- minimum height = 10cm
- ] (h2) at (4, 0) {};
- \node[above = 0cm of h1] {Customer};
- \node[above = 0cm of h2] {Exchange};
+ \tikzstyle{C} = [color=black, line width=1pt]
- \path[->, color = MidnightBlue, very thick, >=stealth]
- (-5, 4.5) edge
- node[rotate=90, text = Black, yshift = .3cm] {Time}
- (-5, -4.5);
- \path[->, color = MidnightBlue, thick, >=stealth]
- ($(h1.east)+(0,3)$) edge
- node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/melt}
$S_{DK}(C), S_c({\cal DK}, {\cal T},{\cal B})$}
- ($(h2.west)+(0,2)$);
- \path[->, color = MidnightBlue, thick, >=stealth]
- ($(h2.west)+(0,0.5)$) edge
- node[text = Black, yshift = .3cm, sloped] {200 OK: $S_{SK}(H({\cal
T}, {\cal B}),\gamma)$}
- ($(h1.east)+(0,-0.5)$);
- \path[rstmsg]
- ($(h2.west)+(0, -2.5)$) edge
- node[msglabel] {409 CONFLICT: $S_{C}(X), \ldots$}
- ($(h1.east)+(0, -3.5)$);
- \node at (5.3, 0) {};
- \end{tikzpicture}
- \end{center}
- \end{minipage}
- \hspace{0.5cm}
- \begin{minipage}[b]{0.45\linewidth}
- \tiny
- \begin{description}
- \item[$\kappa$] System-wide security parameter, usually 3.
- \\ \smallskip
- \item[$\cal DK$] $:= [DK^{(i)}]_i$ \\ List of denomination keys \\
- $D + \sum_i A_{DK^{(i)}} < A_{DK}$
- \item[$t_j$] Random scalar for $j<\kappa$
- \item[${\cal T}$] $:= [T_j]_\kappa$ where $T_j = t_j G$
- \item[$k_j$] $:= c T_j = t_j C$ is an ECDHE
- \item[$b_j^{(i)}$] $:= KDF_b(k_j,i)$ % blinding factor
- \item[$c_j^{(i)}$] $:= KDF_c(k_j,i)$ % coin secret keys
- \item[$C_j^{(i)}$] $: = c_j^{(i)} G$ % new coin publics % keys
- \item[${\cal B}$] $:= [H( \beta_j )]_\kappa$ where \\
- $\beta_j := \left[ B_{b_j^{(i)}}(C_j^{(i)}) \right]_i$
- \\ \smallskip
- \item[$\gamma$] Random value in $[0,\kappa)$
-% \\ \smallskip
-% \item[$X$] Deposit or refresh
- \end{description}
- \end{minipage}
- \end{figure}
+ \draw [<-, C] (dh) -- (d) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (h) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (cp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (blinded) -- (bp) node [midway, above, sloped] (TextNode) {};
+ \end{tikzpicture}
+ \end{minipage}
\end{frame}
-\begin{frame}{Taler {\tt /refresh/reveal}}
- \begin{figure}[th]
- \begin{minipage}[b]{0.45\linewidth}
- \begin{center}
- \begin{tikzpicture}[scale = 0.4,
- transform shape,
- msglabel/.style = { text = Black, yshift = .3cm,
- sloped, midway },
- okmsg/.style = { ->, color = MidnightBlue, thick,
- >=stealth },
- rstmsg/.style = { ->, color = BrickRed, thick,
- >=stealth }
- ]
- \node[draw = MidnightBlue,
- fill = CornflowerBlue,
- minimum width = .3cm,
- minimum height = 10cm
- ] (h1) at (-4, 0) {};
- \node[draw = MidnightBlue,
- fill = CornflowerBlue,
- minimum width = .3cm,
- minimum height = 10cm
- ] (h2) at (4, 0) {};
- \node[above = 0cm of h1] {Customer};
- \node[above = 0cm of h2] {Exchange};
-
- \path[->, color = MidnightBlue, very thick, >=stealth]
- (-5, 4.5) edge
- node[rotate=90, text = Black, yshift = .3cm] {Time}
- (-5, -4.5);
- \path[->, color = MidnightBlue, thick, >=stealth]
- ($(h1.east)+(0,3)$) edge
- node[text = Black, yshift = .3cm, sloped] {POST {\tt
/refresh/reveal} $H({\cal T}, {\cal B}), {\tilde{\cal T}}, \beta_\gamma$}
- ($(h2.west)+(0,2)$);
- \path[->, color = MidnightBlue, thick, >=stealth]
- ($(h2.west)+(0,0.5)$) edge
- node[text = Black, yshift = .3cm, sloped] {200 OK: $\cal S$}
- ($(h1.east)+(0,-0.5)$);
- \path[rstmsg]
- ($(h2.west)+(0, -2.5)$) edge
- node[msglabel] {400 BAD REQUEST: $Z$}
- ($(h1.east)+(0, -3.5)$);
- \node at (5.3, 0) {};
- \end{tikzpicture}
- \end{center}
- \end{minipage}
- \hspace{0.5cm}
- \begin{minipage}[b]{0.45\linewidth}
- \tiny
- \begin{description}
- \item[$\cal DK$] $:= [DK^{(i)}]_i$
- \item[$t_j$] .. \\ \smallskip
+\begin{frame}{Exchange: Blind sign change (RSA)}
+ \begin{minipage}{6cm}
+ \begin{enumerate}
+ \item Take $f_{new,\gamma}'$.
+ \item Compute $s' := f_{new,\gamma}'^d \mod n$.
+ \item Send signature $s'$.
+ \end{enumerate}
+ \end{minipage}
+ \begin{minipage}{6cm}
+ \begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer
sep=.3em];
+ \node (hammer) [def, draw=none] at (0,0)
{\includegraphics[width=0.15\textwidth]{hammer.pdf}};
+ \node (signed) [def, draw=none, below left=of
hammer]{\includegraphics[width=0.2\textwidth]{sign.pdf}};
+ \node (blinded) [def, draw=none, above left=of
signed]{\includegraphics[width=0.15\textwidth]{blinded.pdf}};
+ \node (customer) [node distance=4em and 0.5em, draw, below =of
signed]{Customer};
+ \tikzstyle{C} = [color=black, line width=1pt]
- \item[$\tilde{\cal T}$] $:= [t_j | j \in \kappa, j \neq \gamma]$ \\
\smallskip
+ \draw [<-, C] (signed) -- (hammer) node [midway, above, sloped] (TextNode)
{};
+ \draw [<-, C] (signed) -- (blinded) node [midway, above, sloped]
(TextNode) {};
+ \draw [<-, C] (customer) -- (signed) node [midway, above, sloped]
(TextNode) {{\small transmit}};
+ \end{tikzpicture}
+ \end{minipage}
+\end{frame}
- \item[$k_\gamma$] $:= c T_\gamma = t_\gamma C$
- \item[$b_\gamma^{(i)}$] $:= KDF_b(k_\gamma,i)$
- \item[$c_\gamma^{(i)}$] $:= KDF_c(k_\gamma,i)$
- \item[$C_\gamma^{(i)}$] $: = c_\gamma^{(i)} G$
- \item[$B_\gamma^{(i)}$] $:= B_{b_\gamma^{(i)}}(C_\gamma^{(i)})$
- \item[$\beta_\gamma$] $:= \big[ B_\gamma^{(i)} \big]_i$
- \item[$\cal S$] $:= \left[ S_{DK^{(i)}}( B_\gamma^{(i)} ) \right]_i$ \\
\smallskip
+\begin{frame}{Customer: Unblind change (RSA)}
+ \begin{minipage}{6cm}
+ \begin{enumerate}
+ \item Receive $s'$.
+ \item Compute $s := s' b_{new,\gamma}^{-1} \mod n$.
+ \end{enumerate}
+ \end{minipage}
+ \begin{minipage}{6cm}
+ \begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 2em and 0.5em, inner sep=0em, outer
sep=.3em];
+ \node (b) [def, draw=none] at (0,0) {$b_{new,\gamma}$};
+ \node (coin) [def, draw=none, below left=of
b]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
+ \node (signed) [def, draw=none, above left=of
coin]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
+ \tikzstyle{C} = [color=black, line width=1pt]
- \item[$Z$] Cut-and-choose missmatch information
- \end{description}
- \end{minipage}
- \end{figure}
+ \draw [<-, C] (coin) -- (b) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode)
{};
+ \end{tikzpicture}
+ \end{minipage}
\end{frame}
-\begin{frame}{Taler {\tt /refresh/link}}
- \begin{figure}[th]
- \begin{minipage}[b]{0.45\linewidth}
- \begin{center}
- \begin{tikzpicture}[scale = 0.4,
- transform shape,
- msglabel/.style = { text = Black, yshift = .3cm,
- sloped, midway },
- okmsg/.style = { ->, color = MidnightBlue, thick,
- >=stealth },
- rstmsg/.style = { ->, color = BrickRed, thick,
- >=stealth }
- ]
- \node[draw = MidnightBlue,
- fill = CornflowerBlue,
- minimum width = .3cm,
- minimum height = 10cm
- ] (h1) at (-4, 0) {};
- \node[draw = MidnightBlue,
- fill = CornflowerBlue,
- minimum width = .3cm,
- minimum height = 10cm
- ] (h2) at (4, 0) {};
- \node[above = 0cm of h1] {Customer};
- \node[above = 0cm of h2] {Exchagne};
+\begin{frame}{Exchange: Allow linking change}
+ \begin{minipage}{7cm}
+ \begin{center}
+ Given $C_{old}$
- \path[->, color = MidnightBlue, very thick, >=stealth]
- (-5, 4.5) edge
- node[rotate=90, text = Black, yshift = .3cm] {Time}
- (-5, -4.5);
- \path[->, color = MidnightBlue, thick, >=stealth]
- ($(h1.east)+(0,3)$) edge
- node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/link}
$C$}
- ($(h2.west)+(0,2)$);
- \path[->, color = MidnightBlue, thick, >=stealth]
- ($(h2.west)+(0,0.5)$) edge
- node[text = Black, yshift = .3cm, sloped] {200 OK: $T_\gamma$}
- ($(h1.east)+(0,-0.5)$);
- \path[rstmsg]
- ($(h2.west)+(0, -2.5)$) edge
- node[msglabel] {404 NOT FOUND}
- ($(h1.east)+(0, -3.5)$);
- \node at (5.3, 0) {};
- \end{tikzpicture}
- \end{center}
- \end{minipage}
- \hspace{0.5cm}
- \begin{minipage}[b]{0.45\linewidth}
- \tiny
- \begin{description}
- \item[$C$] Old coind public key \\ \smallskip
- \item[$T_\gamma$] Linkage data $\cal L$ at $\gamma$
- \end{description}
- \end{minipage}
- \end{figure}
+ \vspace{1cm}
+
+ return $T_\gamma$, $s := s' b_{new,\gamma}^{-1} \mod n$.
+ \end{center}
+ \end{minipage}
+ \begin{minipage}{5cm}
+ \begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 3em and 0.5em, inner sep=0.5em, outer
sep=.3em];
+ \node (co) [def, draw=none] at (0,0) {$C_{old}$};
+ \node (T) [def, draw=none, below left=of co]{$T_\gamma$};
+ \node (sign) [def, draw=none, below right=of
co]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
+ \node (customer) [def, draw, below right=of T] {Customer};
+
+ \tikzstyle{C} = [color=black, line width=1pt]
+
+ \draw [<-, C] (T) -- (co) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (sign) -- (co) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (customer) -- (T) node [midway, above, sloped] (TextNode)
{link};
+ \draw [<-, C] (customer) -- (sign) node [midway, above, sloped] (TextNode)
{link};
+ \end{tikzpicture}
+ \end{minipage}
\end{frame}
-\begin{frame}{Operational security}
- \begin{center}
- \resizebox{\textwidth}{!}{
-\begin{tikzpicture}[
- font=\sffamily,
- every matrix/.style={ampersand replacement=\&,column sep=2cm,row sep=2cm},
- source/.style={draw,thick,rounded corners,fill=green!20,inner sep=.3cm},
- process/.style={draw,thick,circle,fill=blue!20},
- sink/.style={source,fill=green!20},
- datastore/.style={draw,very thick,shape=datastore,inner sep=.3cm},
- dots/.style={gray,scale=2},
- to/.style={->,>=stealth',shorten
>=1pt,semithick,font=\sffamily\footnotesize},
- every node/.style={align=center}]
+\begin{frame}{Customer: Link (threat!)}
+ \begin{minipage}{6.3cm}
+ \begin{enumerate}
+ \item Have $c_{old}$.
+ \item Obtain $T_\gamma$, $s$ from exchange
+ \item Compute $X_\gamma = c_{old}T_\gamma$
+ \item Derive $c_{new,\gamma}$ and $b_{new,\gamma}$ from $X_\gamma$
+ \item Unblind $s := s' b_{new,\gamma}^{-1} \mod n$
+ \end{enumerate}
- % Position the nodes using a matrix layout
- \matrix{
- \node[source] (wallet) {Wallet};
- \& \node[process] (browser) {Browser};
- \& \node[process] (shop) {Web shop};
- \& \node[sink] (backend) {Taler backend}; \\
- };
+ \end{minipage}
+ \begin{minipage}{5.7cm}
+ \begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 1.5em and 0.5em, inner sep=0em, outer
sep=.3em];
+ \node (T) [def, draw=none] at (0,0) {$T_\gamma$};
+ \node (exchange) [def, inner sep=0.5em, draw, above left=of T] {Exchange};
+ \node (signed) [def, draw=none, below left=of
T]{\includegraphics[width=0.15\textwidth]{sign.pdf}};
+ \node (dh) [def, draw=none, below right=of
T]{\includegraphics[width=0.2\textwidth]{ct.pdf}};
+ \node (bp) [def, draw=none, below left= of dh] {$b_{new,\gamma}$};
+ \node (co) [def, draw=none, above right= of dh] {$c_{old}$};
+ \node (cp) [def, draw=none, below= of dh] {$c_{new,\gamma}$};
+ \node (coin) [def, draw=none, below left = of
bp]{\includegraphics[width=0.2\textwidth]{coin.pdf}};
+ \node (psign) [def, node distance=2.5em and 0em, draw=none, below = of
cp]{\includegraphics[width=0.2\textwidth]{planchet-sign.pdf}};
- % Draw the arrows between the nodes and label them.
- \draw[to] (browser) to[bend right=50] node[midway,above] {(4) signed
contract}
- node[midway,below] {(signal)} (wallet);
- \draw[to] (wallet) to[bend right=50] node[midway,above] {(signal)}
- node[midway,below] {(5) signed coins} (browser);
- \draw[<->] (browser) -- node[midway,above] {(3,6) custom}
- node[midway,below] {(HTTPS)} (shop);
- \draw[to] (shop) to[bend right=50] node[midway,above] {(HTTPS)}
- node[midway,below] {(1) proposed contract / (7) signed coins} (backend);
- \draw[to] (backend) to[bend right=50] node[midway,above] {(2) signed
contract / (8) confirmation}
- node[midway,below] {(HTTPS)} (shop);
-\end{tikzpicture}
-}
-\end{center}
-\end{frame}
+ \tikzstyle{C} = [color=black, line width=1pt]
+ \draw [<-, C] (dh) -- (co) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (dh) -- (T) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (cp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (bp) -- (dh) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (coin) -- (signed) node [midway, above, sloped] (TextNode)
{};
+ \draw [<-, C] (coin) -- (bp) node [midway, above, sloped] (TextNode) {};
+ \draw [<-, C] (T) -- (exchange) node [midway, above, sloped] (TextNode)
{link};
+ \draw [<-, C] (signed) -- (exchange) node [midway, below, sloped]
(TextNode) {link};
+ \draw [<-, C, double] (psign) -- (cp) node [midway, below, sloped]
(TextNode) {};
+ \end{tikzpicture}
+ \end{minipage}
+\end{frame}
diff --git a/presentations/investors/investors2017ls.tex
b/presentations/investors/investors2017ls.tex
index 4c36711..5860480 100644
--- a/presentations/investors/investors2017ls.tex
+++ b/presentations/investors/investors2017ls.tex
@@ -343,7 +343,7 @@ Taler is an electronic instant payment system.
\item[Leon Schumacher]\ \\ co-founder
\item[Dr. Christian Grothoff]\ \\ co-founder
\item[Dr. Jeff Burdges]\ \\ PostDoc
- \item[Dr. Christina Onete]\ \\ PostDoc
+ \item[Dr. Christina Onete]\ \\ Maître de conférences
\item[Florian Dold]\ \\ PhD Student
\end{description}
diff --git a/presentations/investors/team-images/christian-grothoff.jpg
b/presentations/investors/team-images/christian-grothoff.jpg
index e67e7e1..c4ccbdf 100644
Binary files a/presentations/investors/team-images/christian-grothoff.jpg and
b/presentations/investors/team-images/christian-grothoff.jpg differ
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-marketing] branch master updated: add 40m variant for UBS,
gnunet <=