gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-marketing] branch master updated: irgc pres


From: gnunet
Subject: [taler-marketing] branch master updated: irgc pres
Date: Wed, 19 Oct 2022 11:40:10 +0200

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 c2c7321  irgc pres
c2c7321 is described below

commit c2c7321210d9cb07832d77eceffc5ac7eb304530
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Wed Oct 19 11:40:08 2022 +0200

    irgc pres
---
 presentations/2021-cb/irgc.tex        | 458 ++++++++++++++++++++++++++++++++++
 presentations/2021-cb/mining.pdf      | Bin 0 -> 30796 bytes
 presentations/2021-cb/mining.png      | Bin 0 -> 24557 bytes
 presentations/2021-cb/performance.pdf | Bin 0 -> 21204 bytes
 presentations/2021-cb/performance.png | Bin 0 -> 30019 bytes
 presentations/2021-cb/privacy.pdf     | Bin 0 -> 30714 bytes
 presentations/2021-cb/privacy.png     | Bin 0 -> 25325 bytes
 7 files changed, 458 insertions(+)

diff --git a/presentations/2021-cb/irgc.tex b/presentations/2021-cb/irgc.tex
new file mode 100644
index 0000000..3968986
--- /dev/null
+++ b/presentations/2021-cb/irgc.tex
@@ -0,0 +1,458 @@
+\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-2021.pdf} \hfill}
+%\setbeamercovered{transparent=1}
+
+\author[C. Grothoff]{{\bf C. Grothoff}}
+\date{25.10.2022}
+\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://twitter.com/taler}{taler@twitter} \\
+    \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}{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}
+
+
+\section{What is Taler?}
+\begin{frame}{What is Taler?}
+\noindent
+Taler is an electronic instant payment system based on tokens.
+  \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} suitable for 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
+  \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}
+\begin{center}
+\includegraphics[width=0.8\textwidth]{bp.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}
+
+
+\begin{frame}{Feature Summary (some are still WiP)}
+  \begin{itemize}
+  \item Wallets for Firefox, Chrome, Android, CLI, iOS
+  \item Merchant integrations for MDB, WooCommerce, Joomla!, Pretix, PoS App
+  \item Payment via NFC, QR code or integrated in browser
+  \item Peer-to-peer payments (with KYC for receiver), invoicing
+  \item External KYC providers with configurable KYC trigger rules
+  \item Age-restricted payments, accessible design
+  \item Escrow functionality (``smart contracts''), i.e. auctions
+  \item Privacy-preserving backup and recovery of wallet state
+  \item RTGS integrations with libeufin over EBICS or Depolymerization over 
Bitcoin/Ethereum
+  \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+\frametitle{Do you have any questions?}
+\vfill
+References:
+{\tiny
+  \begin{enumerate}
+ \item{David Chaum, Christian Grothoff and Thomas Moser.
+       {\em How to issue a central bank digital currency}.
+       {\bf SNB Working Papers, 2021}.}
+ \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}
+}
+\end{frame}
+
+
+\begin{frame}{How does it work?}
+  \framesubtitle{\url{https://taler.net/papers/thesis-dold-phd-2019.pdf}}
+  We use a few ancient constructions:
+  \begin{itemize}
+  \item Cryptographic hash function (1989)
+  \item Blind signature (1983)
+  \item Schnorr signature (1989)
+  \item Diffie-Hellman key exchange (1976)
+  \item Cut-and-choose zero-knowledge proof (1985)
+  \end{itemize}
+But of course we use modern instantiations.
+\end{frame}
+
+
+\begin{frame}{Definition: Taxability}
+  We say Taler is taxable because:
+  \begin{itemize}
+  \item Merchant's income is visible from deposits.
+  \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}
+\end{frame}
+
+
+\begin{frame}{Giving change}
+  It would be inefficient to pay EUR 100 with 1 cent coins!
+  \begin{itemize}
+  \item Denomination key represents value of a coin.
+  \item Exchange may offer various denominations for coins.
+  \item Wallet may not have exact change!
+  \item Usability requires ability to pay given sufficient total funds.
+  \end{itemize}\pause
+  Key goals:
+  \begin{itemize}
+  \item maintain unlinkability
+  \item maintain taxability of transactions
+  \end{itemize}\pause
+  Method:
+  \begin{itemize}
+    \item Contract can specify to only pay {\em partial value} of a coin.
+    \item Exchange allows wallet to obtain {\em unlinkable change}
+      for remaining coin value.
+  \end{itemize}
+\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}{Scalability}
+On paper, the design scales linearly with computing resources:
+\begin{itemize}
+\item Front-end logic at the central bank only needs to perform a few 
signature operations, a
+single CPU core can typically do a few thousands per second.
+\item Front-end servers need to talk to a database to prevent double-spending. 
A single database server can handle tens of thousands of such operations per 
second.
+\item All operations are easily split across multiple database servers by 
simply assigning
+each database server a range of values.
+\item The frontends need to talk to the backends using an interconnect. The 
size of an
+individual transaction is typically about 1–10 kilobytes. Modern interconnects
+can support millions of such transactions per second.
+\item To securely store 1-10 kilobytes per transaction, using AWS pricing, the 
cost of the
+system (storage, bandwidth, computation) at scale would be 0.0001 USD per 
transaction.
+\end{itemize}
+\end{frame}
+
+
+\begin{frame} \frametitle{Performance} \framesubtitle{Other Payment Systems}
+  \centering
+  \begin{minipage}{0.32\textwidth}
+    \centering
+    \visible<1->{Bitcoin}\\\vspace{1em}
+    {4 TPS}\\
+    {
+      \vspace{2em}
+      \includegraphics[width=0.2\linewidth]{performance.pdf}\hspace{1em}
+      \includegraphics[width=0.2\linewidth]{mining.pdf}
+    }
+  \end{minipage}
+  \begin{minipage}{0.32\textwidth}
+    \centering
+    {PayPal\\\vspace{1em}193 TPS}\\
+    {
+      \vspace{2em}
+      \includegraphics[width=0.2\linewidth]{privacy.pdf}
+    }
+  \end{minipage}
+  \begin{minipage}{0.32\textwidth}
+    \centering
+    {Visa\\\vspace{1em}1'667 TPS}\\
+    {
+      \vspace{2em}
+      \includegraphics[width=0.2\textwidth]{privacy.pdf}
+    }
+  \end{minipage}
+  \let\thefootnote\relax\footnote{
+    \tiny
+    [06.22]\hspace{3em}
+    - 
\href{https://www.researchgate.net/publication/330585021_Analysis_of_the_Possibilities_for_Improvement_of_BlockChain_Technology}{Researchgate}
+  }
+\end{frame}
+
+\begin{frame} \frametitle{Performance} \framesubtitle{CBDC Projects}
+  \centering
+  \begin{minipage}{0.28\textwidth}
+    \centering
+    {e-Krona (Sweden)\\\vspace{1em}100 TPS}\\
+    {
+      \vspace{2em}
+      \includegraphics[width=0.2\linewidth]{performance.pdf}\hspace{1em}
+      \includegraphics[width=0.2\linewidth]{privacy.pdf}
+    }
+  \end{minipage}
+  \begin{minipage}{0.28\textwidth}
+    \centering
+    {e-CNY (China)\\\vspace{1em}10'000 TPS}\\
+    {
+      \vspace{2em}
+      \includegraphics[width=0.2\linewidth]{privacy.pdf}
+    }
+  \end{minipage}
+  \begin{minipage}{0.38\textwidth}
+    \centering
+    \visible<2->{GNU Taler (Grid5000)\\\vspace{1em}28'500 TPS}\\
+    {
+      \vspace{2em}
+      \visible<2->{\includegraphics[width=0.4\linewidth]{logo-2021.pdf}}
+    }
+  \end{minipage}
+  \let\thefootnote\relax\footnote{
+    \tiny
+    [06.22]\hspace{3em}
+    \hspace{3em}- 
\href{https://www.atlanticcouncil.org/blogs/econographics/a-report-card-on-chinas-central-bank-digital-currency-the-e-cny/}{Atlatic
 Council}
+    \hspace{3em}- 
\href{https://www.riksbank.se/globalassets/media/rapporter/e-krona/2022/e-krona-pilot-phase-2.pdf}{Riksbank}
+  }
+\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}
+
+
+
+\end{document}
diff --git a/presentations/2021-cb/mining.pdf b/presentations/2021-cb/mining.pdf
new file mode 100644
index 0000000..134355c
Binary files /dev/null and b/presentations/2021-cb/mining.pdf differ
diff --git a/presentations/2021-cb/mining.png b/presentations/2021-cb/mining.png
new file mode 100644
index 0000000..a19862f
Binary files /dev/null and b/presentations/2021-cb/mining.png differ
diff --git a/presentations/2021-cb/performance.pdf 
b/presentations/2021-cb/performance.pdf
new file mode 100644
index 0000000..0ab0e6f
Binary files /dev/null and b/presentations/2021-cb/performance.pdf differ
diff --git a/presentations/2021-cb/performance.png 
b/presentations/2021-cb/performance.png
new file mode 100644
index 0000000..7452a6a
Binary files /dev/null and b/presentations/2021-cb/performance.png differ
diff --git a/presentations/2021-cb/privacy.pdf 
b/presentations/2021-cb/privacy.pdf
new file mode 100644
index 0000000..608e861
Binary files /dev/null and b/presentations/2021-cb/privacy.pdf differ
diff --git a/presentations/2021-cb/privacy.png 
b/presentations/2021-cb/privacy.png
new file mode 100644
index 0000000..5e3af34
Binary files /dev/null and b/presentations/2021-cb/privacy.png differ

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]