commit ea9fd9ccf1ab3fe67fb3d4d090e95d87e015e230
parent 67acfee6bc87c3255c2ec61866d07a9d26d6f474
Author: Pius Loosli <loosp2@bfh.ch>
Date: Fri, 29 Sep 2023 16:58:15 +0200
[doc] steps 1-3
Diffstat:
1 file changed, 40 insertions(+), 8 deletions(-)
diff --git a/doc/flows/main.tex b/doc/flows/main.tex
@@ -20,15 +20,16 @@
\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 $b :=$ blinding factor
- \item $m :=$ receipt request
- \item $m' :=$ blinded receipt request
+ \item $m :=$ receipt
+ \item $m' :=$ blinded receipt
\item $s :=$ signed receipt
\item $s' :=$ blind signed receipt
\end{itemize}
-\section{receipt request}
-The nonce is used to uniquely distinguish receipts of the same value ("create a fresh receipt"). Otherwise the donau would refuse receipts starting at the second, since it would believe it is a "double spending". To simplify the thought process, the nonce can be thought of as "the receipt id".
+\subsection{receipt}
+The nonce is used to uniquely distinguish receipts of the same value ("create a fresh receipt"). Otherwise the donau would refuse receipts starting at the second, since it would believe it is a "double spending". To simplify the thought process, the \begin{color}{red}{nonce}\end{color} can be thought of as "the receipt id".
\begin{align}
m := <Hash(TaxID, salt), \begin{color}{red}{nonce}\end{color}>
\end{align}
@@ -36,8 +37,8 @@ The nonce is used to uniquely distinguish receipts of the same value ("create a
% TODO example
\section{Overview}
-% Insert DONAU overview.png
-\section{Step 1: Donor donates to charity}
+% TODO Insert DONAU overview.png
+\subsection{Step 1: Donor donates to charity}
To donate 3 Euros the donor has to generate 2 coins (a 1 Euro and 2 Euro coin). The donor generates messages $M_1$ and $M_2$ which include a salted hash of the tax number and a NONCE.
\begin{align}
@@ -45,12 +46,43 @@ To donate 3 Euros the donor has to generate 2 coins (a 1 Euro and 2 Euro coin).
M_2 = \langle H(TAXID, SALT), NONCE_2 \rangle
\end{align}
-The messages are blinded using the blinding factor and sent as $M_1'$ and $M_2'$ to the charity in addition to the payment of 3 Euros.
+The messages are blinded using the blinding factor b and sent as $M_1'$ and $M_2'$ to the charity in addition to the payment of 3 Euros.
\begin{align}
M_1' = M_1 \cdot b_1^{e_{1EUR}} \mod n_{1EUR} \\
M_2' = M_2 \cdot b_2^{e_{2EUR}} \mod n_{2EUR}
\end{align}
-\section{Step 2: Charity to exchange}
+\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.
+\end{enumerate}
+
+\subsection{Step 3: Donau sends back blind signed receipt to charity}
+\begin{enumerate}
+ \item The donau verifies the charity Signature on the structure.
+ \item The donau verifies the signature of every receipt with it's private keys.
+ \item The donau increments the current year amount of the charity by the total amount of the receipts.
+ \item The donau blind signs (RSA/Schnorr) all the receipts
+ \begin{align}
+ s_1' = m_1'^{(d_{E1})} \emph{mod ?} \\
+ s_2' = m_2'^{(d_{E2})} \emph{mod ?}
+ \end{align}
+ \item The donau sends back the blind signed receipts to the charity
+ \item The charity transmits the blind signed receipts to the donor.
+ \item The donor unblinds the receipts.
+ \begin{align}
+ s_1 = s_1' \cdot b^{-1} \mod n_1 \\
+ s_2 = s_2' \cdot b^{-1} \mod n_2
+ \end{align}
+\end{enumerate}
+
+\subsection{Step 4: Donor sends receipts to donau, Donau sends back statement}
+
+
+\subsection{Step 5: Donor sends QR Code to validator (tax office)}
+
+
\end{document}