[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-donau] branch master updated: multiple upload of donation receipt
From: |
gnunet |
Subject: |
[taler-donau] branch master updated: multiple upload of donation receipts during a year, remove text fields from image, other adjustments |
Date: |
Sat, 30 Sep 2023 19:36:16 +0200 |
This is an automated email from the git hooks/post-receive script.
lukas-matyja pushed a commit to branch master
in repository donau.
The following commit(s) were added to refs/heads/master by this push:
new b829609 multiple upload of donation receipts during a year, remove
text fields from image, other adjustments
b829609 is described below
commit b829609bca943864c665839b627a51c2aeee994f
Author: Matyja Lukas Adam <lukas.matyja@students.bfh.ch>
AuthorDate: Sat Sep 30 19:35:50 2023 +0200
multiple upload of donation receipts during a year, remove text fields from
image, other adjustments
---
doc/flows/images/overview.png | Bin 61618 -> 326029 bytes
doc/flows/main.tex | 25 ++++++++++++++-----------
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/doc/flows/images/overview.png b/doc/flows/images/overview.png
index 5e1d966..b3ae7f6 100644
Binary files a/doc/flows/images/overview.png and
b/doc/flows/images/overview.png differ
diff --git a/doc/flows/main.tex b/doc/flows/main.tex
index c28046c..bf8aae3 100644
--- a/doc/flows/main.tex
+++ b/doc/flows/main.tex
@@ -22,6 +22,7 @@
\section{Definitions}
\begin{itemize}
\item $m :=$ \textbf{receipt} = smallest structure representing a donation
confirmation unit, e.g. receipt for CHF1, CHF2. Equivalent in Taler is "coin".
+ \item BDR := blinded donation receipt (collection of blinded receipts)
\item $b :=$ Blinding factor
\item $H :=$ Cryptographic hash function
\item $statement_{year} :=$ sum of donations (receipts) for one specific
year and specific donor
@@ -47,7 +48,7 @@ The NONCE is used to uniquely distinguish receipts of the
same value ("create a
\subsection{Step 0: Initial setup}
\begin{enumerate}
\item The charity generates their own key pair.
- \item The DONAU administrator registers the public key of the charity and
sets the yearly donation limit.
+ \item The DONAU administrator registers the public key of the charity and
sets the yearly donation limit for the charities.
\end{enumerate}
\subsection{Step 1: Donor donates to charity}
@@ -61,8 +62,7 @@ The NONCE is used to uniquely distinguish receipts of the
same value ("create a
m2 = \langle H(TAXID, SALT), NONCE_2 \rangle
\end{align}
- \item The donor blinds the receipts using two different blinding factors
$b_1, b_2$ and sends them as $m1'$ and $m2'$ to the charity in addition to the
payment of 3 Euros.
-
+ \item The donor blinds the receipts using two different blinding factors
$b_1, b_2$.
\begin{align}
m1' = m1 \cdot b_1^{e_{1EUR}} \mod n_{1EUR} \\
m2' = m2 \cdot b_2^{e_{4EUR}} \mod n_{4EUR}
@@ -73,13 +73,15 @@ The NONCE is used to uniquely distinguish receipts of the
same value ("create a
m1'_{k1} = sign_{k1}(m1') \\
m2'_{k4} = sign_{k4}(m2')
\end{align}
+
+ \item The donor sends the blinded receipts (BDR) $m1'$ and $m2'$ as well as
the signatures $m1'$ and $m2'$ to the charity in addition to the payment of 3
Euros.
\end{enumerate}
\subsection{Step 2: Charity sends signed receipt to DONAU}
\begin{enumerate}
\item The charity verifies that the amount requested for signing is lower or
equal to the effective amount of the donation.
\item The charity signs(EdDSA, more efficient than RSA-based signatures) a
structure containing all unsigned receipts coming from the donor.
- \item The charity sends this structure to the DONAU.
+ \item The charity sends this structure and the signature to the DONAU.
\end{enumerate}
\subsection{Step 3: DONAU sends back blind signed receipt to charity}
@@ -88,7 +90,7 @@ The NONCE is used to uniquely distinguish receipts of the
same value ("create a
\begin{enumerate}
\item verifies the charity Signature on the structure.
\item verifies the signature of every receipt with it's private keys.
- \item increments the current year amount of the charity by the total
amount of the receipts.
+ \item increments the current year amount of the charity by the total
amount of the receipts, if the increment does not exceed the annual limit.
\item blind signs (RSA/Schnorr) all the receipts
\end{enumerate}
\begin{align}
@@ -106,18 +108,18 @@ The NONCE is used to uniquely distinguish receipts of the
same value ("create a
\subsection{Step 4: Donor sends receipts to DONAU, DONAU sends back statement}
\begin{enumerate}
- \item The donor sends the collection of all $(mi, si, kj)$ of the year to
the DONAU.
+ \item The donor sends the collection of all $(mi, si, kj)$ to the DONAU. The
donation receipts are always sent to the DONAU right after the donor has
unblinded the receipts. The corresponding year is sent with.
\item For each $(mi, si, kj)$ The DONAU...
\begin{itemize}
- \item verifies that $kj$ is one of it's currently valid public keys
+ \item verifies that $kj$ is one of the valid public keys corresponding to
the year indicated.
\item verifies if $si$ is a correct signature with the corresponding
secret key.
- \item verifies that the hash of the TAXID and the salt is the same as in
other receipts
- \item verifies that the nonce is different from the ones in other receipts
+ \item verifies that the hash of the TAXID and the salt is the same as in
other receipts (how to solve the problem with multiple wallets?)
+ \item verifies that the nonce is different from each ever used nonce of
this donor for the corresponding year.
\item if all of this is the case, it adds the amount corresponding to the
public key to the total donation amount for the year.
\end{itemize}
- \item The DONAU then signs over the amount, year and hashed TAXID+salt and
sends signature back to the donor
+ \item The DONAU then signs over the amount, year and hashed TAXID+salt and
sends signature and the total amount so far back to the donor.
\begin{align}
sign(total amount, year, hash(TAXID, salt))
@@ -134,9 +136,10 @@ The NONCE is used to uniquely distinguish receipts of the
same value ("create a
\item signature received from the DONAU
\item year
\item amount for the year
+ \item version of the protocol(one byte)
\end{itemize}
- \item The validator scans the QR code. The app validates that the signature
corresponds to the current DONAU statement signing key.
+ \item The validator scans the QR code and validates that the signature
corresponds to the current DONAU statement signing key.
\end{enumerate}
\end{document}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-donau] branch master updated: multiple upload of donation receipts during a year, remove text fields from image, other adjustments,
gnunet <=