The Event Relay Protocol
Last updated
Last updated
Any decentralised service protocol that involves an exchange of value must contend with the fact that the two parties involved have no reason to trust one another. Given the choice, each party would prefer to maximise the quality of their own outcome at the expense of the other party. Therefore, a trustless protocol is required - one where each party has a purely self-interested incentive to behave in a cooperative manner.
Peer Alice wishes to send a packet to peer Bob via Bob’s node.
Both Alice and Bob use the Sylo network intermittently - in the worst case, they may never be online at the same time as each other. This means that Alice is unable to check in with Bob later, to ensure that her relays were delivered. Alice needs a protocol that is "fire and forget" - once she has left a relay request with Bob's node, Alice needs to be sure that the node will do it's best to deliver her message to Bob, with no further input from her.
This means that Alice needs a trustless method of setting payment aside for Bob's node, to be claimed once the relay is delivered. This is accomplished by signing a ticket, which will pay out from money held in escrow in a smart contract when the ticket is redeemed.
Alice also needs a way to release payment to Bob's node only once Bob has received the relay packet. This is the difficult part, because Alice may never have the opportunity to learn anything more about the outcome of her relay request.