Delegated proof-of-stake overview
DPoS (Delegated proof-of-stake) is an algorithm for reaching a consensus in a decentralized environment, which is an alternative to PoW (Bitcoin proof-of-work) and PoS (Peercoin or NXT proof-of-stake). DPoS was developed in 2014 as part of the Graphene project and was first used in the Bitshares project, later in the Steemit project.
In short, the basic principle of DPoS operation looks like this: the separation of voting and validating participants. As a result, network participants who have the right to vote in the system (coin holders) are not transaction validators. Thus, one subset of participants chooses another subset, which in turn will form blocks.
The operating conditions for this consensus algorithm differ from those for PoW and PoS. This means that validators need to reveal their identities and declare their readiness to continuously maintain the operation of a full-fledged network node, timely verify transactions, and form new blocks.
Based on a modified proof-of-stake, the consensus works according to the rule that each user can, if desired, run for verification workstation (validator node). Then the actual voting for candidates among all users takes place, and the weight of each vote is determined by the sum of the voter’s assets. Based on the voting results, N (a natural number chosen by the community, usually 20–50) candidates are selected. They are entitled to generate new transaction blocks. The protocol rules ensure that decisions are made correctly if the majority of the assets participating in the voting are controlled by honest users.
The validators chosen as a result of voting are pseudo-randomly mixed, thus forming a queue. The mixing is performed by a special algorithm, so it is impossible to predict the queue wait time, but it is equal for all honest network participants. According to the queue, each of the validators must form one block over a certain period of time. During this period each validator is allocated a strictly limited time interval (usually 1 second). Either the validator manages to check new transactions and generate a new block based on the previous one, or the next validator in the queue will do this work. After the time expires, the validators are mixed again and form a new queue.
It is also important to note that coin holders can revote at any time. Therefore, the current group of validators may change and a different queue will be formed. Besides, one coin holder can vote for more than one candidate by fractionally distributing the weight of his coins among several candidates.
In DPoS systems, unlike Peercoin, coins held by users can simultaneously vote and be used for transactions. As the balance changes, the voting weight will also change.
This type of consensus is best suited for building an ecosystem provided for both regular users (mobile clients) and many companies (full-fledged nodes that can act as validators). DPoS is designed in such a way that it supports a high frequency of generating new blocks and is capable of processing a large number of transactions per unit of time compared to other consensus algorithms that operate in a trustless and distributed environment. DPoS is well suited for open access systems where user authentication is not required.