gnunet-svn
[Top][All Lists]
Advanced

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

[taler-cashless2ecash] branch master updated: docs: fix payto docs


From: gnunet
Subject: [taler-cashless2ecash] branch master updated: docs: fix payto docs
Date: Wed, 20 Mar 2024 16:01:17 +0100

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 66697e0  docs: fix payto docs
66697e0 is described below

commit 66697e05791cf1eff319036ebf165c2202487344
Author: Joel-Haeberli <haebu@rubigen.ch>
AuthorDate: Wed Mar 20 16:01:06 2024 +0100

    docs: fix payto docs
---
 docs/content/architecture/overview.tex |  20 +++++++++-----------
 docs/project.bib                       |   7 +++++++
 docs/thesis.pdf                        | Bin 1384056 -> 812625 bytes
 3 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/docs/content/architecture/overview.tex 
b/docs/content/architecture/overview.tex
index 58f60c8..46a3d62 100644
--- a/docs/content/architecture/overview.tex
+++ b/docs/content/architecture/overview.tex
@@ -79,24 +79,22 @@ The nonce is leveraged by all components to establish the 
connection to an entry
 The Wallet gains the nonce value when scanning the QR code at the Terminal and 
then sends the nonce (and the other parameters) to the Exchange.
 
 \subsubsection{Nonce creation}
-Besides the entropy needed to establish a correct nonce, the hash function 
leveraged must be specified. (TODO - possibly one of FIPS 180-4 or FIPS 202 
families)
+Besides the entropy needed to establish a correct nonce, the hash function 
leveraged must be specified. (TODO - e.g. FIPS 180-4 \cite{fips-180-4} (SHA-1 
and SHA-2 families) or FIPS-202 \cite{fips-202} (SHA-3 family, which is still 
beeing reviewed))
 
 \subsection{Reserve Public Key}
 The reserve public key is created by the Wallet and sent to the Exchange to 
establish the mapping between the nonce and the reserve public key. The reserve 
public key, can then be retrieved by the Terminal and used during the payment. 
The reserve public key is used to eventually create a reserve at the exchange 
which contains the money. The Wallet can then withdraw the money from this 
reserve using the withdrawal process of the wallet \cite{wallet-withdrawal}.
 
-\subsection{Payto REFUND extension}
-RFC 8905 \cite{rfc8905} specifies a URI scheme (complying with RFC 3986 
\cite{rfc3986}), which allows to address a creditor with theoretically any 
protocol that can be used to pay someone (such as IBAN, BIC etc.) in a 
standardized way. Therefore it introduces a registry which holds the specific 
official values of the standard.
+\subsection{Payto wallee-transaction extension}
+RFC 8905 \cite{rfc8905} specifies a URI scheme (complying with RFC 3986 
\cite{rfc3986}), which allows to address a creditor with theoretically any 
protocol that can be used to pay someone (such as IBAN, BIC etc.) in a 
standardized way. Therefore it introduces a registry which holds the specific 
official values of the standard. The registry is supervised by the GANA (GNUnet 
Assigned Numbers Authority) \cite{gnunet-gana}.
 
-For the case of refunds, which might occur in case a credit card transaction 
does not succeed, a new \textit{target type} called REFUND is registered. It 
takes a transaction identifier as \textit{target identifier} which identifies 
the transaction for which a refund process shall be triggered. The idea is that 
the receiver of the payto URI is able to deduct the transaction and handle the 
specific process. Like this any refund process can be handled through this 
single \textit{target type}.
+For the case of refunds, which might occur in case a credit card transaction 
does not succeed, a new \textit{target type} called \textit{wallee-transaction} 
is registered. It takes a transaction identifier as \textit{target identifier} 
which identifies the transaction for which a refund process shall be triggered. 
The idea is that the handler of the payto URI is able to deduct the transaction 
from the payto-uri and trigger the refund process.
 
-The transaction identifier is not provider agnostic. This means that the 
identifier can be sourced by various formatted identifiers, depending on the 
originating system. Therefore, the transaction identifier is a hash of the 
actual identifier allowing a standardized format for the \textit{target 
identifier}. This requires the owner of the process triggering the refund to 
maintain a mapping of the \textit{target identifier} and the respective hash. 
The owner of the process triggering the  [...]
-
-The idea of the REFUND \textit{target type} is to trigger a refund process by 
the owner of the refund process without other services needing to deal with the 
refund logic. Therefore transactions which allow refund but the receiver cannot 
directly execute the refund, the payto REFUND \textit{target type} can be used 
to advice the owner to of the refund process, to execute the refund linked to 
the transaction identifier supplied using the \textit{target identifier}, which 
is a hash of the  [...]
-
-\subsubsection{Refund Target Identifier Hash}
-In order to allow a generic adoption of the REFUND \textit{target type}, the 
transaction identifier must be transformed to a general format. Therefore a 
hash function can be leveraged. This hash function must be configurable and 
therefore the \textit{generic option} called \textit{instruction} holds the 
name of the hash function. The name shall correspond to one of the offical 
terms used in e.g. FIPS 180-4 \cite{fips-180-4} (SHA-1 and SHA-2 families) or 
FIPS-202 \cite{fips-202} (SHA-3 fa [...]
+The idea of the \textit{wallee-transaction target type} is to trigger a refund 
process by the owner of the refund process without other services needing to 
deal with the refund logic. Therefore transactions which allow refund but the 
receiver cannot directly execute the refund, the payto 
\textit{wallee-transaction target type} can be used to advice the owner to of 
the refund process to start the refund process.
 
 \subsubsection{Payto refund using Wallee}
-Wallee allows to trigger refunds using the Refund Service of the Wallee 
backend. The service allows to trigger a refund given a transaction identifier. 
Therefore the nonce2ecash component can trigger the refund using the refund 
service if needed, and the payto-uri retrieved as debit account by the 
wirewatch gateway API, is leveraged to delegate the refund process to the 
Wallee Backend using the Refund Service.
+Wallee allows to trigger refunds using the Refund Service of the Wallee 
backend. The service allows to trigger a refund given a transaction identifier. 
Therefore the nonce2ecash component can trigger the refund using the refund 
service if needed, and the payto-uri retrieved as debit account by the 
wirewatch gateway API, is leveraged to delegate the refund process to the 
Wallee Backend using the Refund Service and parsing the transaction identifier 
of the payto-uri.
+
+\subsubsection{Extensibility}
+The flow is extensible and other providers than Wallee might be added. They 
just register their own refund payto-uri with the GANA and they can implement 
the refund process likewise.
 
 \pagebreak
\ No newline at end of file
diff --git a/docs/project.bib b/docs/project.bib
index bfe51b3..c8cae9b 100644
--- a/docs/project.bib
+++ b/docs/project.bib
@@ -105,6 +105,13 @@
     howpublished = {\url{https://doi.org/10.6028/NIST.FIPS.202}},    
 }
 
+@misc{gnunet-gana,
+    author = {GNUnet Project},
+    title = {The GNUnet Assigned Numbers Authority (GANA)},
+    url = {https://gana.gnunet.org/},
+    howpublished = {\url{https://gana.gnunet.org/}}
+}
+
 @misc{wallet-withdrawal,
     author       = {Taler},
     title        = {Withdrawal},
diff --git a/docs/thesis.pdf b/docs/thesis.pdf
index 4eca76e..ec29fae 100644
Binary files a/docs/thesis.pdf and b/docs/thesis.pdf 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]