gnunet-svn
[Top][All Lists]
Advanced

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

[taler-cashless2ecash] branch master updated: poster: draft


From: gnunet
Subject: [taler-cashless2ecash] branch master updated: poster: draft
Date: Thu, 23 May 2024 01:01:40 +0200

This is an automated email from the git hooks/post-receive script.

joel-haeberli pushed a commit to branch master
in repository cashless2ecash.

The following commit(s) were added to refs/heads/master by this push:
     new 25b6c32  poster: draft
25b6c32 is described below

commit 25b6c32ff66c3c46eeceb55f037e69b392277a92
Author: Joel-Haeberli <haebu@rubigen.ch>
AuthorDate: Thu May 23 01:01:24 2024 +0200

    poster: draft
---
 c2ec/api-wire-gateway.go         |   4 +-
 poster/accept_tos.jpg            | Bin 0 -> 124332 bytes
 poster/cashless2ecash_poster.pdf | Bin 942659 -> 829032 bytes
 poster/cashless2ecash_poster.tex | 109 ++++++++++++++++++++++++---------------
 poster/enter_amount.jpg          | Bin 175862 -> 74999 bytes
 poster/register_param.jpg        | Bin 187656 -> 115206 bytes
 poster/summary.jpg               | Bin 164652 -> 89505 bytes
 7 files changed, 70 insertions(+), 43 deletions(-)

diff --git a/c2ec/api-wire-gateway.go b/c2ec/api-wire-gateway.go
index a0ed175..10bc49a 100644
--- a/c2ec/api-wire-gateway.go
+++ b/c2ec/api-wire-gateway.go
@@ -327,7 +327,7 @@ func historyIncoming(res http.ResponseWriter, req 
*http.Request) {
        }
 
        if len(withdrawals) < 1 {
-               res.WriteHeader(HTTP_NOT_FOUND)
+               res.WriteHeader(HTTP_NO_CONTENT)
                return
        }
 
@@ -429,7 +429,7 @@ func historyOutgoing(res http.ResponseWriter, req 
*http.Request) {
        }
 
        if len(filtered) < 1 {
-               res.WriteHeader(HTTP_NOT_FOUND)
+               res.WriteHeader(HTTP_NO_CONTENT)
                return
        }
 
diff --git a/poster/accept_tos.jpg b/poster/accept_tos.jpg
new file mode 100644
index 0000000..85229d5
Binary files /dev/null and b/poster/accept_tos.jpg differ
diff --git a/poster/cashless2ecash_poster.pdf b/poster/cashless2ecash_poster.pdf
index 088cd2a..4b2dddd 100644
Binary files a/poster/cashless2ecash_poster.pdf and 
b/poster/cashless2ecash_poster.pdf differ
diff --git a/poster/cashless2ecash_poster.tex b/poster/cashless2ecash_poster.tex
index 8fc8ca9..b39d8b1 100644
--- a/poster/cashless2ecash_poster.tex
+++ b/poster/cashless2ecash_poster.tex
@@ -6,11 +6,14 @@
 %% Sprache
 \usepackage[nswissgerman]{babel}
 \usepackage[autostyle]{csquotes}
+\usepackage{enumitem}
+
+\setlist[enumerate]{itemsep=0mm}
 
 \begin{document}
 
        \title{Cashless to e-Cash}
