Open francis-pouatcha opened 1 year ago
Following strategies can be used by a relay to allow for tracking of registered consumers.
Consumer Database Maintain a database of public keys of registered consumers. Then lookup consumer every time a message is deposited.
This strategy limits the scalability of the relay with the database holding the list of consumers.
This strategy allows the relay to maintain metadata on the list of registered consumers and can manage subscription and business operation in that table.
Consumer Issued Public Key We can leverage the concept of hierarchical deterministic keys to prevent the use of an extensive database.
Each registrant will be given:
This approach has the disadvantage, that the service can not maintain metadata on a consumer.
This approach can nevertheless use tokenization to manage economics. For example, the service can provide an interface, where a registered client can buy a token (special purpose public key) that is good for a number of messages. This enabling service can then be designed to maintain metadata on registered consumers.
According to the analysis above, we have to distinguish between:
Recall that token in this context are specially generated, dedicated public keys, that are not supposed to be shared by the consumer with others.
Denial of Service A consumer that loses his token to a malicious party will be considered the malicious party. This way, misuse of the token will lead to a suspension of the consumer.
This DIDComm messaging v2 mediator should support:
ToDo: Design and implement a routing coordination protocol with respect to ideas described in comments below.