Author Topic: Why DPOS is better than other POS  (Read 11683 times)

0 Members and 1 Guest are viewing this topic.

Offline bytemaster

Re: Why DPOS is better than other POS
« Reply #60 on: August 01, 2014, 08:25:59 pm »
New arguments here...
Some may argue that as trx volume increase the cost per transaction decreases.  IE: the 2nd CPU is cheaper than the 1st CPU yet the processing capability "doubles".  The theory that things are cheaper in bulk. 

Things are only cheaper in bulk when you can do things in parallel and there are no resource constraints.  High end CPUs get more expensive per unit of computation for a reason, while ordering the same high-end CPU in bulk (parallel) can bring down costs by sharing the fixed development cost among more units... ie: approaching the incremental cost of production.

Blockchains are very SEQUENTIAL in nature.  The order of operations is critical to the validation of transactions and thus it is very difficult to apply the parallel approach and bulk ordering to bring down costs.  Instead costs go up.

Also, doing things in parallel almost never gives you 2x gain, you are lucky to get a 1.9x gain and 1.5 or less is more common because there is always synchronization overhead.   

Therefore my assumption that transaction cost grows linearly with the number of transactions is a fair assumption because it could quite possibly grow non-linearlly, ie: it costs 4x as much to process 2x the transactions after a certain point in the price/performance curve of modern CPUs.

It is true that as technology advances all costs fall and networks can become increasingly decentralized with Moores Law.   But Moores Law applies to all technologies and thus at any point in time Nxt, Peercoin, and DPOS can only support a certain amount of decentralization.   My argument is that at all points in time DPOS supports more decentralization than the alternatives and that at all points in time DPOS enfranchise more small shareholders.

There is then the argument that at some point the marginal value of an extra node approaches 0 and thus in the end all systems will converge on the same level of decentralization.    However.... there is one counter-point to decentralization:

1) Capital concentration is critically important to growing society.   At some point extra decentralization of nodes inhibits the benefits of managed centralization.   Ie: paying a million people $1 will get less done than paying 10 people $100,000.    At the end of the day it will come down to who can find the balance and manage it the best and this is where DPOS really shines and the other systems have no ability to support managed centralization.


For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline liondani

  • Hero Member
  • *****
  • Posts: 3733
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani
Re: Why DPOS is better than other POS
« Reply #61 on: August 01, 2014, 10:21:30 pm »
There is a point where the cost to add a new node equals the value that new node provides and this is the sweet spot you want for the number of validators.

does it mean you are thinking about to increase the number of delegates if you find a way to find the sweat spot?

Offline bytemaster

Re: Why DPOS is better than other POS
« Reply #62 on: August 01, 2014, 10:25:48 pm »
There is a point where the cost to add a new node equals the value that new node provides and this is the sweet spot you want for the number of validators.

does it mean you are thinking about to increase the number of delegates if you find a way to find the sweet spot?

It means that I know such a sweet spot exists... but that it is different for everyone because it involves "value judgements".  That sweet spot also changes over time as value judgements change over time.  This is like saying I know there exists a price for BTSX... I just couldn't tell you what it should be and it constantly changes.

Right now I just chose 101 as my opinion on what the sweet spot is.    Shareholders voting on it is another way and a prediction market is a 3rd way.   
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

merockstar

  • Guest
Re: Why DPOS is better than other POS
« Reply #63 on: August 02, 2014, 03:18:28 am »
You guys are really gonna like draft five. I've already made so many changes and I'm not even all the way through BM's feedback yet. It's got charts, and everything. I'm kinda proud of the way this is shaping up :)

merockstar

  • Guest
Re: Why DPOS is better than other POS
« Reply #64 on: August 02, 2014, 08:27:39 am »
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


Scalability
by merockstar and bytemaster
The 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 fees




We 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 validate

Extrapolating 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.
« Last Edit: August 02, 2014, 08:53:18 am by merockstar »

Offline bytemaster

Re: Why DPOS is better than other POS
« Reply #65 on: August 03, 2014, 07:24:21 pm »

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

Re: Why DPOS is better than other POS
« Reply #66 on: August 03, 2014, 07:54:10 pm »
When it comes to hardware, as long as the system fits within commodity budgets the cost to scale is close enough to linear, but as soon as you cross certain thresholds the cost goes non-linear.   

In 1995 we had the internet but the cost of buying a computer able to handle Bitcoin today would have been beyond astronomical.  1 GB of ram was not even possible except for high-end mainframe super computers.  (I think I had 8 MB at the time, and 250 MB HD).  The CPU power required would have been beyond reach along with the storage requirements.   Today those same requirements are trivial and cost insignificant.   I think it is fair to say that Moores Law will keep technology ahead of adoption assuming the next 20 years sees similar growth as the last 20 and transaction volume of the economy grows with population.  That said sequential processing has slowed its growth rate while we move to parallel processing.   

So the point is really one of relative fees and the value of having those fees available to reinvest in the ecosystem vs lowing transaction fees.   I am going to make an argument that a $0.01 cent fee is so low that few will bend over to pick it up... it is effectively equivalent to a fee of $0.00.    So based on my charts we could see that 500 nodes could be funded easily at 1 TPS and perhaps more nodes at 10 TPS.   This assumes there is no labor overhead.

So these networks can afford more decentralization than the 101 delegates I have shown *if* we increase the transaction fee from $0.001 to $0.01.   However, we still have the issue the relative amount of decentralization approaches 0 as we add more nodes while the opportunity costs grow as we lose the benefit of capital concentration. 
 
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

