commit b23316a6f6f0b3f258085f382a7d732cb03e0fa5
parent b6dc037bfc2301e52bb053f489b89e8ae782a5c6
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Tue, 7 Oct 2025 12:14:03 +0200
typos and notes
Diffstat:
1 file changed, 36 insertions(+), 16 deletions(-)
diff --git a/design-documents/070-alias-directory-mailbox.rst b/design-documents/070-alias-directory-mailbox.rst
@@ -19,16 +19,14 @@ and web service while maintaining the respective privacy guarantees.
Motivation
==========
-The Digital Euro is current in development and as a part of it the
+The Digital Euro is currently in development and as a part of it the
so-called "Alias Lookup Service" is being developed for at least
28 Millon Euros (Tender "PRO-009485").
To enable peer-to-peer payments for the GNU Taler payment system
between users such a directory service and lightweight inbox service are also required.
-But, this service one the one hand has delicate privacy requirements not found
-in .
We believe that the estimated development costs from the ECB tender
-are unreasonably and unexplicably high and we can demostrate how an efficient,
+are unreasonably and unexplicably high. We can demostrate how an efficient,
privacy-friendly and lean service that offers this kind of functionality can be
developed within this proposal at a fraction of the cost of the
"Alias Lookup Service":
@@ -106,33 +104,55 @@ Bob wants to request money from Alice.
He opens his Taler wallet and opens the `Send to Friend` screen from the menu.
The screen consists of a search input and an Alias type selector.
Bob selects the Alias type (e.g. GitHub or Email) and inputs Alice's Alias.
-If not found, Bob canno use this feature.
+This will initiate a lookup request to the :ref:`Taldir API <api-taldir>`.
+If no results were found, Bob cannot use this feature.
If found, Bob will be able to proceed to create a payment request.
A screen that allows to create a payment request is shown to Bob.
-Once Bob has input all necessary details, the payment request is sent to
-Alice's Mailbox URI.
-This request may fail if Alice's Mailbox is full (See also :ref:`Mailbox API <api-mailbox>`).
-
+Once Bob has entered all necessary details, the payment request is sent to
+Alice's Mailbox URI through the :ref:`Mailbox API <api-mailbox>`.
+This request may fail, for example if Alice's Mailbox is full.
**Note**: It makes sense to use something like HPKE to encrypt the payment request
- to Alice's Wallet Public Key.
+ to Alice's Wallet Public Key. In general, the Payment Request payload is undefined. We require (probably) a unique request ID in order to properly handle resending payment requests in UC-4.
US-3: Receive Payment Request
-----------------------------
Prerequisites: Alice has installed Taler Wallet, Alice has registered an Alias.
-Alice's Wallet periodically checks her Mailbox (:ref:`Mailbox API <api-mailbox>`)
-for new payment requests.
-If a new payment request is found the Wallet should notify Alice.
+Alice's Wallet periodically checks her Mailbox using the :ref:`Mailbox API <api-mailbox>`
+for new payment requests and downloads the messages locally.
+Remote messages are deleted after download.
+
+ **Note**: When are local messages deleted?
+
+If a new payment request ID is found the Wallet should notify Alice.
+
+ **Note**: Notice request *ID*. This requires requests to have unique IDs. Also, maybe notifications should happen even if the ID is already seen, but the message is new.
+
The wallet provides a screen with payment request overviews (list of messages
-in the mailbox).
+in the local mailbox).
Alice selects Bob's payment request either through the notification or from the list
of payment requests.
Alice creates a P2P payment based on the metadata in the payment request.
-Upon completion of the payment, the request is deleted from the Mailbox.
-She may also decline to pay and delete the payment request.
+She may also decline to pay.
+
+US-4: Resend Payment Request
+----------------------------
+
+Prerequisites: Bob has sent a Payment Request to Alice
+
+Bob opens the screen in the Wallet that displays sent payment requests.
+Bob may resend a payment request to Alice using a Button.
+This sends the request to Alice's mailbox again.
+
+Open Questions
+==============
+
+- Payment Request Message unspecified.
+ - Requests should probably have an ID.
+ - Requests should probably be encrypted (HPKE?)
Proposed Solution
=================