zoo.tex (7701B)
1 \section{Component Zoo} 2 3 \begin{frame} 4 \vfill 5 \begin{center} 6 {\bf Component Zoo} 7 \end{center} 8 \vfill 9 \end{frame} 10 11 12 \begin{frame}{The Taler Software Ecosystem: Overview} 13 \framesubtitle{\url{https://taler.net/en/docs.html}} 14 Taler is based on modular components that work together to provide a 15 complete payment system: 16 \vfill 17 \begin{itemize} 18 \item {\bf Exchange:} Service provider for digital cash 19 \begin{itemize} 20 \item Core exchange software (cryptography, database) 21 \item Air-gapped key management, real-time {\bf auditing} 22 \item {\bf libeufin}: Modular integration with banking systems 23 \item {\bf challenger}: KYC service with OAuth 2.0 API 24 \end{itemize} 25 \item {\bf Merchant:} Integration service for existing businesses 26 \begin{itemize} 27 \item Core merchant backend software (cryptography, database) 28 \item {\bf Back-office interface} for staff 29 \item {\bf Frontend integration} (E-commerce, Point-of-sale) 30 \end{itemize} 31 \item {\bf Wallet:} Consumer-controlled applications for e-cash 32 \begin{itemize} 33 \item Multi-platform wallet software (for browsers \& mobile phones) 34 \item Wallet backup storage providers ({\bf sync} \& {\bf Anastasis}) 35 \end{itemize} 36 \end{itemize} 37 \end{frame} 38 39 40 \begin{frame}{Taler Exchange} 41 The {\bf Exchange} is the core logic of the payment system. 42 43 \begin{itemize} 44 \item One exchange at minimum must be operated per currency 45 \item Offers a REST API for merchants and customers 46 \item Uses several helper processes for configuration and to 47 interact with RTGS and cryptography 48 \item KYC support via OAuth 2.0, KycAID or Persona APIs 49 \end{itemize} 50 \end{frame} 51 52 53 \begin{frame}{Taler Merchant} 54 The {\bf Merchant} is the software run by merchants to accept\\ 55 GNU Taler payments. 56 57 \begin{minipage}{6cm} 58 \begin{itemize} 59 \item REST API for integration with e-commerce 60 \item SPA provides Web interface for administration 61 \item Features include: 62 \begin{itemize} 63 \item Multi-tenant support 64 \item Refunds 65 \item Templates 66 \item Webhooks 67 \item Inventory management (optional) 68 \end{itemize} 69 \end{itemize} 70 \end{minipage} 71 \begin{minipage}{5cm} 72 \includegraphics[width=5cm]{screenshots/merchant-spa-settings} 73 \end{minipage} 74 \end{frame} 75 76 77 \begin{frame}{Taler Wallet} 78 The {\bf Wallet} is the software run by consumers to store 79 their digital cash and authorize transactions. 80 81 \begin{minipage}{8cm} 82 \begin{itemize} 83 \item {\bf wallet-core} is the logic shared by all interfaces 84 \item Works on Android, F-Droid, iOS, Ubuntu Touch, 85 WebExtension (Chrome, Chromium, Firefox, etc.) 86 \item Features include: 87 \begin{itemize} 88 \item Multi-currency support 89 \item Wallet-to-wallet payments (NFC or QR code) 90 \item CRDT-like data model 91 \end{itemize} 92 \end{itemize} 93 \end{minipage} 94 \begin{minipage}{3cm} 95 \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103520.png} 96 \end{minipage} 97 \end{frame} 98 99 100 \begin{frame}{Taler Auditor} 101 The {\bf Auditor} is the software run by an independent auditor 102 to validate the operation of an Exchange. 103 104 \begin{itemize} 105 \item REST API for additional report inputs by merchants (optional) 106 \item Secure database replication logic 107 \end{itemize} 108 \end{frame} 109 110 111 \begin{frame}{libeufin-nexus} 112 libeufin-nexus allows Taler components to interact with a core banking system. It: 113 114 \begin{itemize} 115 \item provides an implementation of the Wire Gateway for the exchange 116 \item supports EBICS 2.5 and 3.0 117 \item other APIs such as FinTS or PSD2-style XS2A APIs can be added 118 without requiring changes to the Exchange 119 \item was tested with GLS Bank (DE) and Postfinance (CH) accounts and real EUR/CHF 120 \end{itemize} 121 \end{frame} 122 123 124 \begin{frame}{libeufin-bank} 125 libeufin-bank implements a standalone bank with a Web interface. It: 126 127 \begin{itemize} 128 \item provides the Taler Core Bank API for RESTful online banking 129 using a Web interface (with multi-factor authentication) 130 \item includes a Taler Wire Gateway for the exchange 131 \item offers the Taler Bank Integration API to allow wallets 132 to easily withdraw digital cash 133 \item optionally provides the Taler Conversion Info API for currency 134 conversion between fiat and regional currencies 135 \item optionally integrates with libeufin-nexus to interact with 136 a core banking system 137 \end{itemize} 138 \end{frame} 139 140 141 \begin{frame}{Challenger} 142 Challenger allows clients to obtain validated address (KYC) data about 143 users: 144 145 \begin{itemize} 146 \item Customizable Web-based process for address validation 147 \item Can validate phone numbers, e-mail addresses or physical mailing addresses 148 \item Provides an exchange-compatible OAuth 2.0 API 149 \end{itemize} 150 \end{frame} 151 152 153 \begin{frame}{Depolymerization} 154 Depolymerization is a bridge between GNU Taler and blockchains, 155 making Taler a layer 2 system for crypto-currencies (like Lightning). 156 157 \begin{itemize} 158 \item provides an implementation of the Wire Gateway for the exchange 159 \item Works on top of Bitcoin and Ethereum 160 crypto-currencies, with the DLTs as the ``RTGS'' 161 \item Provides same API to Exchange as libeufin-nexus 162 \end{itemize} 163 \end{frame} 164 165 166 \begin{frame}{Point-of-Sale App for Android} 167 \begin{minipage}{7cm} 168 \begin{itemize} 169 \item Allows merchant to generate orders against Taler backend 170 and display QR code to enable customer to pay in person 171 \item Patterned after ViewTouch restaurant UI 172 \end{itemize} 173 \end{minipage} 174 \begin{minipage}{4cm} 175 \includegraphics[width=4cm]{screenshots/Screenshot_20230224-194112.jpg} 176 \includegraphics[width=4cm]{screenshots/Screenshot_20230224-194119.jpg} 177 \includegraphics[width=4cm]{screenshots/Screenshot_20230224-195348.jpg} 178 \end{minipage} 179 \end{frame} 180 181 182 \begin{frame}{Payment plugins} 183 \begin{minipage}{5cm} 184 \includegraphics[width=4cm]{screenshots/woocommerce-cart.png} 185 \includegraphics[width=4cm]{screenshots/pretix.png} 186 \end{minipage} 187 \begin{minipage}{5cm} 188 \begin{itemize} 189 \item Pretix, ticket sales system 190 \item Joomla!, an e-commerce platform 191 \item WooCommerce, an e-commerce solution on top of WordPress 192 \item DrupalCommerce, an e-commerce solution on top of Drupal 193 \end{itemize} 194 \end{minipage} 195 \end{frame} 196 197 198 \begin{frame}{Cashier App for Android} 199 \begin{minipage}{4cm} 200 \begin{itemize} 201 \item Enables BFH staff to convert cash to e-cash 202 \item Staff has special bank accounts with limited funds 203 \item Students can pay staff in cash to receive e-cash 204 \item The Cashier App is implemented in Kotlin 205 \end{itemize} 206 \end{minipage} 207 \begin{minipage}{3cm} 208 \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103315.png} 209 \end{minipage} 210 \begin{minipage}{3cm} 211 \includegraphics[width=3cm]{screenshots/Screenshot_20230225-103325.png} 212 \end{minipage} 213 \end{frame} 214 215 216 \begin{frame}{Cashless2ecash by Joel Haeberli} 217 \begin{center} 218 \includegraphics[width=\textwidth]{cashless2ecash.png} 219 \end{center} 220 \end{frame} 221 222 223 \begin{frame}{TalDir (WiP)} 224 TalDir is an extension to the existing 225 peer-to-peer payment functionality. 226 227 \begin{itemize} 228 \item Registry to associate wallets with network addresses 229 \item Extensible to different types of network services: 230 \begin{itemize} 231 \item E-mail 232 \item SMS 233 \item Twitter 234 \item ... 235 \end{itemize} 236 \item Send payments or invoices to wallets associated with network address 237 \item Will {\bf not} require sending wallet to use same network service 238 \end{itemize} 239 \end{frame}