Re: Why DPOS is better than other POS
« Reply #67 on: August 03, 2014, 07:58:32 pm »
I am going to submit that the mental energy and effort of running a node is not worth it for most people to take seriously unless they are earning a couple hundred dollars per month.   There are those that are doing it for good will, but running a node requires you to keep up with the latest updates and be "on call".   So I think it is unfair to point at $50 / month in direct costs as the metric of decentralization.   
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline CLains

  • Hero Member
  • *****
  • Posts: 2606
    • View Profile
  • BitShares: clains
Re: Why DPOS is better than other POS
« Reply #68 on: August 03, 2014, 08:11:28 pm »
omg this is great!!  +5% +5%

such a crucial issue

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
Re: Why DPOS is better than other POS
« Reply #69 on: August 03, 2014, 09:55:19 pm »
Thanks for the highlighting! Great and probably most sophisticated analysis on the stuff to date.
My comments: Decentralization can not primarily or at least not only be measured by the number of delegates but must be measured by the lowest number of individuals controlling 51% of all delegates.

Do you disagree with my comparison of DPOS vs. POS (it's a comparison of delegation vs. non delegation not of DPOS as it is vs. NXT-POS as it is)? https://nxtforum.org/general-discussion/nxt-pos-vs-bitshares-dpos/
It's been a neutral and constructive discussion.

Here is a different approach towards improving on Bitcoin (some inspiration): https://github.com/skycoin/whitepapers
Seems right in it's assessment of Bitcoin's flaws. The solution roughly is a network of nodes that form a web of trust.

Offline Myshadow

  • Jr. Member
  • **
  • Posts: 49
    • View Profile
Re: Why DPOS is better than other POS
« Reply #70 on: August 03, 2014, 11:31:51 pm »
When it comes to hardware, as long as the system fits within commodity budgets the cost to scale is close enough to linear, but as soon as you cross certain thresholds the cost goes non-linear.   

In 1995 we had the internet but the cost of buying a computer able to handle Bitcoin today would have been beyond astronomical.  1 GB of ram was not even possible except for high-end mainframe super computers.  (I think I had 8 MB at the time, and 250 MB HD).  The CPU power required would have been beyond reach along with the storage requirements.   Today those same requirements are trivial and cost insignificant.   I think it is fair to say that Moores Law will keep technology ahead of adoption assuming the next 20 years sees similar growth as the last 20 and transaction volume of the economy grows with population.  That said sequential processing has slowed its growth rate while we move to parallel processing.   

So the point is really one of relative fees and the value of having those fees available to reinvest in the ecosystem vs lowing transaction fees.   I am going to make an argument that a $0.01 cent fee is so low that few will bend over to pick it up... it is effectively equivalent to a fee of $0.00.    So based on my charts we could see that 500 nodes could be funded easily at 1 TPS and perhaps more nodes at 10 TPS.   This assumes there is no labor overhead.

Is the 10TPS limit based on current processing limitations or is it due to block sizes and propagation times? ie: is it possible that DPOS can scale out past the 10,000 odd TPS that the visa network handles? Sorry if this has already been answered somewhere else.

Offline bytemaster

Re: Why DPOS is better than other POS
« Reply #71 on: August 04, 2014, 12:25:57 am »
When it comes to hardware, as long as the system fits within commodity budgets the cost to scale is close enough to linear, but as soon as you cross certain thresholds the cost goes non-linear.   

In 1995 we had the internet but the cost of buying a computer able to handle Bitcoin today would have been beyond astronomical.  1 GB of ram was not even possible except for high-end mainframe super computers.  (I think I had 8 MB at the time, and 250 MB HD).  The CPU power required would have been beyond reach along with the storage requirements.   Today those same requirements are trivial and cost insignificant.   I think it is fair to say that Moores Law will keep technology ahead of adoption assuming the next 20 years sees similar growth as the last 20 and transaction volume of the economy grows with population.  That said sequential processing has slowed its growth rate while we move to parallel processing.   

So the point is really one of relative fees and the value of having those fees available to reinvest in the ecosystem vs lowing transaction fees.   I am going to make an argument that a $0.01 cent fee is so low that few will bend over to pick it up... it is effectively equivalent to a fee of $0.00.    So based on my charts we could see that 500 nodes could be funded easily at 1 TPS and perhaps more nodes at 10 TPS.   This assumes there is no labor overhead.

Is the 10TPS limit based on current processing limitations or is it due to block sizes and propagation times? ie: is it possible that DPOS can scale out past the 10,000 odd TPS that the visa network handles? Sorry if this has already been answered somewhere else.

There are no limits with DPOS.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Myshadow

  • Jr. Member
  • **
  • Posts: 49
    • View Profile
Re: Why DPOS is better than other POS
« Reply #72 on: August 04, 2014, 01:25:49 am »
Is the 10TPS limit based on current processing limitations or is it due to block sizes and propagation times? ie: is it possible that DPOS can scale out past the 10,000 odd TPS that the visa network handles? Sorry if this has already been answered somewhere else.
There are no limits with DPOS.

Thanks for the prompt reply, is the blocksize dynamic with DPOS then?

Offline donkeypong

  • Hero Member
  • *****
  • Posts: 2329
    • View Profile
Re: Why DPOS is better than other POS
« Reply #73 on: August 04, 2014, 04:02:50 am »
POS



DPOS

Offline liondani

  • Hero Member
  • *****
  • Posts: 3733
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani
Re: Why DPOS is better than other POS
« Reply #74 on: August 04, 2014, 10:29:28 am »