progress!
I think we're almost there, but there's still room to improve. what you guys think?
maybe somebody with skillz can help me with the charts. you'll notice that I suck at images, and one of my charts is hand drawn.
ignore the percentages on the pie charts. the numbers are arbitrary. going to edit them out for the next draft.
draft five
Scalabilityby merockstar and bytemasterThe following ideas are mostly bytemaster's- but also include input from the community
I've pretty much just attempted to try to simpify them and word them in a way that I think I would be more easily able to understand. Much as I did with some of toast's ideas on some articles I wrote earlier. Special thanks to toast and delulu.What is the problem?Proof of stake systems are off to a great start. From our current vantage point these new ways of validating the blockchain implemented in currencies like Peercoin and Nxt, seem to adequately secure their respective blockchains while simultaneously promising to create a fraction of the carbon footprint that their Proof of Work based predecessors do. It has long been known that without increased transactions fees Proof of Work systems will eventually no longer be able to provide enough incentive to motivate a sufficient variety of miners to still call the network decentralized.
At smaller scales the effect of validation cost goes unnoticed. When you're only conducting a small fraction of the number of possible transactions, it doesn't cost that much to validate them, leaving all the attention on how decentralized the network is, and what is the cost per transaction.
With relatively few transactions in a market that has not yet gone mainstream it makes sense that validation cost has yet to become a serious matter in any cryptocurrency because validation can be done with much less computer power and bandwidth. But already we see in Peercoin and Nxt that to make gains regularly from running a node, one must have a substantial amount of currency up for stake.
This is apparent if you've ever tried to mint Peercoin with only a hundred coins to your name, or forge Nxt with only a thousand. It just doesn't happen in a timely manner, and that means you have to keep your node running for a longer amount of time to mint a given amount, and the longer a node runs the more resources it consumes. At this early stage, that extra time running a node is pretty much negligible because the hardware and bandwidth to do so won't constitute much at this stage of the game, without very many people making transactions. Given more popularity, and thus more transactions that need validating, this problem will increase in time as usage becomes widespread. If networks are already becoming partially centralized then what happens when a cryptocurrency goes mainstream?
We can calculate the percentage of coins needed to be put up for stake to profitably mine as the cost for each node to validate, or sign each block, divided by total fees taken in.
cost per validater/total feesWe can also calculate the cost required to run an entire network as the number of people running nodes in the times the operating cost of each node.
# validators * cost to validateExtrapolating from this, we can now say that as more of the costs get covered by operating fee, there are more operators who can profit.
We can also say that the cost per validator naturally increases with the number of transactions that need validated. Linking these two variables.
This problem can be mitigated by increasing transaction fees as the network grows, but at a certain point, in order to remain profitable, transaction fees would have to increase to a point where the coin itself is less competitive as both a currency and a payment processor.
Running a node for one person is going to cost a set amount that goes up as the network becomes busier. More widespread decentralization works to some extent early on such as how we see the networks operating today, as long as Moore's law stay ahead of operating costs. As operating costs increase from increased demand and increased number of validaters fewer and fewer people are able to validate profitably.
The ultimate point being touched on here is that even in a Proof of Stake network, as more and more people start crowding into the network, the cost to maintain the network is going to increase more than the transaction fees are going to be able to offset, limiting the number of people actually able to do so to a very small number. The end result is that only those with balances which contain an awful lot of money would be able to forge profitably, limiting the number of validators and centralizing the network.
Then you have proof of work systems, which retain the same hardware costs as running a PoS node but also add artificial hardware resource costs to help facilitate distribution of currency. This already costly effect is amplified in Ethereum's proof of chain model which requires the entire blockchain to be downloaded to mine. Ultimately the primary difference in this model is that distribution is based on who has the most powerful hardware rather than who has the most stake, but as we've seen, even attempts to base it on who has the most stake eventually result in hardware costs exceeding profitability for but those who have the most wealth.
The only option is some degree of relative centralization, which occurs naturally in all of these schemes over time.
How to balance centralization with scalability?How does one define what is and isn't decentralized? How many nodes have to be confirming transactions for a network to be considered decentralized? Today, in Bitcoin, we see a few big mining pools doing the majority of the transaction verifying, as the ASIC arms race continues the number of people capable of profitably running a node, even within a mining pool, continues to decrease.
It seems an inevitability that no matter how you spin it one of two scenarios will play out in the current systems left unchecked, either further centralization will take hold, or transaction fees will get unwieldy. Even today system's aren't truly super-decentralized because there is a minimum amount of stake necessary to be able to recoup profit in a timely manner. So how should we respond to this?
The most recently posed solution is
Delegated Proof of Stake. In a DPOS system centralization is anticipated, and introduced by design but voted on in a decentralized manner using a system similar to reddit's upvoting to determine delegates tasked with the duty of signing nodes and preventing the blockchain from forking, validating. Delegates can be voted on automatically based on the systems own analysis of how it's performing, or in cases where it may be necessary, they can also be voted on manually. A vote happens with each transaction so it's like a continuously ongoing election.
In DPOS those delegates chosen to secure the system, unhindered by any process designed to enforce decentralization, are incentivised by transaction fees and the prospect of being re-elected, to do their job correctly. The difference here is that the number of delegates are limited to 101 from the beginning, and the amount of stake one holds or amount of computing resources one owns is seperated from the ability of nodes to secure the network. This results in a much more financially efficient scheme for validating transactions while still achieving a measured amount of decentralization to keep the network from being taken over by a few small parties. Is 101 too few to call "decentralization?" The argument I'm presenting is that current Proof of Stake implementations are bound to only be profitable for fewer than 101 parties anyway. Why not cut it off at the head and benefit from the reduced costs of being prepared for that inevitability?
Theoretically, regular Proof of Stake viability becomes a question of whether or not Moore's law will accelerate hardware and bandwidth growth faster than the potential for mass adoption of a digital cryptocurrency. If the answer is yes then a truly decentralized system that encourages every small user to run a node might be viable, but why rely on that? Why risk the continued good reputation and trust of the cryptocurrency system that gets to maintain the illusion of a truly decentralized system when that is technologically impossible at an end game scale?
What if Moore's Law outpaces the needs of regular proof of stake networks, making them viable anyway? Then DPOS users could either increase the number of delegates to take advantage of the improved hardware and bandwidth limitations to compete with traditional networks, or more likely, take advantage of the extra efficiency as profit. It's a matter of preference for each specific dev, user, and community. It's a matter of finding the efficiency, decentralization sweet spot.
Already we see that the hardware and bandwidth capabilities of most end users are starting to get outpaced by the stake requirements necessary to make running a node useful. Without a major jump in hardware and bandwidth proliferation this trend can only worsen, opening up most currencies to attack, and encouraging a form a centralization that is determined not by fair representation, but by who has the most resources to put into the network, financially and otherwise. DPOS represents a solution for this.
The real difference between all these networks after scale forces each of them into a certain amount of centralization is who has the most influence after that certain level of centralization takes hold. In the other currencies that influence belongs to those with the most stake. The purpose of DPOS is to do a better job of fairly spreading that influence, by allowing people the ability to vote and veto those who run what is essentially the DPOS answer to mining pools.