Decred, an experiment in on-chain governance

QUICK TAKE

Decred’s origin story traces back to two distinct points: an obscure Bitcointalk post in April 2013 and a blog post introducing an alternative Bitcoin full-node implementation, dubbed btcd, in May 2013

On Feb. 8, 2016, the Decred mainnet was launched

Decred leverages a hybrid PoW and PoS consensus mechanism in addition to an on-chain governance system

A historical overview of Decred

Decred’s origin story traces back to two distinct points: an obscure Bitcointalk post in April 2013 and a blog post introducing an alternative Bitcoin full-node implementation, dubbed btcd, in May 2013. The people behind these two posts would soon come to work together to create Decred, a cryptocurrency with a built-in governance system.

On April 3, 2013, a Bitcointalk user going by TradeFortress started a thread titled “Want to make an altcoin that actually changes something?” In the post, another user, who went by the pseudonym tacotime, expressed his interest in developing an altcoin but “just [needed] people with the time to code.”

Four days later, tacotime introduced Bitcointalk to MC2 (Memcoin2) a cryptocurrency based on a hybrid Proof-of-Work and Proof-of-Stake system. Accompanying his Bitcointalk thread was a whitepaper published under the name Adam Mackenzie, which explains a system “that affords eventual democratic control of the monetary supply to the userbase through participatory voting.” This system would set the foundation for Decred’s development.

At around the same time, developer and entrepreneur Jacob Yocom-Piatt was developing btcd, an alternative Bitcoin full-node implementation to the original bitcoind implementation, partially developed by Bitcoin’s founder, Satoshi Nakamoto.

Yocom-Piatt was the CEO and founder of Conformal Systems, an open-source software engineering firm focusing on privacy and security solutions, and his team had been passively following Bitcoin for a few years. According to a May 2013 blog post, “Conformal Systems had been keeping an eye on bitcoin as passive observers for the past couple years” and decided to port bitcoind to its own operating system in January 2013. During the porting process, Conformal Systems encountered several problems and decided Bitcoin needed an alternative, so the team went on to develop btcd. In October 2013, Conform Systems publicly launched btcd for testing. Btcd would later be rebranded as BTCSUITE.

Near the end of 2013, tacotime was coordinating the MC2 project, which briefly rebranded to Netcoin, with another Bitcointalk user named “_ingsoc.” Together tacotime and _ingsoc discussed the development and growth of the project. _ingsoc would later connect with Conformal Systems to discuss MC2.

In Feburary 2014, tacotime published a post announcing that Conformal Systems had decided to back the development of MC2. Tacotime also explored possibilities of a token sale or premine to fund the future development of MC2. Conformal Systems would soon rebrand itself as Company 0, merging its efforts with tacotime to develop MC2, which will soon be known as Decred.

As Company 0 and tacotime worked on the development of Decred, Yocom-Piatt also continued work on btcsuite, his Bitcoin full-node implementation. During his 2.5 years working alongside the Bitcoin community, Yocom-Piatt noted some concerns which he published in two 2015 blog posts titled “Bitcoin’s biggest challenges” and “Iterating Bitcoin.” In these posts, Yocom-Piatt, expressed his concerns about the Bitcoin ecosystem’s governance structure, funding, and “conflicts of interest.” He highlighted the clash between the development teams and miners and the scaling debate which led to infighting. He also positioned his posts for the announcement of Decred.

On Dec. 12, 2015, Decred was introduced to the world as an “open, progressive, and self-funding cryptocurrency with a system of community-based governance integrated into its blockchain.”¹ Company 0 also announced a premine consisting of 8% of the 21 million total supply of Decred tokens to recoup the roughly $415,000 contributed to the protocol’s development. To prevent the centralization of power at such an early stage of the project, Company 0 also announced that it would airdrop half the premine to community members. From Dec. 15, 2015 to Jan. 18, 2016, Decred airdropped 840,000 Decred tokens to nearly 3,000 participants. Around this time, tacotime made his final public post regarding Decred, moving on to develop privacy coin Monero, before finally disappearing.

