marketing

Marketing materials (presentations, posters, flyers)
Log | Files | Refs

commit 42d2979c4b1950507e38f7e6a8648ecbc9dcc5cd
parent 41f592ce2d4596d79588dcd2ae525564ecb085e8
Author: Christian Grothoff <grothoff@gnunet.org>
Date:   Mon,  9 Oct 2023 17:37:28 +0200

reg

Diffstat:
Apresentations/2021-cb/boh-reg.tex | 600+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apresentations/2021-cb/boh.tex | 367+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpresentations/bank/intro.tex | 190++++++++++++++++++++++++++++++++++++++-----------------------------------------
3 files changed, 1059 insertions(+), 98 deletions(-)

diff --git a/presentations/2021-cb/boh-reg.tex b/presentations/2021-cb/boh-reg.tex @@ -0,0 +1,600 @@ +\pdfminorversion=3 +\documentclass[fleqn,xcolor={usenames,dvipsnames}]{beamer} +\usepackage{amsmath} +\usepackage{multimedia} +\usepackage[utf8]{inputenc} +\usepackage{framed,color,ragged2e} +\usepackage[absolute,overlay]{textpos} +\definecolor{shadecolor}{rgb}{0.8,0.8,0.8} +\usetheme{boxes} +\setbeamertemplate{navigation symbols}{} +\usepackage{xcolor} +\usepackage{tikz,eurosym} +\usepackage[normalem]{ulem} +\usepackage{listings} +\usepackage{adjustbox} + +\usepackage{pgf-umlsd} +\usepackage{tikz} +\usetikzlibrary{shapes,arrows} +\usetikzlibrary{positioning} +\usetikzlibrary{calc} +\usetikzlibrary{quotes} + +% CSS +\lstdefinelanguage{CSS}{ + basicstyle=\ttfamily\scriptsize, + keywords={color,background-image:,margin,padding,font,weight,display,position,top,left,right,bottom,list,style,border,size,white,space,min,width, transition:, transform:, transition-property, transition-duration, transition-timing-function}, + sensitive=true, + morecomment=[l]{//}, + morecomment=[s]{/*}{*/}, + morestring=[b]', + morestring=[b]", + alsoletter={:}, + alsodigit={-} +} + +% JavaScript +\lstdefinelanguage{JavaScript}{ + basicstyle=\ttfamily\scriptsize, + morekeywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break}, + morecomment=[s]{/*}{*/}, + morecomment=[l]//, + morestring=[b]", + morestring=[b]' +} + +\lstdefinelanguage{HTML5}{ + basicstyle=\ttfamily\scriptsize, + language=html, + sensitive=true, + alsoletter={<>=-}, + morecomment=[s]{<!-}{-->}, + tag=[s], + otherkeywords={ + % General + >, + % Standard tags + <!DOCTYPE, + </html, <html, <head, <title, </title, <style, </style, <link, </head, <meta, />, + % body + </body, <body, + % Divs + </div, <div, </div>, + % Paragraphs + </p, <p, </p>, + % scripts + </script, <script, + % More tags... + <canvas, /canvas>, <svg, <rect, <animateTransform, </rect>, </svg>, <video, <source, <iframe, </iframe>, </video>, <image, </image> + }, + ndkeywords={ + % General + =, + % HTML attributes + charset=, src=, id=, width=, height=, style=, type=, rel=, href=, + % SVG attributes + fill=, attributeName=, begin=, dur=, from=, to=, poster=, controls=, x=, y=, repeatCount=, xlink:href=, + % CSS properties + margin:, padding:, background-image:, border:, top:, left:, position:, width:, height:, + % CSS3 properties + transform:, -moz-transform:, -webkit-transform:, + animation:, -webkit-animation:, + transition:, transition-duration:, transition-property:, transition-timing-function:, + } +} + +\lstdefinelanguage{JavaScript}{ + basicstyle=\ttfamily\scriptsize, + keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, for}, + keywordstyle=\color{blue}\bfseries, + ndkeywords={class, export, boolean, throw, implements, import, this}, + ndkeywordstyle=\color{darkgray}\bfseries, + identifierstyle=\color{black}, + sensitive=false, + comment=[l]{//}, + morecomment=[s]{/*}{*/}, + commentstyle=\color{purple}\ttfamily, + stringstyle=\color{red}\ttfamily, + morestring=[b]', + morestring=[b]" +} + +\usetikzlibrary{shapes,arrows} +\usetikzlibrary{positioning} +\usetikzlibrary{calc} + +\title{GNU Taler Digital Cash Payment System} +%\subtitle{} + +\setbeamertemplate{navigation symbols}{\includegraphics[width=1cm]{inria.pdf} \includegraphics[width=2.3cm]{bfh.png} \includegraphics[width=1.6cm]{fub.pdf} \includegraphics[width=0.4cm]{ashoka.png} \includegraphics[width=0.4cm]{gnu.png} \includegraphics[width=1cm]{logo-2020.jpg} \hfill} +%\setbeamercovered{transparent=1} + +\author[C. Grothoff]{{\bf C. Grothoff}} +\date{10.09.2023} +\institute{Bern University of Applied Sciences} + + +\begin{document} + +\justifying + +\begin{frame} + \begin{center} + \LARGE {\bf GNU} + + \vfill +% \includegraphics[width=0.66\textwidth]{logo-2017-fr.pdf} + \includegraphics[width=0.66\textwidth]{logo-2021.pdf} + + Digital Cash Payment System + \vfill + \end{center} +\begin{textblock*}{6cm}(.5cm,7.7cm) % {block width} (coords) + {\Large {\bf \href{https://taler.net/}{taler.net}} \\ + \href{https://taler-systems.com/}{taler-systems.com}} +\end{textblock*} + +% Substitute based on who is giving the talk! + \begin{textblock*}{6cm}(6.7cm,7.7cm) % {block width} (coords) + {%\hfill {\Large {\bf Florian Dold \&} \\ + \hfill {\bf Christian Grothoff} \\ + \hfill grothoff@taler.net } +\end{textblock*} + +\end{frame} + +\section{Introduction} + + +\section{What is Taler?} +\begin{frame}{What is Taler?} + \begin{center} +Taler is an electronic instant payment system based on tokens. + \end{center} + \begin{itemize} + \item Uses electronic coins stored in {\bf wallets} on customer's device + \item Like {\bf cash} + \item Pay in {\bf existing currencies} (i.e. CHF, EUR, USD) + \end{itemize} + \vfill + \pause + \noindent + However, Taler is + \begin{itemize} + \item \emph{not} a currency + \item \emph{not} a long-term store of value + \item \emph{not} a network or instance of a system + \item \emph{not} decentralized + \item \emph{not} based on proof-of-work or proof-of-stake + \item \emph{not} a speculative asset / ``get-rich-quick scheme'' + \end{itemize} +\end{frame} + + +\begin{frame}{Design Principles} + \framesubtitle{https://taler.net/en/principles.html} +GNU Taler must ... +\begin{enumerate} + \item {... be implemented as {\bf free software}.} + \item {... protect the {\bf privacy of buyers}.} + \item {... must enable the state to {\bf tax income} and crack down on + illegal business activities.} + \item {... prevent payment fraud.} + \item {... only {\bf disclose the minimal amount of information + necessary}.} + \item {... be usable.} + \item {... be efficient.} + \item {... avoid single points of failure.} + \item {... foster {\bf competition}.} +\end{enumerate} +\end{frame} + + +\begin{frame}{The Big Picture (Taler Pilot)} +\begin{center} +\includegraphics[width=0.8\textwidth]{operations.png} +\end{center} +\end{frame} + + +\begin{frame}[fragile]{Business Process: Withdraw} +\begin{figure}[h!] +\tiny + \begin{sequencediagram} + \newinst{wallet}{Customer wallet} + \newinst[2]{exchange}{Taler (exchange)} + \newinst[2]{bank}{Customer bank} +% \postlevel +% \mess[0]{wallet}{Withdraw {(Amount)}}{exchange} + \mess[0]{exchange}{{Configuration (ToS, Fees)}}{wallet} + \mess[0]{wallet}{{Initiate transfer (Amount, Credit account, Wallet ID)}}{bank} + \mess[0]{bank}{{Credit (Wallet ID)}}{exchange} + + \begin{sdblock}{Acceptable transfer?}{} + \prelevel + \mess[0]{exchange}{{Bounce funds}}{bank} + \end{sdblock} + % \postlevel + \mess[0]{exchange}{Confirm wire transfer}{wallet} + \mess[0]{wallet}{Request digital cash}{exchange} + \mess[0]{exchange}{Distribute digital cash}{wallet} + % \postlevel + \begin{sdblock}{Withdraw period expired?}{} + \prelevel + \mess[0]{exchange}{{Return remaining funds}}{bank} + \end{sdblock} +\end{sequencediagram} +\end{figure} +\end{frame} + + +\begin{frame}[fragile]{Business Process: Pay} +\begin{figure}[h!] +\tiny + \begin{sequencediagram} + \newinst{wallet}{%\shortstack{ + Customer wallet% \\ +% \\ \begin{tikzpicture} +% \node [fill=gray!20,draw=black,thick,align=center] { Unique \\ Wallet ID}; +% \end{tikzpicture} + %} + } + \newinst[1]{merchant}{%\shortstack{ + Merchant %\\ +% \\ \begin{tikzpicture}[shape aspect=.5] +% \tikzset{every node/.style={cylinder,shape border rotate=90, draw,fill=gray!25}} +% \node at (1.5,0) {\shortstack{{{\tiny Database}}}}; +% \end{tikzpicture} + %} + } + \newinst[1]{exchange}{%\shortstack{ + Taler (exchange) %\\ +% \\ \begin{tikzpicture}[shape aspect=.5] +% \tikzset{every node/.style={cylinder,shape border rotate=90, draw,fill=gray!25}} +% \node at (1.5,0) {\shortstack{{{\tiny Database}}}}; +% \end{tikzpicture} +% } +} + + \newinst[1]{bank}{%\shortstack{ + Merchant bank %\\ +% \\ \begin{tikzpicture} +% \node [fill=gray!20,draw=black,thick,align=center] {Commercial \\ Accounts}; +% \end{tikzpicture} +% } +} +% \postlevel + \mess[0]{wallet}{Browse catalog}{merchant} + \mess[0]{merchant}{Commercial offer}{wallet} +% \begin{callself}{wallet}{Review offer}{} +% \end{callself} + \mess[0]{wallet}{Pay {(Coins)}}{merchant} + \mess[0]{merchant}{Deposit {(Coins)}}{exchange} + \begin{sdblock}{Acceptable account?}{} + \prelevel + \mess[0]{exchange}{{Refuse deposit}}{merchant} + \mess[0]{merchant}{{Refund purchase}}{wallet} + \end{sdblock} + \mess[0]{exchange}{{Confirm deposit}}{merchant} + \mess[0]{merchant}{Fulfill order}{wallet} + \end{sequencediagram} +\end{figure} +\end{frame} + + +\begin{frame}[fragile]{Business Process: Aggregation} +\begin{figure}[h!] +\tiny + \begin{sequencediagram} + \newinst{wallet}{Customer wallet} + \newinst[1]{merchant}{Merchant} + \newinst[1]{exchange}{Taler (exchange)} + \newinst[1]{bank}{Merchant bank} + \begin{callself}{exchange}{Aggregate transactions}{} + \end{callself} + \begin{sdblock}{KYC/AML required?}{} + \prelevel + \begin{callself}{exchange}{KYC/AML process}{} + \end{callself} + \end{sdblock} + \mess[0]{exchange}{{Initiate transfer}}{bank} + \end{sequencediagram} +\end{figure} +\end{frame} + + + +\begin{frame}[fragile]{Business Process: Deposit} + +\begin{figure}[h!] +\tiny + \begin{sequencediagram} + \newinst{wallet}{Customer wallet} + \newinst[2]{exchange}{Taler (exchange)} + \newinst[2]{bank}{Retail bank} + \begin{callself}{wallet}{Review deposit fees}{} + \end{callself} + \mess[0]{wallet}{Deposit {(Coins)}}{exchange} + \begin{sdblock}{Acceptable account?}{} + \prelevel + \mess[0]{exchange}{{Refuse deposit}}{wallet} + \end{sdblock} + \begin{sdblock}{KYC/AML required?}{} + \prelevel + \begin{callself}{exchange}{KYC/AML process}{} + \end{callself} + \end{sdblock} + \mess[0]{exchange}{{Initiate transfer}}{bank} + \end{sequencediagram} +\end{figure} +\end{frame} + +\begin{frame}[fragile]{Business Process: Push Payment} +\begin{figure}[h!] +\tiny + \begin{sequencediagram} + \newinst{payer}{Payer} + \newinst[2]{exchange}{Taler (exchange)} + \newinst[2]{payee}{Payee} + \mess[0]{payer}{{Push funds (Coins)}}{exchange} + \mess[0]{payer}{{Offer payment (e.g. via QR code)}}{payee} + \mess[0]{payee}{{Request funds (Wallet ID)}}{exchange} + \begin{sdblock}{KYC/AML required?}{} + \prelevel + \begin{callself}{exchange}{KYC/AML process}{} + \end{callself} + \end{sdblock} + \mess[0]{exchange}{{Distribute digital cash}}{payee} + \begin{sdblock}{Payment offer expired?}{} + \mess[0]{exchange}{{Return funds}}{payer} + \end{sdblock} + +\end{sequencediagram} + \caption{Interactions between wallets and Taler exchange + in a push payment. KYC/AML checks apply.} + \label{fig:int:push} +\end{figure} +\end{frame} + +\begin{frame}[fragile]{Business Process: Pull Payment} +\begin{figure}[h!] +\tiny + \begin{sequencediagram} + \newinst{payer}{Payer} + \newinst[2]{exchange}{Taler (exchange)} + \newinst[2]{payee}{Payee} + \mess[0]{payee}{{Create invoice (Wallet ID)}}{exchange} + \mess[0]{exchange}{{Invoice ready}}{payee} + \mess[0]{payee}{{Send invoice (e.g. via QR code)}}{payer} + \mess[0]{payer}{{Make payment (Coins)}}{exchange} + \begin{sdblock}{KYC/AML required?}{} + \prelevel + \begin{callself}{exchange}{AML/KYC process}{} + \end{callself} + \end{sdblock} + \mess[0]{exchange}{{Distribute digital cash}}{payee} + \end{sequencediagram} +\end{figure} +\end{frame} + +\begin{frame}[fragile]{Business Processes: Shutdown} +\begin{figure}[h!] +\tiny + \begin{sequencediagram} + \newinst{wallet}{Customer wallet} + \newinst[2]{exchange}{Taler (exchange)} + \newinst[2]{bank}{Customer bank} + \mess[0]{exchange}{{Shutdown alert}}{wallet} + \begin{sdblock}{Bank account known?}{} + \prelevel + \begin{callself}{wallet}{Designate bank account}{} + \end{callself} + \end{sdblock} + \mess[0]{wallet}{{Deposit (Coins)}}{exchange} + \begin{sdblock}{KYC/AML required?}{} + \prelevel + \begin{callself}{exchange}{}{} + \end{callself} + \end{sdblock} + \mess[0]{exchange}{{Initiate transfer}}{bank} +\end{sequencediagram} +\end{figure} +\end{frame} + +\begin{frame}[fragile]{Compliance Processes: Withdraw} + \begin{center} +\scalebox{0.3}{ +\begin{tikzpicture}[node distance=1cm,font=\sffamily, + start/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=yellow!30}, + end/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=red!30}, + process/.style={rectangle, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=orange!30}, + failed/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=red!30}, + io/.style={trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30}, + decision/.style={diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30}, + arr/.style={very thick,-latex}, + every edge quotes/.style = {auto, font=\footnotesize, sloped} + ] + \node (start) [start] {Start}; + \node (country) [decision,below=of start,text width=3cm] {Wire transfer originates from allowed country?}; + \node (amount) [decision, below=of country,text width=3cm] {Transferred less than maximum amount from origin account over last month?}; + \node (allow) [end, below=of amount] {Allow}; + \node (deny) [failed, right=of allow] {Deny}; + \draw[arr] (start) -> (country) {}; + \draw[arr] (country) -> (amount); + \draw (country) edge["Yes"] (amount); + \draw[arr] (country.east) -> (deny); + \draw (country.east) edge["No"] (deny); + \draw[arr] (amount) -> (allow); + \draw (amount) edge["Yes"] (allow); + \draw[arr] (amount.east) -> (deny); + \draw (amount.east) edge["No"] (deny); +\end{tikzpicture} +} + \end{center} +\end{frame} + +\begin{frame}[fragile]{Compliance Processes: Deposit} + \begin{center} +\scalebox{0.3}{ +\begin{tikzpicture}[node distance=1cm,font=\sffamily, + start/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=yellow!30}, + end/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=red!30}, + process/.style={rectangle, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=orange!30}, + failed/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=red!30}, + io/.style={trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30}, + decision/.style={diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30}, + arr/.style={very thick,-latex}, + every edge quotes/.style = {auto, font=\footnotesize, sloped} + ] + \node (start) [start] {Start}; + \node (country) [decision,below=of start,text width=2.5cm] {Target account in allowed country?}; + \node (amount) [decision, below=of country,text width=2.5cm] {Target account received less than KYB threshold?}; + \node (kyc) [process, right=of amount] {KYB process}; + \node (high) [decision, below=of amount,text width=2.5cm] {Target account received more than its AML threshold?}; + \node (aml) [process, right=of high] {AML process}; + \node (dummy) [below right=of aml] {}; + \node (allow) [end, below right=of dummy] {Allow}; + \node (deny) [failed, right=of kyc] {Deny}; + \draw[arr] (start) -> (country) {}; + + \draw[arr] (country) -> (amount); + \draw (country) edge["Yes"] (amount); + + \draw[arr] (country.east) -> (deny); + \draw (country.east) edge["No"] (deny); + + \draw[arr] (amount) -> (high); + \draw (amount) edge["Yes"] (high); + + \draw[arr] (amount.east) -> (kyc); + \draw (amount.east) edge["No"] (kyc); + + \draw[arr] (kyc) -> (deny); + \draw (kyc) edge["Failed"] (deny); + + \draw[arr] (kyc) -> (high); + \draw (kyc) edge["Succeeded"] (high); + + \draw[arr] (high.south) -> (allow); + \draw (high.south) edge["Yes"] (allow); + + \draw[arr] (high.east) -> (aml); + \draw (high.east) edge["No"] (aml); + + \draw[arr] (aml) -> (deny); + \draw (aml) edge["Violation"] (deny); + + \draw[arr] (aml) -> (allow); + \draw (aml) edge["Ok"] (allow); +\end{tikzpicture} +} + \end{center} +\end{frame} + + +\begin{frame}[fragile]{Compliance Processes: KYC} +\begin{figure}[h!] +\tiny + \begin{sequencediagram} + \newinst{wallet}{Customer} + \newinst[2]{exchange}{Taler (exchange)} + \newinst[2]{kyc}{KYC provider} + \mess[0]{wallet}{{Initial action}}{exchange} + \prelevel + \begin{callself}{exchange}{Establish KYC requirement}{} + \end{callself} + \mess[0]{exchange}{Request new KYC process}{kyc} + \mess[0]{kyc}{{Process identifier (PI)}}{exchange} + \prelevel + \mess[0]{exchange}{{KYC required (PI)}}{wallet} + \mess[0]{wallet}{{KYC start (PI)}}{kyc} + \mess[0]{kyc}{{Request identity documentation}}{wallet} + \mess[0]{wallet}{{Upload identity documentation}}{kyc} + \prelevel + \begin{callself}{kyc}{Validate documentation}{} + \end{callself} + \mess[0]{kyc}{{Share documentation (PI)}}{exchange} + \mess[0]{kyc}{{Confirm completion}}{wallet} + \mess[0]{wallet}{{Retry action}}{exchange} +\end{sequencediagram} +\end{figure} +\end{frame} + + +\begin{frame}[fragile]{Compliance Processes: AML} +\begin{figure}[h!] +\tiny + \begin{sequencediagram} + \newinst{wallet}{Customer} + \newinst[2]{exchange}{Taler (exchange)} + \newinst[2]{staff}{AML staff} + \mess[0]{wallet}{{Initial action}}{exchange} + \prelevel + \begin{callself}{exchange}{Establish AML requirement}{} + \end{callself} + \mess[0]{exchange}{Wait for AML}{wallet} + \mess[0]{staff}{Request AML work}{exchange} + \mess[0]{exchange}{KYC/AML data}{staff} + \prelevel + \begin{callself}{staff}{Review and decide}{} + \end{callself} + \mess[0]{staff}{{Decision documentation}}{exchange} + \mess[0]{exchange}{AML decision}{wallet} + \mess[0]{wallet}{{Retry action}}{exchange} +\end{sequencediagram} +\end{figure} +\end{frame} + + + + + +\begin{frame}{The Future: Taler PILOT} + First deployments with retail banks 2024--2026: + \begin{itemize} + \item Integration with respective core banking systems + \item Integration with compliance (KYC/KYB/AML/CFT processes) + \item Development of legal framework (ToS/PP/regulatory oversight) + \item Integration with merchants (E-commerce, publishers, public transportation, e-health, ...) + \item Usability studies and accessibility improvement + \item Organized events with discussions on the future of money + \item Technical enhancement (donations, tax deductions, subscriptions, programmable money, + hardware development, ...) + \end{itemize} + \begin{center} + $\Rightarrow$ EU-wide activities (+non-EU partners) + \end{center} +\end{frame} + + +\begin{frame} +\frametitle{Do you have any questions?} +\vfill +References: +{\tiny + \begin{enumerate} + \item{Martin Summer and Hannes Hermanky. + {\em A digital euro and the future of cash}. + {\bf Monetary Policy \& The Economy Q1-Q2/22}, 2022.} + \item{David Chaum, Christian Grothoff and Thomas Moser. + {\em How to issue a central bank digital currency}. + {\bf SNB Working Papers, 2021}.} + \item{Priscilla Huang, Emmanuel Benoist, and Sebastian Javier Marchano. + {\em Practical Offline Payments Using One-Time Passcodes}. + {\bf SUREF Policy Note}, Issue No 622, June 2023.} + \item{Antoine d'Aligny, Emmanuel Benoist, Florian Dold, Christian Grothoff, \"Ozg\"ur Kesim and Martin Schanzenbach. + {\em Who comes after us? The correct mindset for designing a Central Bank Digital Currency}. + {\bf SUREF Policy Note}, Issue No 279, May 2022.} + \item{Christian Grothoff and Alex Pentland. + {\em Digital cash and privacy: What are the alternatives to Libra?}. + {\bf MIT Media Lab}, 2019.} + \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.} +\end{enumerate} +} +\end{frame} + + +\end{document} diff --git a/presentations/2021-cb/boh.tex b/presentations/2021-cb/boh.tex @@ -0,0 +1,367 @@ +\pdfminorversion=3 +\documentclass[fleqn,xcolor={usenames,dvipsnames}]{beamer} +\usepackage{amsmath} +\usepackage{multimedia} +\usepackage[utf8]{inputenc} +\usepackage{framed,color,ragged2e} +\usepackage[absolute,overlay]{textpos} +\definecolor{shadecolor}{rgb}{0.8,0.8,0.8} +\usetheme{boxes} +\setbeamertemplate{navigation symbols}{} +\usepackage{xcolor} +\usepackage{tikz,eurosym} +\usepackage[normalem]{ulem} +\usepackage{listings} +\usepackage{adjustbox} + +% CSS +\lstdefinelanguage{CSS}{ + basicstyle=\ttfamily\scriptsize, + keywords={color,background-image:,margin,padding,font,weight,display,position,top,left,right,bottom,list,style,border,size,white,space,min,width, transition:, transform:, transition-property, transition-duration, transition-timing-function}, + sensitive=true, + morecomment=[l]{//}, + morecomment=[s]{/*}{*/}, + morestring=[b]', + morestring=[b]", + alsoletter={:}, + alsodigit={-} +} + +% JavaScript +\lstdefinelanguage{JavaScript}{ + basicstyle=\ttfamily\scriptsize, + morekeywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break}, + morecomment=[s]{/*}{*/}, + morecomment=[l]//, + morestring=[b]", + morestring=[b]' +} + +\lstdefinelanguage{HTML5}{ + basicstyle=\ttfamily\scriptsize, + language=html, + sensitive=true, + alsoletter={<>=-}, + morecomment=[s]{<!-}{-->}, + tag=[s], + otherkeywords={ + % General + >, + % Standard tags + <!DOCTYPE, + </html, <html, <head, <title, </title, <style, </style, <link, </head, <meta, />, + % body + </body, <body, + % Divs + </div, <div, </div>, + % Paragraphs + </p, <p, </p>, + % scripts + </script, <script, + % More tags... + <canvas, /canvas>, <svg, <rect, <animateTransform, </rect>, </svg>, <video, <source, <iframe, </iframe>, </video>, <image, </image> + }, + ndkeywords={ + % General + =, + % HTML attributes + charset=, src=, id=, width=, height=, style=, type=, rel=, href=, + % SVG attributes + fill=, attributeName=, begin=, dur=, from=, to=, poster=, controls=, x=, y=, repeatCount=, xlink:href=, + % CSS properties + margin:, padding:, background-image:, border:, top:, left:, position:, width:, height:, + % CSS3 properties + transform:, -moz-transform:, -webkit-transform:, + animation:, -webkit-animation:, + transition:, transition-duration:, transition-property:, transition-timing-function:, + } +} + +\lstdefinelanguage{JavaScript}{ + basicstyle=\ttfamily\scriptsize, + keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, for}, + keywordstyle=\color{blue}\bfseries, + ndkeywords={class, export, boolean, throw, implements, import, this}, + ndkeywordstyle=\color{darkgray}\bfseries, + identifierstyle=\color{black}, + sensitive=false, + comment=[l]{//}, + morecomment=[s]{/*}{*/}, + commentstyle=\color{purple}\ttfamily, + stringstyle=\color{red}\ttfamily, + morestring=[b]', + morestring=[b]" +} + +\usetikzlibrary{shapes,arrows} +\usetikzlibrary{positioning} +\usetikzlibrary{calc} + +\title{GNU Taler as a Retail CBDC} +%\subtitle{} + +\setbeamertemplate{navigation symbols}{\includegraphics[width=1cm]{inria.pdf} \includegraphics[width=2.3cm]{bfh.png} \includegraphics[width=1.6cm]{fub.pdf} \includegraphics[width=0.4cm]{ashoka.png} \includegraphics[width=0.4cm]{gnu.png} \includegraphics[width=1cm]{logo-2020.jpg} \hfill} +%\setbeamercovered{transparent=1} + +\author[C. Grothoff]{{\bf C. Grothoff}} +\date{10.09.2023} +\institute{Bern University of Applied Sciences} + + +\begin{document} + +\justifying + +\begin{frame} + \begin{center} + \LARGE {\bf GNU} + + \vfill +% \includegraphics[width=0.66\textwidth]{logo-2017-fr.pdf} + \includegraphics[width=0.66\textwidth]{logo-2021.pdf} + + as a Retail CBDC + \vfill + \end{center} +\begin{textblock*}{6cm}(.5cm,7.7cm) % {block width} (coords) + {\Large {\bf \href{https://taler.net/}{taler.net}} \\ + \href{https://taler-systems.com/}{taler-systems.com}} +\end{textblock*} + +% Substitute based on who is giving the talk! + \begin{textblock*}{6cm}(6.7cm,7.7cm) % {block width} (coords) + {%\hfill {\Large {\bf Florian Dold \&} \\ + \hfill {\bf Christian Grothoff} \\ + \hfill grothoff@taler.net } +\end{textblock*} + +\end{frame} + +\section{Introduction} + +\begin{frame}{Main Points} + \framesubtitle{\url{https://taler.net/}} +Our payment system: +\begin{itemize} +\item is token-based (no accounts), centrally issued (not DLT); as efficient and cost-effective +as modern real-time gross settlement (RTGS) systems operated by central banks; +\item is designed to provide an electronic equivalent to banknotes, therefore no material +impact on monetary policy and/or financial stability expected; +\item guarantees privacy for the payer, combined with KYC/AML/CFT compliance and +income transparency to ensure taxes are paid; +\item is implemented as Free/Libre and Open Source Software (FLOSS) to provide +transparency, accountability, and security (part of the GNU project). +\end{itemize} +\end{frame} + + +\begin{frame}{Payment Systems: Accounts vs. Tokens} +Two types of payment systems: +\begin{enumerate} +\item {\bf account-based system}: transfer occurs by charging the payer’s account and crediting +the payee’s account (e.g., bank deposits) +\item {\bf token-based (value-based) system}: transfer occurs by transferring the value itself, or a +token that represents the monetary asset (e.g., banknotes) +\end{enumerate} +Key Difference is the information carried by the information asset: +\begin{itemize} +\item account (assets): associated with a transaction history +\item token (assets): carry information about value and entity that issued the token +\end{itemize} +Bitcoin, and Distributed Ledger Technologies (DLTs) in general, are account-based systems! +Novelty is that the ledger is distributed (decentralized). +\end{frame} + + +\begin{frame}{Simplistic rCBDC Designs} + \framesubtitle{\url{https://edwardsnowden.substack.com/p/cbdcs}} + \begin{itemize} +\item Account-based rCBDC (e.g., Bindseil 2020, Berentsen and Schär 2018): +\begin{itemize} +\item simplest solution: central bank account for all +\item responsibility to perform KYC and ensure AML/CFT (could be outsourced); +\item potential for mass-surveillance (threat to CB independence); +\item in direct competition with commercial banks +\end{itemize} \pause +\item Token-based rCBDC: +\begin{itemize} +\item requires a system to ensure that electronic tokens are not easily copied +(hardware-based or software-based) \\ $\rightarrow$ double-spending problem +\item KYC and AML/CFT compliance? +\end{itemize} +\end{itemize} +\end{frame} + + +\section{What is Taler?} +\begin{frame}{What is Taler?} + \begin{center} +Taler is an electronic instant payment system based on tokens. + \end{center} + \begin{itemize} + \item Uses electronic coins stored in {\bf wallets} on customer's device + \item Like {\bf cash} + \item Pay in {\bf existing currencies} (i.e. CHF, EUR, USD) + \end{itemize} + \vfill + \pause + \noindent + However, Taler is + \begin{itemize} + \item \emph{not} a currency + \item \emph{not} a long-term store of value + \item \emph{not} a network or instance of a system + \item \emph{not} decentralized + \item \emph{not} based on proof-of-work or proof-of-stake + \item \emph{not} a speculative asset / ``get-rich-quick scheme'' + \end{itemize} +\end{frame} + + +\begin{frame}{Some of the people behind GNU Taler} +{\tiny +\begin{itemize} + \item Prof. Christian Grothoff (research \& development) + \item Prof. Andreas Habegger (research, hardware) + \item Prof. Emmanuel Benoist (research, cryptography) + \item Prof. Tanja Lange (research, cryptography) + \item Prof. Matthias W\"ahlisch (research, embedded systems) + \item Dr. Florian Dold (cryptography, systems engineering) + \item Dr. Thomas Moser (economics) + \item Dr. Richard Stallman (ethics) + \item Dr. Michael Widmer, MBA (legal) + \item Dr. Belén Barros Pena (UX design, accessibility) + \item Leon Schumacher, MBA (business) + \item Marcello (bank integration) + \item \"Ozg\"ur (security audit, age restrictions) + \item Sebastian (Web interface) + \item Stefan (documentation, project management) + \item Torsten (Andorid wallet) + \item Marc (iOS wallet) + \item Ivan (backup) +\end{itemize} +} +\end{frame} + + +\begin{frame}{Design Principles} + \framesubtitle{https://taler.net/en/principles.html} +GNU Taler must ... +\begin{enumerate} + \item {... be implemented as {\bf free software}.} + \item {... protect the {\bf privacy of buyers}.} + \item {... must enable the state to {\bf tax income} and crack down on + illegal business activities.} + \item {... prevent payment fraud.} + \item {... only {\bf disclose the minimal amount of information + necessary}.} + \item {... be usable.} + \item {... be efficient.} + \item {... avoid single points of failure.} + \item {... foster {\bf competition}.} +\end{enumerate} +\end{frame} + + +\begin{frame}{The Big Picture (SNB)} +\begin{center} +\includegraphics[width=0.8\textwidth]{bp.png} +\end{center} +\end{frame} + + +\begin{frame}{The Big Picture (Taler Pilot)} +\begin{center} +\includegraphics[width=0.8\textwidth]{operations.png} +\end{center} +\end{frame} + + +\begin{frame}{Taler: Unique Regulatory Features for CBs} + \framesubtitle{\url{https://www.snb.ch/en/mmr/papers/id/working_paper_2021_03}} + \begin{itemize} + \item Central bank issues digital coins equivalent to issuing cash \\ + $\Rightarrow$ monetary policy remains under CB control + \item Architecture with consumer accounts at commercial banks \\ + $\Rightarrow$ no competition for commercial banking (S\&L) \\ + $\Rightarrow$ CB does not have to manage KYC, customer support + \item Withdrawal limits and denomination expiration \\ + $\Rightarrow$ protects against bank runs and hoarding + \item Income transparency and possibility to set fees \\ + $\Rightarrow$ additional insights into economy and new policy options + \item Revocation protocols and loss limitations \\ + $\Rightarrow$ exit strategy and handles catastrophic security incidents + \item Privacy by cryptographic design not organizational compliance \\ + $\Rightarrow$ CB cannot be forced to facilitate mass-surveillance + \end{itemize} +\end{frame} + + +\section{Competitor comparison} +\begin{frame}{Competitor comparison} + \begin{center} \small + \begin{tabular}{l||c|c|c|c|c} + & Cash & DLT & HW-Token & CB-Account & GNU Taler \\ \hline \hline + Online &$-$$-$$-$ & + & $-$ & ++ & +++ \\ \hline + Offline & +++ & $-$$-$$-$ & $+$ & $-$$-$ & $+$ \\ \hline + Cost & $-$ & $-$$-$$-$ & $-$ & + & ++ \\ \hline + Speed & + & $-$$-$$-$ & $+$ & o & ++ \\ \hline + Taxation & $-$ & +++ & $-$$-$ & +++ & +++ \\ \hline + Payer-anon & ++ & $-$$-$ & ??? & $-$$-$ & +++ \\ \hline + Payee-anon & ++ & $-$$-$ & ??? & $-$$-$ & $-$$-$$-$ \\ \hline + Security & $-$ & ??? & $-$$-$ & o & ++ \\ \hline + Migration & +++ & $-$$-$$-$ & $-$$-$$-$& o & + \\ \hline + Libre & $-$ & ??? & $-$$-$$-$& N/A & +++ \\ + \end{tabular} + \end{center} +\end{frame} + + +\begin{frame}{The Future: Taler PILOT} + First deployments with retail banks 2024--2026: + \begin{itemize} + \item Integration with respective core banking systems + \item Integration with compliance (KYC/KYB/AML/CFT processes) + \item Development of legal framework (ToS/PP/regulatory oversight) + \item Integration with merchants (E-commerce, publishers, public transportation, e-health, ...) + \item Usability studies and accessibility improvement + \item Organized events with discussions on the future of money + \item Technical enhancement (donations, tax deductions, subscriptions, programmable money, + hardware development, ...) + \end{itemize} + \begin{center} + $\Rightarrow$ EU-wide activities (+non-EU partners) + \end{center} +\end{frame} + + +\begin{frame} +\frametitle{Do you have any questions?} +\vfill +References: +{\tiny + \begin{enumerate} + \item{Martin Summer and Hannes Hermanky. + {\em A digital euro and the future of cash}. + {\bf Monetary Policy \& The Economy Q1-Q2/22}, 2022.} + \item{David Chaum, Christian Grothoff and Thomas Moser. + {\em How to issue a central bank digital currency}. + {\bf SNB Working Papers, 2021}.} + \item{Priscilla Huang, Emmanuel Benoist, and Sebastian Javier Marchano. + {\em Practical Offline Payments Using One-Time Passcodes}. + {\bf SUREF Policy Note}, Issue No 622, June 2023.} + \item{Antoine d'Aligny, Emmanuel Benoist, Florian Dold, Christian Grothoff, \"Ozg\"ur Kesim and Martin Schanzenbach. + {\em Who comes after us? The correct mindset for designing a Central Bank Digital Currency}. + {\bf SUREF Policy Note}, Issue No 279, May 2022.} + \item{Christian Grothoff and Alex Pentland. + {\em Digital cash and privacy: What are the alternatives to Libra?}. + {\bf MIT Media Lab}, 2019.} + \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.} +\end{enumerate} +} +\end{frame} + + +\end{document} diff --git a/presentations/bank/intro.tex b/presentations/bank/intro.tex @@ -218,16 +218,16 @@ GNU Taler must ... \item Enhanced digital efficiency (usability, convenience, speed) \item Cash-like features (one-sided privacy, viable microtransactions) \item Competitive features (age-restrictions, p2p payments, etc.) - \item Enhanced monetary policy options (friendly for central banks) +% \item Enhanced monetary policy options (friendly for central banks) \item Increased resilience (full-stack replacement) \item Internationally usable (including unbanked or tourists) \item Low-cost and thus environmentally friendly \item Free Software provides provider-neutral infrastructure \item Compliant with regulation (AML, KYC, CFT) as privacy is one-sided and payments remain intermediated - \item Non-core components to be operated by private entities +% \item Non-core components to be operated by private entities \item Protocol is an open standard with freely available reference implementations - \item Possibility to limit amounts withdrawn by non-residents - \item Uses modern cryptography, highly regarded peer-reviewed design and implementation +% \item Possibility to limit amounts withdrawn by non-residents + \item Uses modern cryptography, peer-reviewed design and implementation \end{enumerate} \end{frame} @@ -304,89 +304,6 @@ GNU Taler must ... -\begin{frame}[fragile]{Option 1: Central Bank as Pure Regulator} -\begin{adjustbox}{max totalsize={.9\textwidth}{.7\textheight},center} -\begin{tikzpicture} - \tikzstyle{def} = [node distance= 6em and 6.5em, inner sep=1em, outer sep=.3em]; - \node (origin) at (0,0) {}; - \node (central) [def,above=of origin,draw]{Central Bank}; - \node (banka) [def, draw, below right=of exchange] {Commercial Bank B}; - \node (bankb) [def, draw, below left=of exchange] {Commercial Bank A}; - \node (consumera) [def, draw, below=of banka] {Consumers}; - \node (consumerb) [def, draw, below=of bankb] {Consumers}; - \tikzstyle{C} = [color=black, line width=1pt] - - \draw [->, C] (central) -- (banka) node [midway, above, sloped] (TextNode) {supervision}; - \draw [->, C] (central) -- (bankb) node [midway, above, sloped] (TextNode) {supervision}; - \draw [<->, C] (banka) -- (bankb) node [midway, above, sloped] (TextNode) {settlement}; - \draw [<->, C] (consumera) -- (banka) node [midway, above, sloped] (TextNode) {KYC}; - \draw [<->, C] (consumera) -- (banka) node [midway, below, sloped] (TextNode) {transact}; - \draw [<->, C] (consumerb) -- (bankb) node [midway, above, sloped] (TextNode) {KYC}; - \draw [<->, C] (consumerb) -- (bankb) node [midway, below, sloped] (TextNode) {transact}; -\end{tikzpicture} -\end{adjustbox} -The central bank could leave the operation of the core system to commercial -banks (see Auer, BIS 2021) and focus on (real-time) supervision of the system. -\end{frame} - - -\begin{frame}[fragile]{Option 2: Central Bank as Core System Operator} -\begin{adjustbox}{max totalsize={.9\textwidth}{.7\textheight},center} -\begin{tikzpicture} - \tikzstyle{def} = [node distance= 6em and 6.5em, inner sep=1em, outer sep=.3em]; - \node (origin) at (0,0) {}; - \node (central) [def,above=of origin,draw]{Central Bank}; - \node (banka) [def, draw, below right=of exchange] {Commercial Bank B}; - \node (bankb) [def, draw, below left=of exchange] {Commercial Bank A}; - \node (consumera) [def, draw, below=of banka] {Consumers}; - \node (consumerb) [def, draw, below=of bankb] {Consumers}; - \tikzstyle{C} = [color=black, line width=1pt] - - \draw [<->, C] (central) -- (banka) node [midway, above, sloped] (TextNode) {transact}; - \draw [<->, C] (central) -- (bankb) node [midway, above, sloped] (TextNode) {transact}; - \draw [<-, C] (consumera) -- (banka) node [midway, above, sloped] (TextNode) {KYC}; - \draw [<-, C] (consumera) -- (banka) node [midway, below, sloped] (TextNode) {transact}; - \draw [<-, C] (consumerb) -- (bankb) node [midway, above, sloped] (TextNode) {KYC}; - \draw [<-, C] (consumerb) -- (bankb) node [midway, below, sloped] (TextNode) {transact}; -\end{tikzpicture} -\end{adjustbox} -If the central bank operates the core system, interbank settlements -are no longer required. -\end{frame} - - -\begin{frame}[fragile]{Option 3: Central Bank M.I.A.} -\begin{adjustbox}{max totalsize={.9\textwidth}{.7\textheight},center} -\begin{tikzpicture} - \tikzstyle{def} = [node distance= 6em and 6.5em, inner sep=1em, outer sep=.3em]; - \node (origin) at (0,0) {}; - \node (central) [def,above=of origin,draw]{Regulator / Auditor}; - \node (banka) [def, draw, below right=of exchange] {Commercial Bank C}; - \node (bankb) [def, draw, below left=of exchange] {Commercial Bank A}; - \node (bankc) [def, draw, below =of exchange] {Commercial Bank B}; - \node (consumera) [def, draw, below=of banka] {Consumers}; - \node (consumerb) [def, draw, below=of bankb] {Consumers}; - \node (consumerc) [def, draw, below=of bankc] {Consumers}; - \tikzstyle{C} = [color=black, line width=1pt] - - \draw [->, C] (central) -- (banka) node [midway, above, sloped] (TextNode) {supervision}; - \draw [->, C] (central) -- (bankb) node [midway, above, sloped] (TextNode) {supervision}; - \draw [->, C] (central) -- (bankc) node [midway, above, sloped] (TextNode) {supervision}; - \draw [<->, C] (banka) -- (bankc) node [midway, above, sloped] (TextNode) {settlement}; - \draw [<->, C] (consumerb) -- (bankb) node [midway, above, sloped] (TextNode) {KYC}; - \draw [<->, C] (consumera) -- (banka) node [midway, above, sloped] (TextNode) {KYC}; - \draw [<->, C] (consumera) -- (banka) node [midway, below, sloped] (TextNode) {transact}; - \draw [<->, C] (consumerc) -- (bankc) node [midway, above, sloped] (TextNode) {KYC}; - \draw [<->, C] (consumerc) -- (bankc) node [midway, below, sloped] (TextNode) {transact}; -\end{tikzpicture} -\end{adjustbox} -If participation is voluntary, bank $A$ may not offer GNU Taler, or not -settle with other banks. Its customers may of course choose to be onboarded via -other banks to avoid being excluded. -\end{frame} - - - \begin{frame}[fragile]{Bank Operator Perspective} \begin{adjustbox}{max totalsize={.9\textwidth}{.7\textheight},center} \begin{tikzpicture} @@ -413,7 +330,7 @@ other banks to avoid being excluded. \begin{frame} -\frametitle{Regulator Perspective} +\frametitle{Auditor Perspective} \begin{center} \begin{tikzpicture} \tikzstyle{def} = [node distance=2em and 2.5em, inner sep=1em, outer sep=.3em]; @@ -567,7 +484,8 @@ Once everyone is happy with Beta, move to production. \begin{frame}{Discussion topics} \begin{itemize} \item Technology: GNU Taler components, APIs and cryptography - \item Bank Integration: Taler wire gateway vs. your core banking API + \item Bank Integration: Taler wire gateway \& {\bf bank integration API} + vs. your core banking API \item App Integration: Taler Apps vs. your customer-facing Apps \item Compliance: Taler compliance APIs vs. your compliance processes \item Business development: Taler USPs vs. your customers @@ -588,9 +506,6 @@ References: \item{David Chaum, Christian Grothoff and Thomas Moser. {\em How to issue a central bank digital currency}. {\bf SNB Working Papers}, 3/2021.} - \item{Antoine d'Aligny, Emmanuel Benoist and Christian Grothoff. - {\em Project Depolymerization: Tokenization of Blockchains}. - {\bf BRAINS'22}, 2022.} \item{Antoine d'Aligny, Emmanuel Benoist, Florian Dold, Christian Grothoff, \"Ozg\"ur Kesim and Martin Schanzenbach. {\em Who comes after us? The correct mindset for designing a Central Bank Digital Currency}. {\bf SUREF Policy Note}, Issue No 279, May 2022.} @@ -609,14 +524,93 @@ References: \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{David Chaum, Amos Fiat and Moni Naor. - {\em Untraceable electronic cash}. - {\bf Proceedings on Advances in Cryptology, 1990}.} \end{enumerate} } \end{frame} \end{document} + + +\begin{frame}[fragile]{Option 1: Central Bank as Pure Regulator} +\begin{adjustbox}{max totalsize={.9\textwidth}{.7\textheight},center} +\begin{tikzpicture} + \tikzstyle{def} = [node distance= 6em and 6.5em, inner sep=1em, outer sep=.3em]; + \node (origin) at (0,0) {}; + \node (central) [def,above=of origin,draw]{Central Bank}; + \node (banka) [def, draw, below right=of exchange] {Commercial Bank B}; + \node (bankb) [def, draw, below left=of exchange] {Commercial Bank A}; + \node (consumera) [def, draw, below=of banka] {Consumers}; + \node (consumerb) [def, draw, below=of bankb] {Consumers}; + \tikzstyle{C} = [color=black, line width=1pt] + + \draw [->, C] (central) -- (banka) node [midway, above, sloped] (TextNode) {supervision}; + \draw [->, C] (central) -- (bankb) node [midway, above, sloped] (TextNode) {supervision}; + \draw [<->, C] (banka) -- (bankb) node [midway, above, sloped] (TextNode) {settlement}; + \draw [<->, C] (consumera) -- (banka) node [midway, above, sloped] (TextNode) {KYC}; + \draw [<->, C] (consumera) -- (banka) node [midway, below, sloped] (TextNode) {transact}; + \draw [<->, C] (consumerb) -- (bankb) node [midway, above, sloped] (TextNode) {KYC}; + \draw [<->, C] (consumerb) -- (bankb) node [midway, below, sloped] (TextNode) {transact}; +\end{tikzpicture} +\end{adjustbox} +The central bank could leave the operation of the core system to commercial +banks (see Auer, BIS 2021) and focus on (real-time) supervision of the system. +\end{frame} + + +\begin{frame}[fragile]{Option 2: Central Bank as Core System Operator} +\begin{adjustbox}{max totalsize={.9\textwidth}{.7\textheight},center} +\begin{tikzpicture} + \tikzstyle{def} = [node distance= 6em and 6.5em, inner sep=1em, outer sep=.3em]; + \node (origin) at (0,0) {}; + \node (central) [def,above=of origin,draw]{Central Bank}; + \node (banka) [def, draw, below right=of exchange] {Commercial Bank B}; + \node (bankb) [def, draw, below left=of exchange] {Commercial Bank A}; + \node (consumera) [def, draw, below=of banka] {Consumers}; + \node (consumerb) [def, draw, below=of bankb] {Consumers}; + \tikzstyle{C} = [color=black, line width=1pt] + + \draw [<->, C] (central) -- (banka) node [midway, above, sloped] (TextNode) {transact}; + \draw [<->, C] (central) -- (bankb) node [midway, above, sloped] (TextNode) {transact}; + \draw [<-, C] (consumera) -- (banka) node [midway, above, sloped] (TextNode) {KYC}; + \draw [<-, C] (consumera) -- (banka) node [midway, below, sloped] (TextNode) {transact}; + \draw [<-, C] (consumerb) -- (bankb) node [midway, above, sloped] (TextNode) {KYC}; + \draw [<-, C] (consumerb) -- (bankb) node [midway, below, sloped] (TextNode) {transact}; +\end{tikzpicture} +\end{adjustbox} +If the central bank operates the core system, interbank settlements +are no longer required. +\end{frame} + + +\begin{frame}[fragile]{Option 3: Central Bank M.I.A.} +\begin{adjustbox}{max totalsize={.9\textwidth}{.7\textheight},center} +\begin{tikzpicture} + \tikzstyle{def} = [node distance= 6em and 6.5em, inner sep=1em, outer sep=.3em]; + \node (origin) at (0,0) {}; + \node (central) [def,above=of origin,draw]{Regulator / Auditor}; + \node (banka) [def, draw, below right=of exchange] {Commercial Bank C}; + \node (bankb) [def, draw, below left=of exchange] {Commercial Bank A}; + \node (bankc) [def, draw, below =of exchange] {Commercial Bank B}; + \node (consumera) [def, draw, below=of banka] {Consumers}; + \node (consumerb) [def, draw, below=of bankb] {Consumers}; + \node (consumerc) [def, draw, below=of bankc] {Consumers}; + \tikzstyle{C} = [color=black, line width=1pt] + + \draw [->, C] (central) -- (banka) node [midway, above, sloped] (TextNode) {supervision}; + \draw [->, C] (central) -- (bankb) node [midway, above, sloped] (TextNode) {supervision}; + \draw [->, C] (central) -- (bankc) node [midway, above, sloped] (TextNode) {supervision}; + \draw [<->, C] (banka) -- (bankc) node [midway, above, sloped] (TextNode) {settlement}; + \draw [<->, C] (consumerb) -- (bankb) node [midway, above, sloped] (TextNode) {KYC}; + \draw [<->, C] (consumera) -- (banka) node [midway, above, sloped] (TextNode) {KYC}; + \draw [<->, C] (consumera) -- (banka) node [midway, below, sloped] (TextNode) {transact}; + \draw [<->, C] (consumerc) -- (bankc) node [midway, above, sloped] (TextNode) {KYC}; + \draw [<->, C] (consumerc) -- (bankc) node [midway, below, sloped] (TextNode) {transact}; +\end{tikzpicture} +\end{adjustbox} +If participation is voluntary, bank $A$ may not offer GNU Taler, or not +settle with other banks. Its customers may of course choose to be onboarded via +other banks to avoid being excluded. +\end{frame} + + +