Stake Redistribution To Incentivise Reliability
The reliability of a service layer - defined here as the percentage of requests for service that are successfully completed - is arguably a service layer's most important property. Therefore, for the purpose of this section, reliability is measured by the percentage of requests that are successfully completed by a node.
Making a service 100% reliable is practically impossible - there will always be rare or unforeseen problems that cause minor outages. Nonetheless, it is a goal that a service layer should strive for, and significantly invest in towards achieving - consumers of the service need to be able to depend on the service layer to get the job done the overwhelming majority of the time.
The economics of reliability in a decentralised system
In a centralised model, investing in reliability is a no-brainer, because the company that owns the app, also owns the service layer. This means that if the service layer is unreliable, the owner of the service layer will feel the consequences of that unreliability through the app - for e.g. features don't work, users go elsewhere and the bottom line suffers. To avoid this, the company invests to improve the service layer's reliability.
However, in a decentralised service layer, this is not the case - the providers of the service layer face no direct consequences if an app's users leave. Without additional incentivisation, the only downside that nodes will see for failing to complete work is the income that they miss out on while they are down.
Because of this, the Sylo Network needs a system that rewards Nodes that are performing well, and motivates underperforming nodes to improve.
Rational level of investment for nodes
Suppose that a node is 99% reliable - it is up and performing work 99% of the time, and the other 1% of the time is is down, and completes no work. This 1% downtime would translate into roughly 1% less income for the node, due to the missed work.
Investing in a node to reduce downtime has diminishing returns. As a node becomes more reliable, the node owner will need to invest more to achieve the same improvement in reliability each time. On the other hand, the amount of additional work that the node will be able to be complete as a result of these investments will get smaller and smaller.
At a certain point, the economically rational decision is not to invest - because the amount the node stands to earn from the extra traffic is not enough to pay for the reliability improvements.
The problem with this is, consumers of a service care a lot about reliability! And the majority of the consequences of the node's downtime fall on the apps using the network - whose users would then perceive them as buggy or unpleasant applications to use.
The free-rider problem
Node operators understand this dilemma - they know that the only way to attract more apps to the network, and increase their income, is to provide a high-quality service. We expect that most nodes who are invested in the long term future of the Sylo Network will understand this dynamic and choose to invest in reliability. Unfortunately, even if the majority of nodes are highly reliable, this isn't enough to to ensure that the network as a whole is reliable.
As a hypothetical example, let's suppose that 95% of the network is unrealistically reliable, fulfilling 100% of their service requests. Let's also say that the remaining 5% of nodes are highly unreliable, and fulfil only 75% of their service requests.
This network's overall reliability will be 98.75%, and this cannot be improved by any of the high-quality nodes, no matter how much they invest. This is all due to the 5% of nodes who aren't pulling their weight, and are capitalising on the high average quality of the network in order to cut corners and save money themselves.
This is a well known issue, known as the “free-rider” problem in economics. The "public good" at issue is the network's reliability, which benefits all nodes by attracting more traffic to the network - and the under-performing nodes aren't paying their share of the costs of producing that reliability.
The decentralised solution to free-riding
One method of solving the free-rider problem is to privatise the public good - in this case, to allow users to choose their own node, allow each node to charge its own price for the service, and let market competition between nodes ensure that all nodes offer an attractive trade-off between service price and reliability. However, for a variety of reasons, this is not a good solution for a decentralised, privacy-focused communications network because:
As discussed elsewhere, allowing nodes to set their own prices would lead to de-facto centralisation of the network - economies of scale would ensure that the cheapest nodes were also the largest nodes, eventually driving smaller node operators out of the network.
As a result, the network would lose some aspects of its privacy - these large nodes would be able to perform traffic analysis on those using the service, and build a clear picture of who was talking to who.
Thankfully, smart contracts give us another option - directly measuring the reliability of each node, and using that information to trustlessly incentivise nodes to invest in their own reliability.
Rather than trying to specify a reliability target in advance and risk setting a target that is either unattainable or too lenient, nodes should be continually encouraged to improve. The system should reward those nodes who work hard to improve the quality of the service they provide, and encourage the other nodes to catch up.
Stake Redistribution To Incentivise Reliability
Each Epoch, all Seeker Nodes submit cryptographic evidence of a randomly selected, small fraction of their completed work to the chain, which is used to determine whether the Nodes are doing their share of the work.
Seeker Nodes that do not do their share of the work will not be able to submit valid evidence and will have some of their stake taken and redistributed to other, hard working nodes. This ensures that over the long term, stake tends to accumulate with high-quality nodes and move away from low-quality nodes.
How Stake Is RedistributedLast updated