donau

Donation authority for GNU Taler (experimental)
Log | Files | Refs | Submodules | README | LICENSE

commit e30e9f4c8c167893dec3f69dd52cb6adf911c9dd
parent d80759906251f26182562d285cdbcf8542387487
Author: Casaburi Johannes <johannes.casaburi@students.bfh.ch>
Date:   Thu,  6 Jun 2024 12:19:14 +0200

work on future work chapter

Diffstat:
Mdoc/thesis/chapters/approach/concept.tex | 2+-
Mdoc/thesis/chapters/background/hash.tex | 3++-
Adoc/thesis/chapters/results/conclusion.tex | 5+++++
Mdoc/thesis/chapters/results/future.tex | 9++++++---
Mdoc/thesis/thesis.pdf | 0
Mdoc/thesis/thesis.tex | 1+
6 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/doc/thesis/chapters/approach/concept.tex b/doc/thesis/chapters/approach/concept.tex @@ -1,4 +1,4 @@ -The Donau (donation authority) environment includes three stakeholders. Donors, charities and the tax authority. The Donau itself is operated by the tax authority while maintaining a list of verified charities. Each charity maintains a backend solution that allows it to communicate with the Donau and the donors. See Figure \ref{fig:stakeholders} \pageref{fig:stakeholders} +The Donau environment includes three stakeholders. Donors, charities and the tax authority. The Donau itself is operated by the tax authority while maintaining a list of verified charities. Each charity maintains a backend solution that allows it to communicate with the Donau and the donors. See Figure \ref{fig:stakeholders} \pageref{fig:stakeholders} \begin{figure}[ht] \begin{center} diff --git a/doc/thesis/chapters/background/hash.tex b/doc/thesis/chapters/background/hash.tex @@ -1,4 +1,5 @@ -The project is based on existing cryptography. In the following only the crucial cryptographic elements used by the Donau system are described. +The project is based on existing cryptography. This chapter describes only the crucial cryptographic elements used by the Donau. + \section{Hash Functions} Hash functions are used to compress input values to a fixed output size. Hash function are deterministic. The same input leads to the same output. The Donau uses hash functions to compress data in order to record less data in the database or to send less data over the network. To be able to clearly recognize the corresponding data from the hash, the hash function has to second-preimage resistant or better collision resistant. With second-preimage resistance no equivalent hash for any input $x'$ to a given hash $h(x)$ with $x \neq x'$ can be found in a reasonable time. Collision resistance is the stronger assumption and even prevents to find $h(x) = h(x')$ with $x \neq x'$. A further important assumption is the Avalanche Criterion. The property defines that a small change in the hash input message leads to a substantially change in the output hash. This criteria makes it hard to guess the input even if a part of the input is known.\cite{hash2012} To protect the donor, his identity is represented as salted hash of the tax identifiaction number. The salt is a small value with high entropy to make it more difficult to guess the hashed value. \\ diff --git a/doc/thesis/chapters/results/conclusion.tex b/doc/thesis/chapters/results/conclusion.tex @@ -0,0 +1,5 @@ +\section{Conclusion} +%big picture stuff +%history +%tax transparency, floss, privacy +%Donau international diff --git a/doc/thesis/chapters/results/future.tex b/doc/thesis/chapters/results/future.tex @@ -3,8 +3,11 @@ %charity merchant backend %spa % -The donor client implementation needs to be implemented in the Taler wallet. This is a necessary step to be able to use the Donau together with the Taler payment system. Then donations could be made fully anonymous. +\subsection{Client implementation} +The donor client implementation needs to be implemented in the Taler wallet. This is a necessary step to be able to use the Donau together with the Taler payment system. Then donations could be made fully anonymous. The necessary functionality must be implemented in the \texttt{taler-wallet-core}. This includes the option to make donations and request for the final donation statement. If the donor wants to be able to deduct the donations from taxes, the user is asked to input his tax number. Hidden from the user are the generation of the various elements such as \texttt{DI}, \texttt{UDI}, \texttt{BUDI} and \texttt{BKP}. The blinding and unblinding implementation must also be present. -Each registered charity needs to communicate with the donors and the Donau. The Taler merchant backend needs to be modified to incrporate the charity backend logic. +\subsection{Charity backend} +Each registered charity needs to communicate with the donors and the Donau. The Taler merchant backend needs to be modified to incrporate the charity backend logic. To do this it is necessary to add a charity information table to the merchant database. This table should contain information like the charity public key, domain, base URL, currency and instance. The instance beeing a number as there could be different instances running. The merchant backend needs to be extended to incrporate the charity logic. Meaning the signing of BKP's sent to the charity and also the communication whith the donor. The charity should return a list of Donaus in which the charity is registered, so that the donor can choose the appropriate Donau for tax deduction. -For the administrator a single page application is needed to comftably manage the charities. This would include functionality to add, remove and modify charities. +\subsection{Donau SPA} +For the administrator a single page application is needed to comftably manage the charities. This would include functionality to add, remove and modify charities. This setup could include a reverse proxy, which authenicates the Donau admin. Once the identity has been confirmed the proxy can access the Donau endpoint to manage a charity. The proxy would hold a bearer token, in order to authenticate itself. diff --git a/doc/thesis/thesis.pdf b/doc/thesis/thesis.pdf Binary files differ. diff --git a/doc/thesis/thesis.tex b/doc/thesis/thesis.tex @@ -47,6 +47,7 @@ \chapter{Results and Future work} \input{chapters/results/results} \input{chapters/results/future} +\input{chapters/results/conclusion} \bibliography{bibliography} \addcontentsline{toc}{chapter}{Bibliography}