---
# System prepended metadata

title: Fair distribution of service rewards
tags: [EW-DOS, ' incentive']

---

---
tags: EW-DOS, incentive
---

# Fair distribution of service rewards

In order to incentivise service providers to setup service nodes (messaging, key-manager, cache server, and many more) we have described the [reward system of the EW-DOS](https://medium.com/energy-web-insights/the-utility-of-the-utility-token-for-utilities-69c9be603a59). This system relies on the fact that the service providers actually provide services.

> The result of all successful incentive models is that it is more expensive to cheat than to play fair.

## Skewed incentives

In order to distribute the reward pool fairly we have 2 solutions:

1. reward service providers on a pro-rated basis of the number of requests served
2. reward each service node equally

Both approaches have their pros and cons but the main difficulty in both cases is how do you hold the service providers accountable? How do you decide which one to reward and which one to slash?

### Proving service delivery

It can be hard to prove that a service has been delivered correctly and in a timely fashion. You have to prove that something has not happened. The difficulty lies in telling appart those who ommit facts in order to benefit from a successful failure report and those who genuinly did uncover a faulty service provider.

On top of the difficulty to prove that something did not happen, it is sometimes difficult to tell whose fault it is that the service could not be provided. E.g. when a message is published on a broadcast channel and is not delivered to a subscriber, it can be difficult to tell if this is due to the message not being broadcast, being transported too slowly or the subscription service not working.

### The fisherman paradigm

If there are no checks and balances, the incentive is to register as many service nodes as possible and then do nothing as there is no punishment for bad service.

Hence the need for agents which scour the service pool in search of misbehaving service nodes. They use the services just like everybody else but have the power to report breaches of SLA.

### Alternative to fishing

The alternative to the fischerman agent is to rely on service node telemetry. This can be embedded into the service node software but might be easy to cheat. Indeed, there would be a good incentive to rewrite the software in order to provide fake telemetry. The telemetry component could be run in a trusted execution environment which allows to avoid cheating.

### Bottom line

It must be more expensive to cheat than to provide a good service. This can also be expressed from the opposite perspective: the reward for cheating must be smaller than the reward for providing a service.

This must be true in both relative (percentage) terms as well as absolute (USD amount) and the investment for cheating must be equal or greater than the investment to earn a regular reward.