Decred is a cryptocurrency with on-chain governance.
Cryptocurrencies, often praised as decentralized money, often lack tools to propose and accept protocol changes. Decred solved this problem by introducing a way for users to vote on proposed changes to the platform.
Decred utilizes hybrid algorithm, which consists of both Proof-of-Work and Proof-of-Stake. This algorithm is based on the theoretical Proof-of-Activity algorithm, described by Charles Lee and his colleges in 2014. Each block reward is split between miners (60%) and investors (30%). 10% of the reward goes to the development fund.
The “Proof-of-Work” part of the algorithm used for the block creation. As in other PoW coins, miners compete for finding a valid hash, and the one who finds the hash first receives the reward and issues a block.
The “Proof-of-Stake” part serves two purposes. First, stakers can punish inefficient or malicious miners that produce valid yet not perfect blocks. Second, stake owners can vote for the changes to the coin protocol. In exchange of their service, stakers receive an interest on their investments in Decred.
Sometimes, miners can act not optimal, either intentional or not. For example, these miners can mine empty blocks or censor transactions. If 3 out of 5 votes will go against the previously mined block, the miner loses his mining reward and the transactions from this block are reverted.
However, the most promising part of PoS in Decred is being able to govern the network development by voting on protocol changes. To make a vote, a user first needs to acquire Decred tokens. Then, he needs to buy a ticket by locking his tokens for a time period. The ticket price depends on the number of tickets that were already purchased. The system tries to keep the number of tickets around 40,960, so the more there are other tickets, the more expensive it is to make another one. The total price of buying a ticket consists of the ticket price and a ticket fee. Ticket fee is paid to the miner to include a transaction of buying a ticket into the blockchain. One user can purchase any amount of tickets.
After the user got a ticket, he needs to wait until the ticket matures, which happens in about 20 hours. After that, he can use the ticket to vote on active proposals. Once he made a vote, that vote goes to the ticket pool. From now on, a ticket can be chosen by the system to be included in the blockchain. A vote has a 50% chance to appear in one of the blocks in the next 28 days. If it ever appears in the block, the owner of the ticket receives 6% of the block reward. If the ticket will expire before going to the blockchain, which happens in about 0.5% times, the user won’t receive the reward. In either way, the user receives the ticket price back.
The votes are chosen at random. If the wallet is not running 24/7, it has a chance to miss the vote. If the vote is missed, the owner of the ticket doesn’t get a reward. To never miss a vote, users should always keep their computers on. If they can’t constantly run their wallets by themselves, they can join one of the stake pools that have an infrastructure to run multiple wallets and vote on behalf of users. Pools usually charge a fee to operate.
Before a hardfork proposal can be voted, the developers need to include the changes and release a new version of wallet. Then, 75% of miners and 75% of stakers should download and run it. After the adoption is complete, the voting can be initiated.
The voting cycle starts every 8,064 blocks, which is about 1 month. At the start of the cycle, active voting is started. At the end of the cycle, votes are tallied. By default, each voting ticket counts as “abstain”. If 90% of votes are “abstain”, the vote is remade. If the majority (75%) doesn’t agree on “yes” or “no”, the vote is also remade. If the majority votes “yes” on the proposal, it is accepted and activated after another 8,064 blocks. If the majority votes “no”, the proposal is canceled.
The Decred has a history of successfully accepted proposals. The first one fixed the algorithm that determines the ticket price. Two other votes targeted the support of Lightning Network. All three proposals got an overwhelming majority of “yes” votes.
The 8% of the total coin supply was premined by the Company 0, the company that developed Decred. Half of the premined coins were distributed to developers as a compensation for their work. Another half was rewarded in the form of the airdrop to the project contributors outside of Company 0.
As were noted above, 10% of all block rewards goes towards the development fund. That way, Decred can sustain itself by selling these tokens to the market or paying them as a compensation. These funds are distributed to fund software development and marketing.
Decred is actively developing Politeia, a version-controlled off-chain data storage. It works as a storage of an arbitrary data that keeps all the changes. From time to time, the hash of the last change is put into Decred blockchain to keep time-ordering of changes intact. One of the applications of Politeia is a proposal system, where Decred users can create. vote, and comment on different changes to the network.
- December 15, 2015: Thread on Bitcointalk. bitcointalk.org
- February 8, 2016: Network launch. mainnet.decred.org
- April 1, 2016: Initial commit on Github. github.com
- November 16, 2016: Introduction of the voting as a government mechanism. blog.decred.org
- April 3, 2017: Introduction of the DCP-0001, first change that required a user-activated hardfork to take place. blog.decred.org
- July 9, 2017: DCP-0001 was activated. mainnet.decred.org
- October 25, 2017: Introduction of the Politeia. blog.decred.org
- November 26, 2017: DCP-0002 and DCP-0003 were activated. mainnet.decred.org