-       \author{Joel Häberli\inst{*}\thanks{habej2@bfh.ch}}
+       \author{Joel Häberli\inst{*}\thanks{joel.haeberli@taler.net}}
        \institute{Berner Fachhochschule, Departement Technik und Informatik, 
\inst{*}Institute for Cybersecurity and Engineering ICE}
        %% \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.
        % \titlegraphic{
@@ -23,95 +26,119 @@
 
        \begin{tcbposter}[
                poster={
-                       columns=4,
-                       rows=7,
+                       columns=5,
+                       rows=8,
                        spacing=1cm,
                        %showframe, %Gitter einblenden. Für Platzierung häufig 
hilfreich
                }]
 
-               
\begin{posterboxenv}[title=Motivation]{name=intro,column=1,row=1,span=2,rowspan=2}
+               
\begin{posterboxenv}[title=Motivation]{name=intro,column=1,row=1,span=3,rowspan=2}
                        
-                       This thesis realizes a framework to enable withdrawal 
of digital cash for GNU Taler through a trusted third party. It addresses a 
report commissioned by the European Central Bank (ECB), which identified an 
easy onboarding as one of the most important aspects of a Digital Euro. This 
will lead to a higher acceptance of GNU Taler and leads to a better integrating 
into the existing systems.
+                       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 objective is to improve the uptake of GNU Taler.
 
-                       The C2EC components implements the structures required 
to fulfill the following properties:
+                       Our key design objectives were:
 
                        \begin{enumerate}
-                               \item Finality: Liability for the money lies on 
the provider
-                               \item Convenience: The UX for the customer is 
convenient
+                               \item Finality: Liability for the money is not 
on the side of the Excahnge
+                               \item Convenience: The user-experience follows 
established patterns
+                               \item Abort: Failures are handled without loss 
of money
                        \end{enumerate}
 
-                       The liability of the provider is achieved by only 
allowing withdrawals of strictly finale transactions. This keeps the Exchange 
out of legal issues. Due to the convenient process, a broader group of people 
is motivated to use the Taler payment system for their payments. Eventually 
this helps the payment system Taler to be taken up faster by the society.
+                       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.
 
                \end{posterboxenv}
 
-               
\begin{posterboxenv}{name=flow-diagram,column=3,row=1,span=2,rowspan=2}
+               
\begin{posterboxenv}{name=flow-diagram,column=4,row=1,span=2,rowspan=2}
 
                        
\includegraphics[width=\linewidth]{components_images.png} 
 
                \end{posterboxenv}
 
-               \begin{posterboxenv}[title=Terminals API design 
requirements]{name=api,column=2,row=3,span=3}
+               \begin{posterboxenv}{name=taler-news,column=1,row=3,span=1, 
rowspan=1}
 
-                       To allow the withdrawal of digital cash using Taler, 
the newly introduced Terminals API must be implemented. The Terminals API is 
responsible to setup a withdrawal operation identifier and to cover the needs 
of a terminal, concerning the withdrawal process:
+                       Bachelor thesis and further material: 
+               
+                       
\includegraphics[width=\linewidth]{taler_news_terminals_api.png}
+
+                       https://taler.net/en/news/2024-08.html
 
-                       \begin{enumerate}
-                               \item Setup withdrawal process and Taler wallet 
withdrawal operation
-                               \item Seek a secure confirmation of the payment 
at the provider's backend
-                               \item Confirm or abort the withdrawal
-                       \end{enumerate}
 
                \end{posterboxenv}
 
-               \begin{posterboxenv}{name=taler-news,column=1,row=3,span=1, 
rowspan=1}
+               \begin{posterboxenv}[title=Terminals API design 
requirements]{name=api,column=2,row=3,span=4, rowspan=2}
 
-                       Link to bachelor thesis and 
-                       further material (QR-Code): 
-                       
-                       https://taler.net/en/news/2024-08.html
+                       To allow the withdrawal of digital cash using Taler we 
designed the \textit{Terminals API}. It is responsible for:
 
-                       
\includegraphics[width=\linewidth]{taler_news_terminals_api.png}
+                       \begin{enumerate}
+                               \item Associate Taler wallet with the financial 
transaction
+                               \item Expose transaction confirmations to the 
Taler operator
+                               \item Allow the Taler operator to reverse 
transactions if wallet fails to withdraw digital cash
+                               \item Inform Taler wallet about transaction 
stated
+                       \end{enumerate}
+
+                       We implemented the Terminals API using Go under a Free 
Software license.
 
                \end{posterboxenv}
 
-               \begin{posterboxenv}[title=PayDroid POS Terminal App (Wallee 
A50)]{name=wallee, column=2, row=4, span=3, span=3}
-                       To show that the specification is able to capture the 
needs for third party withdrawals and allow the integration for theoretically 
any means of payment, an integration was done for the payment provider Wallee. 
Wallee supplies a PayDroid platform (Android based) which allows to write 
custom terminal applications enabling strong authentication of the customer. 
The newly created withdrawal application sets up the withdrawal and awaits the 
registration at the Terminals API by the Taler w [...]
+               \begin{posterboxenv}[title=PayDroid POS Terminal App (Wallee 
A50)]{name=wallee, column=2, row=5, span=4, rowspan=1}
+
+                       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  [...]
+
                \end{posterboxenv}
  
-               \begin{posterboxenv}[title=Enter 
Amount]{name=flow-diagram,column=1,row=5,span=1, rowspan=1}
+               \begin{posterboxenv}[title=Enter Amount 
(1)]{name=flow-diagram,column=1,row=6,span=1, rowspan=1}
 
-                       \includegraphics[width=\linewidth]{enter_amount.jpg} 
+                       \begin{center}
+                               \includegraphics[height=17cm]{enter_amount.jpg} 
+                       \end{center}
 
                \end{posterboxenv}
 
 
-               \begin{posterboxenv}[title=Use Taler 
Wallet]{name=flow-diagram,column=2,row=5,span=1, rowspan=1}
+               \begin{posterboxenv}[title=Associate wallet 
(2)]{name=flow-diagram,column=2,row=6,span=1, rowspan=1}
 
-                       \includegraphics[width=\linewidth]{register_param.jpg} 
+                       \begin{center}
+                               
\includegraphics[height=17cm]{register_param.jpg}
+                       \end{center} 
 
                \end{posterboxenv}
 
+               \begin{posterboxenv}[title=Confirm withdrawal 
(3)]{name=flow-diagram,column=3,row=6,span=1, rowspan=1}
 
-               \begin{posterboxenv}[title=Authorize 
Payment]{name=flow-diagram,column=3,row=5,span=1, rowspan=1}
+                       \begin{center}
+                               \includegraphics[height=17cm]{accept_tos.jpg}
+                       \end{center}
+
+               \end{posterboxenv}
 
-                       
\includegraphics[width=\linewidth]{auth_transaction.jpg} 
+
+               \begin{posterboxenv}[title=Authorize Payment 
(4)]{name=flow-diagram,column=4,row=6,span=1, rowspan=1}
+
+                       \begin{center}
+                               
\includegraphics[height=17cm]{auth_transaction.jpg} 
+                       \end{center}
 
                \end{posterboxenv}
 
-               \begin{posterboxenv}[title=View 
Summary]{name=flow-diagram,column=4,row=5,span=1, rowspan=1}
+               \begin{posterboxenv}[title=View Summary 
(5)]{name=flow-diagram,column=5,row=6,span=1, rowspan=1}
 
-                       \includegraphics[width=\linewidth]{summary.jpg}
+                       \begin{center}
+                               \includegraphics[height=17cm]{summary.jpg}
+                       \end{center}
 
                \end{posterboxenv}
 
-               \begin{posterboxenv}[title=Integrate your 
platform!]{name=Integrate your platform, column=1,row=7,span=4,rowspan=1}
-                       C2EC is extensible. The C2EC backend component defines 
two interfaces which can be implemented by any provider. This also includes 
cash to e-cash cases like vending machines or any POS installation. 
-                       
-                       \begin{enumerate}
-                               \item Provider-Client Interface: defines the 
operations needed to communicate with the provider's backend
-                               \item Provider-Transaction Interface: defines 
the operations to check the finality of the transaction
-                       \end{enumerate}
+\space
+
+               \begin{posterboxenv}[title=C2EC is extensible]{name=Integrate 
your platform, column=1,row=8,span=5,rowspan=1}
+
+                       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 Exchange 
operator is ensured in realtime, that they will receive the wire transfer.
+
+                       The Wallee integration is the C2EC backend is an 
example. In principle it should be easy to adapt to other acquirers. The 
architecture also supports other use cases, such as cash to e-cash.
                                
-                       The implementation must guarantee the finality of the 
transaction and like this provides the Exchange with the securities it needs to 
allow the withdrawal of the digital cash. The operations also define a refund 
operation. The refund operation is used, when the Exchange closes reserves due 
to inactivities or in case the Exchange manually triggers a refund (perhaps 
because the customer asked to do so).
+                       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.
+
+                       Help us to support more payment providers and add an 
additional integration!
                \end{posterboxenv}
 
        \end{tcbposter}
diff --git a/poster/enter_amount.jpg b/poster/enter_amount.jpg
index 2bc032a..a2a3eae 100644
Binary files a/poster/enter_amount.jpg and b/poster/enter_amount.jpg differ
diff --git a/poster/register_param.jpg b/poster/register_param.jpg
index 086332d..a3046fc 100644
Binary files a/poster/register_param.jpg and b/poster/register_param.jpg differ
diff --git a/poster/summary.jpg b/poster/summary.jpg
index 7e261b2..bb4f198 100644
Binary files a/poster/summary.jpg and b/poster/summary.jpg 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]