gnunet-svn
[Top][All Lists]
Advanced

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

[taler-marketing] branch master updated: -update slides


From: gnunet
Subject: [taler-marketing] branch master updated: -update slides
Date: Sat, 25 Nov 2023 01:26:55 +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 7c23fe5  -update slides
7c23fe5 is described below

commit 7c23fe5e6313f4d293e7409030c9a0fcdb04889c
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Sat Nov 25 09:26:48 2023 +0900

    -update slides
---
 presentations/comprehensive/main.tex | 349 +++++++++++++++++++++++++++++++----
 1 file changed, 314 insertions(+), 35 deletions(-)

diff --git a/presentations/comprehensive/main.tex 
b/presentations/comprehensive/main.tex
index 19d6546..44c41ef 100644
--- a/presentations/comprehensive/main.tex
+++ b/presentations/comprehensive/main.tex
@@ -550,32 +550,6 @@ GNU Taler must ...
 \end{center}
 \end{frame}
 
-\begin{frame}{The Taler Software Ecosystem}
-  \framesubtitle{\url{https://taler.net/en/docs.html}}
-  Taler is based on modular components that work together to provide a
-  complete payment system:
-  \vfill
-  \begin{itemize}
-    \item {\bf Exchange:} Service provider for digital cash
-      \begin{itemize}
-        \item Core exchange software (cryptography, database)
-        \item Air-gapped key management, real-time {\bf auditing}
-        \item LibEuFin: Modular integration with banking systems
-      \end{itemize}
-    \item {\bf Merchant:} Integration service for existing businesses
-      \begin{itemize}
-        \item Core merchant backend software (cryptography, database)
-        \item Back-office interface for staff
-        \item Frontend integration (E-commerce, Point-of-sale)
-      \end{itemize}
-    \item {\bf Wallet:} Consumer-controlled applications for e-cash
-      \begin{itemize}
-        \item Multi-platform wallet software (for browsers \& mobile phones)
-        \item Wallet backup storage providers
-        \item {\bf Anastasis}: Recovery of lost wallets based on secret 
splitting
-      \end{itemize}
-  \end{itemize}
-\end{frame}
 
 
 \begin{frame}
@@ -2385,6 +2359,309 @@ Searching for functions \uncover<2->{with the following 
signatures}
 \end{frame}
 
 
+\section{Software architecture}
+
+\begin{frame}
+  \vfill
+  \begin{center}
+    {\bf Software architecture}
+  \end{center}
+  \vfill
+\end{frame}
+
+
+\begin{frame}{The Taler Software Ecosystem}
+  \framesubtitle{\url{https://taler.net/en/docs.html}}
+  Taler is based on modular components that work together to provide a
+  complete payment system:
+  \vfill
+  \begin{itemize}
+    \item {\bf Exchange:} Service provider for digital cash
+      \begin{itemize}
+        \item Core exchange software (cryptography, database)
+        \item Air-gapped key management, real-time {\bf auditing}
+        \item LibEuFin: Modular integration with banking systems
+      \end{itemize}
+    \item {\bf Merchant:} Integration service for existing businesses
+      \begin{itemize}
+        \item Core merchant backend software (cryptography, database)
+        \item Back-office interface for staff
+        \item Frontend integration (E-commerce, Point-of-sale)
+      \end{itemize}
+    \item {\bf Wallet:} Consumer-controlled applications for e-cash
+      \begin{itemize}
+        \item Multi-platform wallet software (for browsers \& mobile phones)
+        \item Wallet backup storage providers
+        \item {\bf Anastasis}: Recovery of lost wallets based on secret 
splitting
+      \end{itemize}
+  \end{itemize}
+\end{frame}
+
+
+\begin{frame}{Taler Exchange}
+  The {\bf Exchange} is the core logic of the payment system.
+
+  \begin{itemize}
+    \item One exchange at minimum must be operated per currency
+    \item Offers a REST API for merchants and customers
+    \item Uses several helper processes for configuration and to
+          interact with RTGS and cryptography
+    \item KYC support via OAuth 2.0, KycAID or Persona APIs
+    \item Implemented in C on top of GNU libmicrohttpd
+  \end{itemize}
+  Scalability: 28'500 transactions/second measured % in BS-thesis
+  in 2022 using two servers on Grid5000. Likely several times
+  higher today (but we did not re-measure recently).
+\end{frame}
+
+
+\begin{frame}{Taler Merchant}
+  The {\bf Merchant} is the software run by merchants to accept\\
+  GNU Taler payments.
+
+  \begin{minipage}{6cm}
+  \begin{itemize}
+    \item REST API for integration with e-commerce
+    \item SPA provides Web interface for administration
+    \item Features include:
+      \begin{itemize}
+      \item Multi-tenant support
+      \item Refunds
+      \item Tipping (Website pays visitor)
+      \item Webhooks
+      \item Inventory management (optional)
+      \end{itemize}
+    \item Implemented in C on top of GNU libmicrohttpd
+  \end{itemize}
+  \end{minipage}
+  \begin{minipage}{5cm}
+  \includegraphics[width=5cm]{screenshots/merchant-spa-settings}
+  \end{minipage}
+\end{frame}
+
+
+\begin{frame}{Taler Wallet}
+  The {\bf Wallet} is the software run by consumers to store
+  their digital cash and authorize transactions.
+
+  \begin{minipage}{8cm}
+  \begin{itemize}
+    \item {\bf wallet-core} is the logic shared by all interfaces
+    \item Applications exist for Android, F-Droid,
+          WebExtension (Chrome, Chromium, Firefox, etc.), iOS ({\bf WiP})
+    \item Features include:
+      \begin{itemize}
+      \item Multi-currency support
+      \item Wallet-to-wallet payments (NFC or QR code)
+      \item CRDT-like data model
+      \end{itemize}
+    \item {\bf wallet-core} implemented in TypeScript
+  \end{itemize}
+  Can be integrated into other Apps if desired.
+  \end{minipage}
+  \begin{minipage}{3cm}
+  \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103520.png}
+  \end{minipage}
+\end{frame}
+
+
+\begin{frame}{Taler Auditor}
+  The {\bf Auditor} is the software run by an independent auditor
+  to validate the operation of an Exchange.
+
+  \begin{itemize}
+    \item REST API for additional report inputs by merchants (optional)
+    \item Secure database replication logic
+    \item Implemented in C on top of GNU libmicrohttpd
+  \end{itemize}
+\end{frame}
+
+
+\begin{frame}{Pretix Taler payment plugin}
+\begin{center}
+\includegraphics[width=0.5\textwidth]{screenshots/pretix.png}
+\end{center}
+
+  Pretix is a ticket sales system.
+
+  \begin{itemize}
+    \item Pretix payment plugin enables payments via GNU Taler
+    \item Developed by Pretix.eu for \EUR{3,000} on behalf of Taler Systems SA
+  \end{itemize}
+\end{frame}
+
+
+\begin{frame}{WooCommerce Taler payment plugin}
+\begin{minipage}{6cm}
+  \begin{itemize}
+    \item WooCommerce is an e-commerce plugin for WordPress.
+    \item WooCommerce payment plugin enables payments via GNU Taler
+    \item Features include:
+      \begin{itemize}
+      \item Trivial configuration
+      \item Support for refunds
+      \item Full internationalization
+      \end{itemize}
+    \item WooCommerce and its plugins are implemented in PHP
+  \end{itemize}
+\end{minipage}
+\begin{minipage}{5cm}
+  \includegraphics[width=4cm]{screenshots/woocommerce-cart.png}
+  \includegraphics[width=4cm]{screenshots/woocommerce-settings.png}
+  \end{minipage}
+\end{frame}
+
+
+\begin{frame}{Point-of-Sale App for Android}
+
+\begin{minipage}{7cm}
+  \begin{itemize}
+    \item Allows merchant to generate orders against Taler backend
+          and display QR code to enable customer to pay in person
+    \item Patterned after ViewTouch restaurant UI
+    \item Features include:
+      \begin{itemize}
+      \item Internet-based configuration
+      \item Products sorted by categories
+      \item Easy undo of every operation
+      \item Manages multiple concurrent orders
+      \end{itemize}
+    \item The Point-of-Sale App is implemented in Kotlin
+  \end{itemize}
+\end{minipage}
+\begin{minipage}{4cm}
+  \includegraphics[width=4cm]{screenshots/Screenshot_20230224-194112.jpg}
+  \includegraphics[width=4cm]{screenshots/Screenshot_20230224-194119.jpg}
+  \includegraphics[width=4cm]{screenshots/Screenshot_20230224-195348.jpg}
+\end{minipage}
+\end{frame}
+
+
+\begin{frame}{Cashier App for Android}
+\begin{minipage}{4cm}
+  \begin{itemize}
+    \item Enables BFH staff to convert cash to e-cash
+    \item Staff has special bank accounts with limited funds
+    \item Students can pay staff in cash to receive e-cash
+    \item The Cashier App is implemented in Kotlin
+  \end{itemize}
+  \end{minipage}
+  \begin{minipage}{3cm}
+  \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103315.png}
+  \end{minipage}
+  \begin{minipage}{3cm}
+  \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103325.png}
+  \end{minipage}
+\end{frame}
+
+
+\begin{frame}{LibEuFin}
+  LibEuFin is a standalone project that provides adapters to bank account
+  access APIs.
+
+  \begin{itemize}
+    \item LibEuFin provides both a generic access layer and an
+      implementation of the Wire Gateway for the exchange
+    \item Supports EBICS 2.5
+    \item other APIs such as FinTS or PSD2-style XS2A APIs can be added
+      without requiring changes to the Exchange
+    \item tested with German bank GLS business account and real Euros
+  \end{itemize}
+  \vfill
+  \begin{itemize}
+    \item \texttt{libeufin-nexus} is the main service
+    \item \texttt{libeufin-bank} implements a bank
+      (suitable for regional currencies)
+    \item \texttt{libeufin-sandbox} implements a toy EBICS host for protocol
+      testing
+  \end{itemize}
+\end{frame}
+
+
+\begin{frame}{Depolymerization}
+  Depolymerization is a bridge between GNU Taler and blockchains,
+  making Taler a layer 2 system for crypto-currencies (like Lightning).
+
+  \begin{itemize}
+    \item Currently implemented for Bitcoin and Ethereum
+          crypto-currencies, with the DLTs as the ``RTGS''
+    \item Provides same API to Exchange as LibEuFin
+%   \item Transaction rate and speed limited by the underlying blockchain
+    \item Implemented in Rust
+  \end{itemize}
+  \begin{center}
+      \url{https://bitcoin.ice.bfh.ch/}
+  \end{center}
+\end{frame}
+
+
+\begin{frame}{TalDir (WiP)}
+  TalDir is an extension to the existing
+  peer-to-peer payment functionality.
+
+  \begin{itemize}
+    \item Registry to associate wallets with network addresses
+    \item Extensible to different types of network services:
+      \begin{itemize}
+    \item E-mail
+    \item SMS
+    \item Twitter
+    \item ...
+     \end{itemize}
+    \item Send payments or invoices to wallets associated with network address
+    \item Will {\bf not} require sending wallet to use same network service
+  \end{itemize}
+\end{frame}
+
+
+\begin{frame}<1-| handout:0>{Development Infrastructure}
+  \begin{itemize}
+    \item Borg: incremental backup
+    \item Buildbot: CI/CD ({\url https://buildbot.taler.net/})
+    \item Davical: Caldav group calendar
+    \item Docker: virtualization, packaging
+    \item Git/Gitolite: distributed version control ({\url 
https://git.taler.net/})
+    \item Mailman: public e-mail lists ({\url taler@gnu.org/})
+    \item Mantis: bug tracker ({\url https://bugs.taler.net/})
+    \item Mattermost: messaging, process management ({\url 
https://mattermost.taler.net/})
+    \item Sphinx: documentation generation (HTML, PDF, info, man) ({\url 
https://docs.taler.net/})
+    \item Weblate: collaborative AI-supported internationalization ({\url 
https://weblate.taler.net/})
+    \end{itemize}
+\end{frame}
+
+
+\begin{frame}<1-| handout:0>{Development Tools}
+  \begin{itemize}
+    \item Coverity: static analysis (C/C++) ({\url https://scan.coverity.com/})
+    \item GNU recutils: constant registration ({\url https://gana.gnunet.org/})
+    \item Twister: fault injection
+    \item Valgrind: dynamic analysis (C/C++)
+    \item zzuf: fuzzing
+  \end{itemize}
+\end{frame}
+
+
+\begin{frame}<1-| handout:0>{Cryptographic dependencies}
+  \begin{itemize}
+    \item libargon2
+    \item libgcrypt
+    \item libsodium
+  \end{itemize}
+\end{frame}
+
+
+\begin{frame}<1-| handout:0>{Additional dependencies}
+  \begin{itemize}
+    \item libsqlite3
+    \item libpq / Postgres
+    \item libjansson
+    \item libcurl
+    \item libunistring
+    \item {\bf GNU libmicrohttpd}
+    \item {\bf GNUnet}
+  \end{itemize}
+\end{frame}
+
 
 
 \section{Bank integration and exchange administration}
@@ -2616,15 +2893,6 @@ of the Taler Wire Gateway exist:
   \end{itemize}
 \end{frame}
 
-\begin{frame}{LibEuFin Components}
-  \begin{itemize}
-    \item \texttt{libeufin-nexus} is the main service
-    \item \texttt{libeufin-bank} implements a bank
-      (suitable for regional currencies)
-    \item \texttt{libeufin-sandbox} implements a toy EBICS host for protocol
-      testing
-  \end{itemize}
-\end{frame}
 
 \begin{frame}{LibEuFin Setup Overview}
 \framesubtitle{\url{https://docs.taler.net/libeufin/}}
@@ -3663,6 +3931,17 @@ References:
 \end{frame}
 
 
+\begin{frame}{Rights}
+  \begin{itemize}
+    \item GNUnet e.V. shared copyrights of their AGPLv3+ licensed code with 
Taler Systems SA
+    \item Taler Systems SA holds copyrights to entire GNU Taler code base 
(AGPLv3+, GPLv3+,
+      dual-licensing exclusive domain of Taler Systems SA)
+    \item Taler Systems SA applied for patent on offline payment solution
+    \item Taler Systems SA holds trademark on ``Taler''.
+    \item FSF holds trademark on ``GNU'', we are authorized to use ``GNU 
Taler''.
+    \item Taler Systems SA owns {\tt taler.net} and {\tt taler-systems.com}.
+  \end{itemize}
+\end{frame}
 
 
 \end{document}

-- 
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]