What is DPOS - Delegated Proof of Stake?
Delegated Proof of Stake (DPoS) is a consensus algorithm developed to secure a blockchain by ensuring representation of transactions within it. DPoS is designed as an implementation of technology-based democracy, using voting and election process to protect blockchain from centralization and malicious usage. Delegated Proof of Stake was developed by Daniel Larimer - American software developer, cryptocurrency entrepreneur and a founder of BitShares, Steemit and EOSIO software. Many blockchains use EOSIO code, such as Telos, WAX, Worbli and EOS. Daniel invented DPoS as an alternative to energy-inefficient consensus of Proof-of-Work blockchains and Proof-of-Stake consensus, that is poorly protected from malicious intentions of stakeholders. First implementation of DPoS was executed in cryptocurrency called BitShares. DPoS was also planned to be more scalable alternative to classic consensus algorithms. As every block is validated in avoidance of the need to use a lot of energy, progressing amount of computing power and other resources, all transactions can be performed relatively fast on every stage of network’s development. Famous examples of cryptocurrencies that use DPoS include Lisk, Steem, Waykichain, EOS and BitShares.
That's a difficult description, which is one of the challenges with crypto, trying to understand how it works takes some time.
In order to push a fork through under our current deployment of DPOS it takes the top witnesses to run the new code. I've heard both 17 and 19 of them have to run the new code for the fork to be executed. I am unsure which one is true, but by giving each stakeholder 30 votes we are making it too easy for a handful of people to control the witnesses.
Since the beginning of the Softfork - Hardfork phase of the Steem and Hive my focus has been to wonder if the DPOS system is secure. Answer at this point from me is NO.
I think we can all agree that several changes have taken place that do not represent either the stake or community consensus. That's okay this is an experiment, but shouldn't we look to improve it now?
Humans are flawed and conflicts have 2 sides. People have been focused on who is right and wrong and while that is important it's not so much that these forks happened, it's that they COULD happen that makes it a problem. I no longer feel confident that our security is enough.
I don't know whose idea it was but I like the suggestion that each stakeholding account should have less than 20 votes. (since we have 20 consensus witnesses) I'm thinking somewhere around 9 votes would help a lot.
If Dev365 could only vote for 9 witnesses then that account would not have full control. Community votes would pick at least half of the witnesses.
While I have seen this discussed several times, I haven't heard an argument against it. To be clear it would still be possible to control witnesses by spliting stake, but it would be much more difficult.
Another contributing factor to the latest Hardfork is power down time. With the recent HF it was reduced to 4 weeks, which I am for. However, I think even 2 weeks would be plenty. Trapping people in a project they no longer wish to be in creates it's own security risk.
I am very open to other ideas, but I just can't see holding much stake in either project with the current deployment of DPOS.
What are your thoughts? Is our current DPOS system fine? How would you improve it?