The Decred mainnet was launched along with the Decred constitution on Feb. 8, 2016. The constitution detailed a set of rules and guiding principles for Decred and its community.

Since launching its mainnet, Decred has slowly climbed the CoinMarketCap charts, experienced massive growth in network hash power, seen steadily growing stakes from stakers, and launchedPoliteia, its network proposal system. The project also recently announced that it was handing over the control of its treasury to its stakeholders, solidifying its belief in community governance.

What Decred is trying to fix

WEAKNESSES IN PURE POW & POS SYSTEMS

Decred’s hybrid Proof-of-Work (PoW) and Proof-of-Stake (PoS) attempts to address some shortcomings found in pure PoW and PoS systems.

In a pure PoW system, the network’s security is dependent on the assumption that over 50% of miners are honest. If this assumption is broken, bad actors can double-spend transactions, censor transactions, and initiate a host of other attacks to make the network unreliable. The crypto ecosystem has recently experienced a wave of 51% attacks impacting networks like Ethereum Classic, Verge, and Bitcoin Gold.

Furthermore, PoW systems have no formal structure to resolve consensus disputes. As such, consensus failures and chain splits are more likely to happen on these networks.²

PoS systems have two primary weaknesses: the nothing-at-stake theory and the long-range attack theory. Stakers in a PoS system are incentivized to spread their bets on multiple forks of a network, as it technically costs them nothing to validate multiple forks. This is because energy expenditure is a zero-sum game in PoW systems splitting computational power across multiple forks does not improve a PoW miner’s chances of finding a block. This is the nothing-at-stake theory. Adding to this is the long-range attack theory. Under this attack, a malicious actor with 1% of the stake in the network will create a parallel fork, extend the fork, and produce more blocks than the main chain. If this attacker’s 1% stake is selected to validate a transaction, the attacker would choose to build on their extended fork, invalidating all the blocks on the main chain.³

FUNDING

Funding open-source software (OSS) development has been a major concern since the advent of the open-source software community. OSS suffers from the tragedy of the commons and free rider problems. Because OSS is free to use, users are not incentivized to pay developers to upkeep the software. As such, many OSS developers (blockchain developers in this case) struggle to dedicate time to develop OSS software for free while maintaining a sustainable lifestyle. With the amount of funds locked in blockchain networks, poor software maintenance could result in the loss of those funds.

How Decred works

Consensus

Decred leverages a hybrid PoW & PoS consensus model, in which conventional PoW miners mine blocks and PoS validators validate them. The Decred block rewards started at approximately 31.19 DCR per block, adjusting every 6,144 blocks, which reduces the reward by a factor of 100/101. The block rewards are distributed amongst three entities:

60% goes to the PoW miner who mine blocks

30% goes to the PoS voters who validate blocks

10% goes towards the Decred Treasury

Decred coin supply growth (Source: Decred)

To vote on the network, PoS miners participate in a novel ticketing system by the Decred core developers.

Ticketing

Decred’s ticketing system is essentially a lottery system to decide which stakers can validate a block. Each ticket-owner receives the right to cast one vote and validate blocks. To maintain a stable subsidy return for its stakers, Decred has enacted a stake difficulty algorithm which targets a 40,960 ticket supply. According to Decred “if the ticket pool size grows too large or too small, it can substantially alter the social contract between stakeholders and the network, disrupting the predictable nature of average time to vote a ticket, percentage of tickets that expire, and the rate of return.” To maintain this target ticket pool size, the price of a ticket must increase if the pool size increases and decrease when the pool size decreases.

To “purchase” tickets, users enter a bidding contest. If their bid is accepted, they “lock up” their DCR and receive a ticket in return. Following each block mined by a PoW miner, five tickets are selected at random to validate the transactions included in that block three of these five tickets must come to a consensus for a block to be validated and accepted into the Decred blockchain. After tickets validate a block, they are destroyed, and their owner receives the original price of the ticket plus their share of the block reward for validating blocks. With each new block added to the Decred blockchain, 20 new tickets are printed for a new bidding cycle. These tickets are available in an open auction format. Newly minted tickets need to go through a 256 block maturity period before they are eligible to be selected for voting. If a ticket isn’t selected or fails to vote after 40,960 blocks, its owner receives their DCR refund, but no reward. According to Decred, “given a target pool size of 40,960 tickets, any given ticket has a 99.5% chance of voting within ~142 days.”

