Reputation based Consensus

Today, there are a handful of consensus mechanisms that have been designed to create decentralized networks. Though all of these mechanisms serve to protect against sybil attacks and double spending, many have a limited ability to capture the reputation of the nodes in the network. Most follow pBFT (Practical Byzantine Fault Tolerance) using stake-based weighting such as Cosmos or Casper. Though these consensus mechanisms are BFT below 33%, this can be improved through the implementation of a reputation system that utilizes time as an equally available weight, which can extend the security of conventional consensus mechanisms.

Trust

Ironically, trust is still a factor in trustless systems, with trust derived not from a central system but from decentralized consensus. Although decentralized consensus mechanisms are resistant to manipulation, they become vulnerable when one party begins to control at least 33% of nodes for pBFT, or 51% of network computational power for PoW (Proof of Work). By studying these threats, we have found that including reputation as a part of the consensus process can improve the byzantine fault tolerance (BFT). Further reading on this topic can be found in the link below, which proposes a reputation protocol that claims a 20% increase in fault tolerance.

Nexus currently implements a reputation or trust-based proof of stake protocol that maintains random selection inherent in pure Nakamoto consensus, but also overlays a reputation to each validating node. The reputation of a node combined with their stake produces a weight that determines their probability of finding the next block. In order to provide the proper incentives for validators to gain trust, the rate of return ranges from 0.5% to 3.0% after a time period of 1 year. Trust in our implementation is gained by consistent block production within a three day moving window. If this time is exceeded, the value of trust decays at a rate of 3x, which means if a node misses one day of staking, it receives a penalty of three days worth of lost trust. This mechanism forms a basic foundation for the discernment of the quality of nodes.

Reputation and Relationships

The system tolerates byzantine faults through the distribution of validators and implementation of relationships between nodes. In our context, reputation is designed as a public indicator of a node’s history whereas relationships are a private indicator of a node’s relationships with other nodes. In this respect, it is easier to prevent a byzantine fault if the probability of an assumed fault is known. In simple terms, this means that one can more easily discern the difference between a byzantine fault and an honest node based on previously experienced faults.

Extending Reputation

We believe reputation is an important resource to take into consideration when discerning the mathematical truth of a decentralized consensus. With the knowledge we have gained through our current implementations, we plan on extending our current reputation systems into many more areas. Through our architectural development named the “TAO” (Tritium, Amine and Obsidian), we are deploying reputation into our multidimensional chain primitives, as part of the immutability and authenticity (Y) axis.

Extending Relationships

We have noticed several benefits of nodes keeping a history of their subjective relationships with one another, that is a private indicator of the quality of data and communication between nodes. This is not suitable for consensus critical rules, but rather for the detection of malicious actors in a system. The result of this, through some of our basic implementations, is an ability for the network to discourage dishonest behavior without experiencing consensus failures. This allows imperfection in detecting qualities of good and bad, while detecting potential byzantine faults in advance and the option not to propagate them. These concepts have been tested, where dishonest blocks could be detected and not relayed by a consistent set of rules. If other nodes on the network still propagated these blocks and built upon them, they would then be seen as a valid part of the blockchain and a false positive realized.

Reputation in Tritium

Reputation in Tritium will extend beyond just trust keys, which are the basis for the legacy client, by implementing signature chains. Signature chains are a hybrid signature scheme that use hash-linking, and asymmetric cryptography to form a primitive user-level blockchain. This chain contains all the actions invoked by a specific user, without revealing their actual identity. The result is a transparent ledger of events associated with a given user, that can provide the dataset to form more complex reputation systems interpreted from this series of events. The enforcement of reputation on the ledger layer is through the 1:3 ratio for staking currently implemented, and the aforementioned relationship system on the network layer.

Mining Reputation

Miners will see their reputation improve through consistent actions performed on the mining network as Amine and Obsidian approach release. This will give a similar variable reward model as nPoS, but with the requirement being mining power in order to produce consistent blocks over time. These reputation models will favor nodes with a consistent history, and will penalize nodes that hop from blockchain to blockchain in pursuit of profit. As your reputation will be a factor in mining profitability, incentives will align miners to contribute more consistent power to the network consensus, providing better security properties. Miner reputation could provide greater resistance to 51% attacks, similar to how reputation can improve the pBFT-model by 20% or more.