Incentivized Lightpush: A Roadmap to Waku Service Incentivization

Exactly. In the vanilla case, the client sends the payment, waits for transaction confirmation, obtains the transaction ID, and only then sends the request. Even on L2 this may take seconds. With preconfirmations (the way I understand them), the L2 operator (sequencer) can issue a signed promise of transaction inclusion before the block is even produced. If the server is willing to trust those promises (which may be crypto-economically backed, cf. shared sequencing with restaking), the server can deliver the service right away upon receiving the request + payment preconfirmation.

Ideally, we may want to see some cryptographic (or, perhaps, cryptoeconomic) mechanism such that the paymend goes through if and only if the service is provided. This is indeed tricky when dealing with information transfer. I don’t have a concrete solution, and it may well be the case that in the Lightpush example atomicity is infeasible. It may be feasible though for other, more cryptographically self-contained services (within our future generalized service marketplace) - something along the lines of “I will pay you for a preimage of this hash”.

1 Like

I want to highlight the risk of linkability and no possible denial created by signing light push requests with a key related to a wallet account.
The intent of the service provider does not matter as much, as a well intended service provider may still be subject of a data breach.

All direct communication between Waku nodes are encrypted with Noise as part of the libp2p transport stack.

I’ve added an update to the post reflecting changes related to some of the discussion items. Moving on to the next steps. Thanks everyone!

2 Likes