taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 011360c007f5a6d022cca8f6e37350c20d86ca17
parent 46d6789df8e7c7a195f89c0eb09315b80e019b23
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Fri, 19 Sep 2025 15:58:58 +0200

add mailbox and taldir DD, WIP

Diffstat:
Adesign-documents/070-alias-directory-mailbox.rst | 110+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mdesign-documents/index.rst | 1+
2 files changed, 111 insertions(+), 0 deletions(-)

diff --git a/design-documents/070-alias-directory-mailbox.rst b/design-documents/070-alias-directory-mailbox.rst @@ -0,0 +1,110 @@ +DD 70: Alias Lookup and Mailbox +############################### + +Summary +======= + +GNU Taler is a payment system that makes privacy-friendly online transactions +fast and easy. +This project will facilitate the support of peer-to-peer payments (P2P) for the +GNU Taler payment system between users by implementing a privacy-friendly +directory service and lightweight inbox service (TALer DIRectory). +The services will allow users to securely associate their +online identities (such as email addresses, phone numbers, X/Twitter/Mastodon handles or other suitable verifiable addresses and accounts) with their wallet +public keys and the URL of an inbox service and use it for P2P payments. +Storage and retrieval may also be offloaded to distributed directory services +such as DNS or GNS (RFC 9498) instead of a database +and web service while maintaining the respective privacy guarantees. + +Motivation +========== + +The Digital Euro is current 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, +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": + +The directory service will allow users to securely associate their +online identities (such as email addresses, phone numbers, X/Twitter/Mastodon handles or other suitable verifiable addresses and accounts) with their wallet +public keys and the URL of an inbox service. +Additionally we found that storage and retrieval may also be offloaded to distributed directory services such as DNS or GNS (RFC 9498) instead of a database +and web service while maintaining the respective privacy guarantees. +We have added such a task to the estimate. + +In order to facilitate fund transfers in the P2P context, we +will extend the Taler wallet (in particular, the browser-based +WebExtension) to allow users to associate the wallet with one or more +(waller) addresses, to query the directory to send money or invoices, to +encrypt the payment messages to the public key obtained from the +directory, to transmit the message via the lightweight inbox service, +and to poll the inbox service for incoming requests and show them to +the user. +Both the key directory service and the inbox service may provide their +services for a fee to compensate the operator for operational costs +including the validation of addresses. + +Requirements +============ + +The implementation must take great care to ensure the privacy and +integrity of the mappings from the identity to the wallet keys. +For this, plain text identity information such as email addresses should +only be processed as part of the validation and registration processes. +The actual mappings will be indexed using salted hashes. + +Queries for wallet keys also should require the caller to provide the +already hashed identity to minimize data leakage from requests. + +This minimizes the handling of personally identifyable information (PII) +at the service and limits exposure in case of data leaks at the operator. + +The service must be suitable to be operated at very high availability constraints. +As such, the service must be scalable and ideally have a small footprint and +computing base. + +Proposed Solution +================= + +The directory and mailbox services will be implemented as two distinct services. +Both with have an open REST API which will be specified as part of the protocol. + +Directory +--------- + +The directory will support an extensible interface for alias *validators*. +Validators will ensure that users that want to register mailbox URIs under an alias +are actually the owner/in control over the particular alias. +For example, in order to use an email address as the alias a verification link will be +sent to that address and the user needs to confirm registration. + +In addition to the REST API, the directory will support an extensible interface for +alias *disseminators*. +Disseminators will publish the alias-mailbox mapping. +For example, DNS or GNS validators will publish the mappings under zones of the operator. + +Definition of Done +================== + +(Only applicable to design documents that describe a new feature. While the +DoD is not satisfied yet, a user-facing feature **must** be behind a feature +flag or dev-mode flag.) + +Alternatives +============ + +Drawbacks +========= + +Discussion / Q&A +================ + +(This should be filled in with results from discussions on mailing lists / personal communication.) diff --git a/design-documents/index.rst b/design-documents/index.rst @@ -81,4 +81,5 @@ Design documents that start with "XX" are considered deprecated. 067-merchant-self-provisioning 068-tokens-roadmap 069-exchange-base-url-completion + 070-alias-directory-mailbox 999-template