NPoS
Nominated Proof-Of-Stake
Intro to NPoS
Designed to balance inclusivity with randomness, Nominated Proof-Of-Stake is a derivative model of traditional POS consensus mechanism with optimization in network node dependencies, weight preferences for validator elections, and the separation of block production and finalization.
The core principle behind NPoS is to maximize equal distributions of influence over the network. It uses a system of checks and balances (nominators and validators) to ensure operational integrity, incentivizes the direction of nominations towards lower capitalized validators, and disincentives the over-concentration of capital.
Traditional POS (Proof-Of-Stake) systems isolate roles and force users into becoming full nodes. Initially, it was thought of as the purest method of realizing the vision of decentralization without dealing with the nuances in proof-of-work systems. However, as the empirical data with many now-defunct alternative POS projects has demonstrated, pure POS is not sustainable at scale. As the set of nodes staking expands, the communicative overhead for propagating messages throughout the network (and, in turn, the computational resources) grows alongside it. Given that for every +1 node that joins, it must synch and communicate with all of its neighbors, the accelerating growth rate increases difficulty exponentially.
Complexity Formula: N(N-1)
Scenario Four machines (N) in a network, A, B, C, and D. Each machine is connected to the others, establishing a total of 12 channels {4(4-1) = 4*3 = 12}. If a new node joins (4+1), the amount of connections jumps from 12 to 20 {5(5-1) = 5*4=20}. With yet another machine that jumps again to 30; by the time there are 8 machines, there are 56 connections.
So, if the network starts with 4 nodes, the complexity is 12 By the time the network doubles to 8 nodes, the complexity is 56
Beyond the N=OΒ² complexity increase of connections, there is an even greater increase in message passing complexity.
Scenario If machine A receives a message, it will immediately forward it to the other 3. Assuming that D is geographically far away, it takes 700 milliseconds for it to receive a message from A; but machine C is close to A and only takes 200 milliseconds to receive the same message. If C gets the message and notices that D has not responded, it will forward that message to D again. By the time D receives both messages, it will have to respond to both servers, introducing an extra round of communication. Now we further assume that because B has not responded to anybody, the machine might be offline, causing each of the others to send it a liveliness ping.
If 1 message must go through (# of nodes * # of communication channels * # rounds of messaging); then each additional node becomes a bottleneck in the performance/efficiency of the network.
NPoS addresses the communicative overhead issue in two ways.
First, its distinguishes between candidate validators and active validators; regularly shuffling the validator sets and randomizing the assignment of roles.
Second, by hardcoding limits to the total validator set and distributing voting power though nominators, the absolute sum of active machines is confined and communicative overhead deterministically defined.
Actors
In order to become a key actor in the network and participate in consensus, users must lock/bond their digital assets ($ATLA) into the protocol. By doing so they signal their commitments to upholding the network's best interest. Their contributions provide increased economic security and impact supply dynamics positively, for which in turn they are granted one of two roles: a nominator or a validator.
Nominators are passive participants that elect validators and earn a portion of the rewards that their elected validators extract. More about Nominators here.
Validators are sophisticated operators, who in addition to contributing a substantial amount of $ATLA collateral, host dedicated machinery that run specialized software. Validators gather transactions, package them into blocks, revalidate those blocks, and append them to the chain (updating the network state). More about Validators here.
Block Building Separation
As it pertains to the growth of a blockchain, there needs to be a block building mechanism for expanding and updating the chain to its most recent state. As briefly mentioned in the "Actors" section above, NPoS expresses its inclination towards maximal decentralization by splitting the block production role into two parts; Block Production and Block Finalization. By splitting the creation of blocks and their finalization, a system of checks and balanced that keeps validators to a higher degree of accountability further protects the system against subversion.
Block Production is handled by the BABE protocol.
Block Finalization is handled by the GRANDPA protocol.
Last updated