[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-marketing] branch master updated: -update slides,
gnunet <=