waku-org / nwaku

Waku node and protocol.
Other
184 stars 47 forks source link

feat: experimental incentivize store protocol #1961

Open alrevuelta opened 9 months ago

alrevuelta commented 9 months ago

Context

The goal of this issue is to create a proof of concept branching out nwaku, with the following new feature. Incentivize store protocol requests requiring a proof of payment of x tokens to an address in order to be processed. After successfully proving that the payment was done, then the node will return the requested messages. Note that this is intended to stay as an experimental branch, and most likely not merged into master in the short term.

For context, see this.

Store protocol is one of waku's service protocols, based on a simple req/resp protocol where a node (full or light) requests the messages of a given topic from start/end dates and gets them in return. The implementation is here, which is triggered when a node receives the request.

Feature

Some informal requirements. Let requester be the node that requests messages from store and responder the full node that stores messages and offers store capabilities:

Some notes:

The deliverable would be a branch with such feature, where multiple wakunode2 instances can be run + interconnected in requester and responder mode. It must include the instruction (cli commands, etc) on how to see this feature live, where a node pays some ETH in return of a message.

chair28980 commented 8 months ago

No deadline set as this is highly experimental task.

s-tikhomirov commented 7 months ago

An observation extracted from a discussion in the research repo.

Storing nodes are supposed to take on risk without being sure that they will get reimbursed in the future. A full node must store non-ephemeral messages as they arrive, in the hope that someone, sometime in the future will be interested in them. This is akin to PoW mining where miners expend energy first hoping to get rewarded later, so that's not to say this cannot work, but it's something I'd keep in mind.

s-tikhomirov commented 7 months ago

Weekly Update

fryorcraken commented 7 months ago

@alrevuelta should we move this issue to the research repo?

alrevuelta commented 7 months ago

@fryorcraken We have a tracker for the idea here https://github.com/waku-org/research/issues/21 but I would like to keep this one in nwaku, since this issue relates to a nwaku implementation with code, implementing the idea of https://github.com/waku-org/research/issues/21

s-tikhomirov commented 7 months ago

Weekly Update

s-tikhomirov commented 7 months ago

Weekly Update

s-tikhomirov commented 6 months ago

Weekly Update

s-tikhomirov commented 6 months ago

Weekly Update

s-tikhomirov commented 6 months ago

Weekly Update

achieved: gathered more feedback for the incentivization outline, edited with a more practical focus next: establish next steps towards a PoC

s-tikhomirov commented 6 months ago

Weekly Update

s-tikhomirov commented 6 months ago

Weekly Update

s-tikhomirov commented 5 months ago

Weekly Update

s-tikhomirov commented 5 months ago

Weekly Update

s-tikhomirov commented 5 months ago

Weekly Update

s-tikhomirov commented 5 months ago

Weekly Update

jm-clius commented 1 month ago

Note that we may want to continue work on this POC for push-as-a-service rather than store: https://github.com/waku-org/nwaku/issues/2593