Approximately 48% of DCR supplied in PoS pools are staked (Source: Dct.farm)

The process of adding a block to Decred’s blockchain is as follows:

A PoW miner mines a block

PoS miners vote on whether to accept or reject block using their tickets

Three of five tickets are required to accept a block as valid

Once a block is accepted, the votes, and the transactions included in the block, are inserted by the next PoW miner who mines a block.

Decred’s hybrid model adds an extra layer of security when compared to the traditional PoW model. Instead of just obtaining 51% of the hashrate for PoW, an attacker would also need 37% of the total stake.

Decred 51% attack requirements (Source: Zubair Zia)

Adding to this resilience, because of the open auction nature of ticket bidding, the demand produced by an attacker purchasing tickets will increase the price of a ticket and thus make an attack increasingly expensive.

Price of Decred tickets (Source Dcrstats)

Governance and Politeia

Decred’s core proposal is a self-governed protocol and monetary network. An important part of their governance system is the consensus rules voting process. For software changes to be implemented into Decred, the protocol enacts a two-phase voting process: a Stake Version Interval (SVI) every 2,016 blocks and a Rule Change Interval (RCI) every 8,064 blocks.

The first step of the voting process is to meet the software upgrade threshold, which requires 95% of the 1,000 most recent PoW blocks and 75% of the votes cast in a single SVI to have upgraded to the software.

The second step is voting. According to Decred, there are five possible outcomes to a vote:

If more than 90% of all votes within the RCI are Abstain votes, it will be re-voted in the next RCI

If all non-abstaining votes within the RCI fail to meet the 75% Yes or No majority threshold, it will be re-voted in the next RCI

If 75% of all non-abstaining votes within the RCI vote Yes, the vote is accepted and the consensus changes will activate 8,064 blocks after the vote passed.

If 75% of all non-abstaining votes within the RCI vote No, the agenda fails and the consensus changes will never activate.

If an agenda reaches its expiration before ever reaching a 75% majority vote, the agenda expires, and the consensus changes will never activate.

For governance around non-consensus changes to Decred’s software, the Decred development team launched the Politeia proposal system in October 2018. According to Decred “Politeia is a system for storing off-chain data that is both versioned and timestamped.” Politeia creates a public record of proposals and votes involving the use of Decred’s Treasury, policy decisions, dispute resolution, etc.

Some proposals on Politeia (Source: Decred)

The proposal process on Politeia is as follows:

A user pays a 0.1 DCR fee to submit a proposal

Proposals are screened by admin to remove illegal or spam content

Proposals are displayed publicly on Politeia

A voting window is opened for 2,016 blocks

Any wallet controlling tickets during this voting window can vote Yes or No

For a vote to be valid, at least 20% of the live tickets must vote Yes or No

For a proposal to pass, at least 60% of voting tickets must vote Yes

If a vote is accepted and it involves the Decred Treasury, a transaction is executed

If a vote is rejected, the user can try again

Conclusion

Decred is a fascinating experiment in hybrid consensus models and on-chain governance. Decred’s hybrid model is provably more secure than traditional PoW and PoS systems, though no network has tested the model at scale. Decred’s governance model enables users to have a say in the future development of a network where they have a vested interest in. While it is unclear whether hybrid consensus models and on-chain governance are the correct ones to implement, Decred’s experiment is an interesting one to follow.

¹ The origin of Decred’s name stemmed from a brainstorming session between Company 0 and tacotime. They came up with the name when discussing “decentralized credits.”

² This weakness is subjective. Some members of pure PoW networks believe an unstructured governance system leads to smaller attack vectors