[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-marketing] 01/03: update presentation, merging in go
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-marketing] 01/03: update presentation, merging in good parts of RMLL |
Date: |
Sat, 05 Aug 2017 14:53:50 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository marketing.
commit bd2fd7fbde28b0eec7f5e848ca13cf4b43bf5f8b
Author: Christian Grothoff <address@hidden>
AuthorDate: Sun Jul 16 22:25:30 2017 +0200
update presentation, merging in good parts of RMLL
---
presentations/comprehensive/main.tex | 450 +++++++++++++++++++++--------------
1 file changed, 269 insertions(+), 181 deletions(-)
diff --git a/presentations/comprehensive/main.tex
b/presentations/comprehensive/main.tex
index 2545254..80b5edc 100644
--- a/presentations/comprehensive/main.tex
+++ b/presentations/comprehensive/main.tex
@@ -95,7 +95,7 @@
\usetikzlibrary{positioning}
\usetikzlibrary{calc}
-\title{Enabling Secure Web Payments with GNU Taler}
+\title{GNU Taler}
%\subtitle{}
\setbeamertemplate{navigation symbols}{\includegraphics[width=1cm]{inria.pdf}
\includegraphics[width=0.5cm]{gnu.png}
\includegraphics[width=0.5cm]{ashoka.png}\hfill}
@@ -109,23 +109,34 @@
\begin{document}
\justifying
-\begin{frame}[plain]
-\titlepage
-\vfill
-\begin{center}
-\tiny
-``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}
+\begin{frame}
+ \begin{center}
+ \LARGE {\bf GNU}
+ \vfill
+% \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)
+ {\Large {\bf \url{taler.net}} \\
+ IRC{\bf \#taler} \\
+ {\small (on freenode)} \\
+ address@hidden \\
+ address@hidden }
+\end{textblock*}
+
+% Substitute based on who is giving the talk!
+% \begin{textblock*}{4cm}(8cm,7.5cm) % {block width} (coords)
+% {\hfill {\Large {\bf jeff \&} \\
+% \hfill {\bf grothoff}} \\
+% \hfill \{jeff,address@hidden }
+%\end{textblock*}
+
+\end{frame}
-\begin{frame}%[t]
+\begin{frame}{A Social Problem}
% \vfill
This was a question posed to RAND researchers in 1971:
@@ -138,10 +149,75 @@ identity.'' \hfill --Edward Snowden, IETF 93 (2015)
\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}
+
+ 3D secure (``verified by visa'') is a nightmare:
+
+ \begin{minipage}{5cm}
+ \begin{itemize}
+ \item Complicated process
+ \item Shifts liability to consumer
+ \item Significant latency
+ \item Can refuse valid requests
+ \item Legal vendors excluded
+ \item No privacy for buyers
+ \end{itemize}
+ \end{minipage}
+ \begin{minipage}{5cm}
+ \includegraphics[width=\textwidth]{illustrations/cc3ds.pdf}
+ \end{minipage}
+ \vfill
+ Online credit card payments will be replaced, but with what?
+\end{frame}
+
+
+\begin{frame}{The Bank's Problem}
+\vfill
+ \begin{textblock*}{12cm}(0.5cm,1cm) % {block width} (coords)
+ \begin{itemize}
+ \item Global tech companies push oligopolies
+ \item Privacy and federated finance are at risk
+% \item 30\% fees are conceivable
+ \item Economic sovereingity is in danger
+ \end{itemize}
+\end{textblock*}
+\begin{textblock*}{4cm}(3.5cm,5.2cm) % {block width} (coords)
+ {\includegraphics[width=\textwidth]{../investors/competitor-logos/amazon.png}}
+\end{textblock*}
+\begin{textblock*}{2cm}(7cm,3cm) % {block width} (coords)
+
{\includegraphics[width=\textwidth]{../investors/competitor-logos/alipay.jpeg}}
+\end{textblock*}
+\begin{textblock*}{2cm}(3cm,3.5cm) % {block width} (coords)
+
{\includegraphics[width=\textwidth]{../investors/competitor-logos/paypal.jpeg}}
+\end{textblock*}
+\begin{textblock*}{2cm}(9cm,5cm) % {block width} (coords)
+
{\includegraphics[width=\textwidth]{../investors/competitor-logos/applepay.jpeg}}
+\end{textblock*}
+\begin{textblock*}{2cm}(7.5cm,5.9cm) % {block width} (coords)
+
{\includegraphics[width=\textwidth]{../investors/competitor-logos/samsungpay.jpeg}}
+\end{textblock*}
+\begin{textblock*}{1cm}(9.5cm,6.3cm) % {block width} (coords)
+
{\includegraphics[width=\textwidth]{../investors/competitor-logos/android_pay.png}}
+\end{textblock*}
+\vfill
\end{frame}
-\begin{frame}{Bitcoin}
+\begin{frame}{The Distraction: Bitcoin}
\begin{itemize}
\item Unregulated payment system and currency:
@@ -185,7 +261,11 @@ ZeroCoin, CryptoNote (Monero) and ZeroCash (ZCash) offer
anonymity.
\begin{frame}
\vfill
\begin{center}
-{\bf Is society ready for an anarchistic economy?}
+{\bf Do you want to have a libertarian economy?}
+\end{center}
+ \vfill
+\begin{center}
+{\bf Do you want to live under total surveillance?}
\end{center}
\vfill
\end{frame}
@@ -210,22 +290,48 @@ ZeroCoin, CryptoNote (Monero) and ZeroCash (ZCash) offer
anonymity.
\end{frame}
+\section{What is Taler?}
\begin{frame}{What is Taler?}
\vfill
\begin{center}
-Taler is an electronic payment system.
+Taler is an electronic instant payment system.
\end{center}
\begin{itemize}
- \item Pay in existing currencies (i.e. EUR, USD)
- \item Uses electronic coins stored in wallets on customer's device
+ \item Uses electronic coins stored in {\bf wallets} on customer's device
+ \item Like {\bf cash}
+ \item Pay in {\bf existing currencies} (i.e. EUR, USD, BTC), \\
+ or use it to create new {\bf regional currencies}
\end{itemize}
\vfill
\end{frame}
\begin{frame}
+\frametitle{Taler Overview}
+\begin{center}
+\begin{tikzpicture}
+ \tikzstyle{def} = [node distance= 5em and 6.5em, inner sep=1em, outer
sep=.3em];
+ \node (origin) at (0,0) {};
+ \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};
+
+ \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};
+
+\end{tikzpicture}
+\end{center}
+\end{frame}
+
+
+\begin{frame}
% TODO: replace with simplified NEW architecture picture!
-\frametitle{Architecture of GNU Taler}
+\frametitle{Architecture of Taler}
\begin{center}
\includegraphics[width=0.9\textwidth]{illustrations/taler-arch-full.pdf}
@@ -248,41 +354,65 @@ Taler is an electronic payment system.
\end{frame}
-\begin{frame}{Value proposition: Customer}
+\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}
- \item Convenient: pay with one click
- \item Guaranteed: never fear being rejected by false-positives in the fraud
detection
- \item Secure: like cash, except no worries about counterfeit
- \item Privacy-preserving: payment requires no personal information
- \item Stable: no currency fluctuations, pay in traditional currencies
- \item Free software: no hidden ``gadgets'', third parties can verify
+ \item Corporate structure % ($\Rightarrow$ filter)
+ \item Advertising primary revenue % ($\Rightarrow$ dependence)
+ \item Tracking readers critical for business success
+ \item Journalism and marketing hard to distinguish
+ \end{itemize}\vfill\pause
+ With GNU Taler:
+ \begin{itemize}
+ \item One-click micropayments per article
+ \item Hosting requires no expertise % (no PCI DSS)
+ \item Reader-funded reporting separated from marketing
+ \item Readers can remain anonymous
\end{itemize}
\end{frame}
-\begin{frame}{Value proposition: Merchant}
+\begin{frame}{Use Cases: Refugee Camps}
+ Today:
+ \begin{itemize}
+ \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:
\begin{itemize}
- \item Fast: transactions at Web-speed
- \item Secure: signed contracts, no legitimate customer rejected by fraud
decection
- \item Free software: competitive pricing and support
- \item Low fees: efficient protocol + no fraud $=$ low costs
- \item Flexible: any currency, any amount
- \item Ethical: no fluctuation risk, no pyramid scheme, not suitable for
illegal business
- \item Legal: complies with Regulation (EU) 2016/679 (GDPR)\footnote{Requires
privacy by design and data minimization for all data processing in Europe after
25.5.2018.}
+ \item Local currency issued as basic income backed by aid
+ \item Taxation possible based on economic status
+ \item Local governance enabled by local taxes
+ \item Increased economic independence and political participation
\end{itemize}
\end{frame}
-\begin{frame}{Value proposition: Government}
+\begin{frame}{Use Case: Anti-Spam}
+ Today, p$\equiv$p provides authenticated encryption for e-mail:
\begin{itemize}
- \item Libre $=$ commons: no monopoly, preserve independence
- \item Taxable: reduces black markets
- \item Efficient: high transaction costs hurt the economy
- \item Secure: signed contracts, no counterfeit
- \item Audited: no bad banks
- \item Private: protection against foreign espionage
+ \item Free software
+ \item Easy to use opportunistic encryption
+ \item Available for Outlook, Android, Enigmail
+ \item Spies \& spam filters can no longer inspect content
+ \end{itemize}\vfill\pause
+ With GNU Taler:
+ \begin{itemize}
+ \item Peer-to-peer payments via e-mail
+ \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
\end{itemize}
- \hfill \includegraphics[width=4cm]{pics/blog_nsa_swift.jpg}
\end{frame}
@@ -301,50 +431,6 @@ Taler is an electronic payment system.
\end{frame}
-
-\begin{frame}{Merchant Integration: Wallet Detection}
- \lstset{language=JavaScript}
- \lstinputlisting{figs/taler-presence-js.html}
-% \caption{Sample code to detect the Taler wallet. Allowing the
-% Web site to detect the presence of the wallet leaks one bit
-% of information about the user. The above logic also works
-% if the wallet is installed while the page is open.}
-% \label{listing:presence}
-\end{frame}
-
-
-\begin{frame}{Merchant Integration: Payment Request}
-% \begin{figure}[p!]
- \lstset{language=HTML5}
- \lstinputlisting{figs/taler-402.html}
-% \caption{Sample HTTP response to prompt the wallet to show an offer.}
-% \label{listing:http-contract}
-% \end{figure}
-
-% \begin{figure*}[p!]
-% \lstset{language=HTML5}
-% \lstinputlisting{figs/taler-contract.html}
-% \caption{Sample JavaScript code to prompt the wallet to show an offer.
-% Here, the contract is fetched on-demand from the server.
-% The {\tt taler\_pay()} function needs to be invoked
-% when the user triggers the checkout.}
-% \label{listing:contract}
-% \end{figure*}
-\end{frame}
-
-
-\begin{frame}{Merchant Integration: Contract}
- % \begin{figure*}[t!]
- {\tiny
- \lstset{language=JavaScript}
- \lstinputlisting{figs/taler-contract.json}
-% \caption{Minimal Taler contract over a digital article with a value of
\EUR{0.10}. The merchant will pay transaction fees up to \EUR{0.01}. The hash
over the wire transfer information was truncated to make it fit to the page.}
-% \label{listing:json-contract}
- % \end{figure*}
- }
-\end{frame}
-
-
\begin{frame}{How does it work?}
We use a few ancient constructions:
\begin{itemize}
@@ -358,28 +444,6 @@ But of course we use modern instantiations.
\end{frame}
-\begin{frame}{Global setup: Pick an Elliptic curve}
-Need:
-\begin{description}
-\item[$G$]{generator in ECC curve, a point}
-\item[$o$]{size of ECC group, $o := |G|$, $o$ prime}
-\end{description}
-Now we can, for example, compute:
-\begin{align*}
- A &= G + G \\
- &= 2 G \\
- B &= A + G \\
- &= 3 G \\
- C &= c G \texttt { for } c \in {\mathbb Z}
-\end{align*}
-Note:
-\begin{align*}
-% 0 &= n G \\
- G &= (o + 1) G
-\end{align*}
-\end{frame}
-
-
\begin{frame}{Exchange setup: Create a denomination key (RSA)}
\begin{minipage}{6cm}
\begin{enumerate}
@@ -537,6 +601,7 @@ Note:
\end{center}
\end{frame}
+
\begin{frame}{Customer: Build shopping cart}
\begin{center}
\begin{tikzpicture}
@@ -552,6 +617,49 @@ Note:
\end{frame}
+\begin{frame}{Merchant Integration: Wallet Detection}
+ \lstset{language=JavaScript}
+ \lstinputlisting{figs/taler-presence-js.html}
+% \caption{Sample code to detect the Taler wallet. Allowing the
+% Web site to detect the presence of the wallet leaks one bit
+% of information about the user. The above logic also works
+% if the wallet is installed while the page is open.}
+% \label{listing:presence}
+\end{frame}
+
+
+\begin{frame}{Merchant Integration: Payment Request}
+% \begin{figure}[p!]
+ \lstset{language=HTML5}
+ \lstinputlisting{figs/taler-402.html}
+% \caption{Sample HTTP response to prompt the wallet to show an offer.}
+% \label{listing:http-contract}
+% \end{figure}
+
+% \begin{figure*}[p!]
+% \lstset{language=HTML5}
+% \lstinputlisting{figs/taler-contract.html}
+% \caption{Sample JavaScript code to prompt the wallet to show an offer.
+% Here, the contract is fetched on-demand from the server.
+% The {\tt taler\_pay()} function needs to be invoked
+% when the user triggers the checkout.}
+% \label{listing:contract}
+% \end{figure*}
+\end{frame}
+
+
+\begin{frame}{Merchant Integration: Contract}
+ % \begin{figure*}[t!]
+ {\tiny
+ \lstset{language=JavaScript}
+ \lstinputlisting{figs/taler-contract.json}
+% \caption{Minimal Taler contract over a digital article with a value of
\EUR{0.10}. The merchant will pay transaction fees up to \EUR{0.01}. The hash
over the wire transfer information was truncated to make it fit to the page.}
+% \label{listing:json-contract}
+ % \end{figure*}
+ }
+\end{frame}
+
+
\begin{frame}{Merchant: Propose contract (EdDSA)}
\begin{minipage}{6cm}
\begin{enumerate}
@@ -1021,6 +1129,7 @@ Note:
\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}
@@ -1031,45 +1140,6 @@ Note:
-\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}
-
-
\section{Competitor analysis}
\begin{frame}{Competitor comparison}
\begin{center} \small
@@ -1090,43 +1160,18 @@ Note:
\end{frame}
-\begin{frame}{Current technical developments}
- \begin{itemize}
- \item Improving wallet (error handling, features, browser support)
- \item Ongoing work on exchange auditing
- \item Tutorial for merchants
- \item Tutorial for Web shop integration
- \end{itemize}
- \vfill
- \begin{center}
- \url{https://api.taler.net/}
- \end{center}
-\end{frame}
-
-
-\begin{frame}{Business considerations}
+\begin{frame}{How to support?}
\begin{itemize}
- \item Exchange needs to be a legal (!) business to operate.
- \item Exchange operator income is from {\em transaction fees}.
- \item Created Taler Systems S.A. in Luxembourg.
- \item Now trying to find partners and financing for startup.
+ \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}
-%\begin{frame}{Community considerations}
-% \begin{itemize}
-% \item Initial accumulation: Who gets to mint currency?
-% \item Speculation: Who controls the money supply?
-% \item Social welfare:
-% \begin{itemize}
-% \item Who gets to set tax rules and rates?
-% \item Who gets to allocate tax revenue?
-% \end{itemize}
-% \end{itemize}
-%\end{frame}
-
-
\begin{frame}{Conclusion}
\begin{center}
{\bf What can we do?}
@@ -1182,6 +1227,13 @@ References:
\end{frame}
+
+
+\end{document}
+
+
+
+
\begin{frame}{Taler {\tt /withdraw/sign}}
% Customer withdrawing coins with blind signatures
% \bigskip
@@ -1520,5 +1572,41 @@ Merchant and exchange see only the public coin $\langle
C, S_{DK}(C) \rangle$.
\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}
-\end{document}
--
To stop receiving notification emails like this one, please contact
address@hidden