cashless2ecash_poster.tex (5624B)
1 \documentclass[ 2 paper=a0, 3 style=ruled, 4 ]{bfhsciposter} 5 6 %% Sprache 7 \usepackage[nswissgerman]{babel} 8 \usepackage[autostyle]{csquotes} 9 \usepackage{enumitem} 10 11 \setlist[enumerate]{itemsep=0mm} 12 13 \begin{document} 14 15 \title{Cashless to e-Cash} 16 \author{Joel Häberli\inst{*}\thanks{joel.haeberli@taler.net}} 17 \institute{Berner Fachhochschule, Departement Technik und Informatik, \inst{*}Institute for Cybersecurity and Engineering ICE} 18 %% \inst kann in den Autor und Institutsfeldern genutzt werden um eine Zuordnung zu ermöglichen. Bei Nummerierung ist der Nutzer dafür verantwortlich Konflikte mit \thanks zu vermeiden. 19 \footer{ 20 \footerqrcode{https://taler-c2ec.ti.bfh.ch} 21 } 22 23 \begin{tcbposter}[ 24 poster={ 25 columns=5, 26 rows=8, 27 spacing=1cm, 28 }] 29 30 \begin{posterboxenv}[title=Motivation]{name=intro,column=1,row=1,span=3,rowspan=2} 31 32 This thesis realizes a framework to enable withdrawal of digital cash for GNU Taler through a established payment service provider. It addresses a report commissioned by the European Central Bank (ECB), which identified easy onboarding as one of the most important aspects of a Digital Euro. Our goal is to improve the uptake of GNU Taler. 33 34 Our key design objectives were: 35 36 \begin{enumerate} 37 \item Finality: Liability for the money is not on the side of the Taler operator 38 \item Convenience: The user-experience follows established patterns 39 \item Abort: Robust and secure payment flow allowing abort handling without loss of money 40 \end{enumerate} 41 42 Additionally our design minimizes changes to the existing Taler system and works with a broad range of established payment methods such as credit cards, debit card, Paypal or Twint. 43 44 \end{posterboxenv} 45 46 \begin{posterboxenv}{name=flow-diagram,column=4,row=1,span=2,rowspan=2} 47 48 \includegraphics[width=\linewidth]{components_images.png} 49 50 \end{posterboxenv} 51 52 \begin{posterboxenv}{name=taler-news,column=1,row=3,span=2, rowspan=1} 53 54 \begin{center} 55 Bachelor thesis and further materials: 56 57 \includegraphics[height=15cm]{taler_news_terminals_api.png} 58 59 https://taler.net/en/news/2024-08.html 60 \end{center} 61 62 \end{posterboxenv} 63 64 \begin{posterboxenv}[title=Terminals API design requirements]{name=api,column=3,row=3,span=4, rowspan=2} 65 66 To allow the withdrawal of digital cash using Taler we designed the \textit{Terminals API}. 67 68 It is responsible for: 69 70 \begin{enumerate} 71 \item Associate Taler wallet with the financial transaction 72 \item Expose transaction confirmations to the Taler operator 73 \item Allow the Taler operator to reverse transactions if wallet fails to withdraw digital cash 74 \item Inform Taler wallet about transaction state 75 \end{enumerate} 76 77 We implemented the Terminals API using Go under a Free Software license (GNU AGPLv3). 78 79 \end{posterboxenv} 80 81 \begin{posterboxenv}[title=Paydroid POS Terminal App (Wallee A50)]{name=wallee, column=1, row=5, span=5, rowspan=1} 82 83 We implemented a payment service terminal on top of the Paydroid platform. Paydroid allows writing custom terminal applications with strong authentication of the customer. In combination with the Wallee payment provider this allows us to accept various payment instruments, including credit and debit cards. Our app asks the user to (1) enter the amount, (2) associate a wallet by scanning a QR code, (3) wait for the wallet to confirm, (4) to authorize the payment and (5) view a summary of the transaction. 84 85 \end{posterboxenv} 86 87 \begin{posterboxenv}{name=flow-diagram,column=1,row=6,span=1, rowspan=1} 88 89 \begin{center} 90 (1) Enter Amount 91 \end{center} 92 \begin{center} 93 \includegraphics[height=17cm]{enter_amount.jpg} 94 \end{center} 95 96 \end{posterboxenv} 97 98 \begin{posterboxenv}{name=flow-diagram,column=2,row=6,span=1, rowspan=1} 99 100 \begin{center} 101 (2) Associate wallet 102 \end{center} 103 \begin{center} 104 \includegraphics[height=17cm]{register_param.jpg} 105 \end{center} 106 107 \end{posterboxenv} 108 109 \begin{posterboxenv}{name=flow-diagram,column=3,row=6,span=1, rowspan=1} 110 111 \begin{center} 112 (3) Confirm withdrawal 113 \end{center} 114 \begin{center} 115 \includegraphics[height=17cm]{accept_tos.jpg} 116 \end{center} 117 118 \end{posterboxenv} 119 120 \begin{posterboxenv}{name=flow-diagram,column=4,row=6,span=1, rowspan=1} 121 122 \begin{center} 123 (4) Authorize Payment 124 \end{center} 125 \begin{center} 126 \includegraphics[height=17cm]{authorize_payment.jpg} 127 \end{center} 128 129 \end{posterboxenv} 130 131 \begin{posterboxenv}{name=flow-diagram,column=5,row=6,span=1, rowspan=1} 132 133 \begin{center} 134 (5) View Summary 135 \end{center} 136 \begin{center} 137 \includegraphics[height=17cm]{summary.jpg} 138 \end{center} 139 140 \end{posterboxenv} 141 142 \space 143 144 \begin{posterboxenv}[title=C2EC is extensible]{name=Integrate your platform, column=1,row=8,span=5,rowspan=1} 145 146 The Wallee integration in the C2EC backend is an example. In principle it should be easy to integrate other acquirers. The architecture also supports other use cases, such as cash to e-cash. 147 148 The key limitation is that the provider must guarantee finality of the transaction. The Taler operator cannot efficiently recoup digital cash it issued to a Taler wallet. 149 150 The established payment service provider must ensure the customer has irrevokably authorized the transaction. This is typically done using two factor authentication, issued by the bank. The Taler operator is ensured in realtime, that they will receive the wire transfer. 151 152 Help us to support more payment providers and add an additional integration! 153 154 \end{posterboxenv} 155 156 \end{tcbposter} 157 158 \end{document}