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

0 Members and 1 Guest are viewing this topic.

Offline liondani

  • Hero Member
  • *****
  • Posts: 3731
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani
Re: Why DPOS is better than other POS
« Reply #45 on: July 26, 2014, 11:47:01 am »

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile

clout

  • Guest

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
Re: Why DPOS is better than other POS
« Reply #48 on: July 26, 2014, 10:04:39 pm »
Is this realistic? https://nxtforum.org/general-discussion/nxt-pos-vs-bitshares-dpos/msg71086/#msg71086


yeah, its just moore's law
Where does Moore's law not apply? Bandwidth, reliability? If it applies with all costs a delegate has the OP might be not so relevant.

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
Re: Why DPOS is better than other POS
« Reply #49 on: July 27, 2014, 09:49:53 pm »
Is this realistic? https://nxtforum.org/general-discussion/nxt-pos-vs-bitshares-dpos/msg71086/#msg71086


yeah, its just moore's law
Where does Moore's law not apply? Bandwidth, reliability? If it applies with all costs a delegate has the OP might be not so relevant.
https://nxtforum.org/general-discussion/nxt-pos-vs-bitshares-dpos/msg71147/#msg71147
Anyone able to make a fact based estimate here?

Offline bytemaster

Re: Why DPOS is better than other POS
« Reply #50 on: July 27, 2014, 10:06:01 pm »
Is this realistic? https://nxtforum.org/general-discussion/nxt-pos-vs-bitshares-dpos/msg71086/#msg71086


yeah, its just moore's law
Where does Moore's law not apply? Bandwidth, reliability? If it applies with all costs a delegate has the OP might be not so relevant.
https://nxtforum.org/general-discussion/nxt-pos-vs-bitshares-dpos/msg71147/#msg71147
Anyone able to make a fact based estimate here?

Moore's law always applies to relative performance, but does not change the economics.  More validators still equals higher transaction fees.   The only point that the economics start to change is where the abundance of CPU, RAM, Bandwidth, etc is such that 100x difference in price is still meaningless to consumers.   At this point in time it is possible to support more decentralization.   At this point in time DPOS can simply increase the number of delegates. 

I suppose if Memory were to be 1000x cheaper, bandwidth 1000x greater, and CPUs 1000x faster then you quickly get to the point where the cost is so little even at VISA volumes that it doesn't factor into the economic equation and everyone could run a full node. 

However... if you go back 20 years and look at the total web traffic you could claim that Moores Law would make it possible for everyone to host the entire internet in 20 years.  We all know that demand for transactions will far outstrip Moores Law, especially once exchanges are fully implemented on a blockchain. 

So my argument is merely that transaction volume will grow much faster than Moores Law once this stuff goes mainstream.   

Everyone always points to CPU, RAM, or DISK and IGNORES bandwidth.    At 512 bytes per transaction, you are looking at 2 MByte per second at 4000 TPS and that would be multiplied by some overhead factor... so lets just call it a total of 5 MByte per second which is 40 Mega Bit per second.    I don't see that being cheap or common place for at least 10 years.  It certainly won't be "disposable" even 10 years from now.     
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 #51 on: August 01, 2014, 05:56:25 am »
Draft Four. Refined a bit more.

this is kinda over my head to be honest.



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 as validation can be done with much less computer power. Already we see that in Peercoin and Nxt that to make gains from running a node, one must have a substantial amount of currency up for stake.

You can see this today 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, given more general usage. If networks are already becoming partially centralized then what happens when a cryptocurrency goes mainstream?

This problem can be mitigated with transaction fees but at a certain point, in order to remain profitable, transaction fees would have to increase to the point that spending the currency would become discouraging and people wouldn't use the currency for it's intended purpose, so that's a non-option. This is less of a problem with Peercoin because it's designed to be leaner, and more oriented towards savings and larger transactions anyway, but Nxt is supposed to be more of a bread buying currency and this will lead to issues.

Let's take a look at Nxt. Currently the network might bring in about $8000 worth of fees. Assuming for arguments sake that their network is currently averaging about 0.8 transactions a minute, or 0.01 transactions a second. Increasing that rate to 10 transactions per second means 1000 times more transaction fees, or 80,000 a month from securing the network. Running a node for one person is going to cost on average about a hundred dollars a month for bandwidth and hardware. This means in a completely decentralized Nxt network that doesn't use leased forging, only those with 1/800 of all Nxt or more would be able to forge profitably at ten transactions per second. The costs for hardware and bandwidth go up even more as the number of transactions increase.

With thousands of transactions a second this means the network, assuming the transaction fee isn't altered, would bring in millions of dollars on a monthly basis. However the cost to secure a network with that many users is going to increase exponentially as well. At this point a server capable of handling that many transactions is going to cost substantially more than what most are able to provide. The end result is that only those with balances which contain an awful lot of money would be able to forge profitably, assuming as much decentralization as possible.

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 situation is similar with Peercoin, only the fixed transaction fee spreads the cost of running those nodes more evenly to each shareholder.

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 decentralized because there is a minimum amount of stake necessary to be able to recoup profit in a timely manner. So how should we mitigate this? The most recently posed solution to this 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. 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, and the amount of stake one holds or amount of computing resources one owns is seperated from their ability 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 become's 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?

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.
« Last Edit: August 01, 2014, 06:01:26 am by merockstar »

merockstar

  • Guest
Re: Why DPOS is better than other POS
« Reply #52 on: August 01, 2014, 04:44:51 pm »
BM, am I even getting close to what you had in mind?

Offline bytemaster

Re: Why DPOS is better than other POS
« Reply #53 on: August 01, 2014, 06:46:30 pm »
Quote
This problem can be mitigated with transaction fees but at a certain point, in order to remain profitable, transaction fees would have to increase to the point that spending the currency would become discouraging and people wouldn't use the currency for it's intended purpose, so that's a non-option. This is less of a problem with Peercoin because it's designed to be leaner, and more oriented towards savings and larger transactions anyway, but Nxt is supposed to be more of a bread buying currency and this will lead to issues.

The quoted text bugs me because it comes too close to the fallacy that hoarding is bad and that a network needs to encourage spending.  Note: I said it comes close to that though upon reading it is technically ok and effectively is the argument "PTS can have slow confirmations because it isn't meant to be a currency"... however, peer*COIN* is meant to be a currency.

I think we want to rephrase this in VERY SIMPLE terms:   the cost to operate a network can be calculated as number of validators * cost per validator.  Transaction fees need to cover the cost to operate the network and transaction fees can only go so far before the network is no longer competitive with Dwalla and Paypal let alone other systems.

In a proof of stake system that pays fees proportional to stake then we can calculate the minimum stake required to forge, mint, etc to be (cost per validator / total fees)%... we need to visually represent this relationship.   Show a PIE chart with all fees, with a wedge coming out as cost-per-validator.

There are two types of costs associated with being a validator: fixed and incremental.  When the networks are small they are dominated by the fixed costs of running a minimum system 24-7.   At scale the fixed costs don't matter because they are divided among more and more transactions.  It is the incremental costs that we must consider for this analysis.   Incremental bandwidth, CPU, and storage costs which we will assume to linearly connected to transaction volume.

Without introducing any hard numbers on these costs we can merely focus on the relationship, namely there is an incremental cost per transaction and a transaction fee which means that on a per-transaction basis we have.  (Incremental cost to validate a transaction / fee per transaction)% is how we can calculate the minimum stake required to process transactions profitably and thus the number of validating nodes a network can support.

These calculations can be applied universally to all networks at all scales and it all boils down to one simple fact:  transaction fees are directly proportional to the level of decentralization a network supports.   DPOS can be set to 1 delegate or 10000 delegates and the cost of transactions will be 10,000 higher in the more decentralized network than in the fully centralized network.

So now we need to bring in yet another graph, marginal utility of adding an extra validating node.  The 2nd node doubles the decentralization, the 3rd grows by 33%... but by the time you get to the 10,001th node you are only increasing decentralization by .001%.   Ie: the value of the 2nd node is much higher than the value of the 10,001 node and yet the cost of adding both nodes was equal.   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.

So what is the real difference between DPOS, NXT, and Peercoin?  The real difference is how much influence those who own less than the threshold amount of stake have in the system.   In the case of Peercoin anyone below the threshold is cut out and has 0 influence which will therefore centralize in the hands of the N largest shareholders where N is determined by the intersection of the sweet spot.

With NXT and leased forging, those with less than the minimal stake must lease (delegate) it to one person who can accumulate at least the threshold level to produce profitably.   However, the leaser should be under no delusions that the pool will be able to give them a kickback.  Any kickback would only be available if NXT was charging higher transaction fees than necessary to cover validation costs and thus make the network less competitive against other networks.   Absent kickbacks NXT will suffer voter turnout issues.   Furthermore, NXT is vulnerable to anyone with the threshold stake producing blocks with no transactions or filtering transactions.   This could result in unnecessary transaction delays.  Poor voter turnout will ultimately make NXT little different than Peercoin.

With DPOS and Approval Voting, the small stake holders delegate their approval to N different people and thus have influence over every delegate.  Under DPOS even someone with 1% of the shares is unable to vote themselves even a single delegate seat where as under Nxt they would get exactly 1 delegate seat (assuming N of 100).  I call a delegate seat in NXT a forging pool with enough stake to forge profitably. 

Could someone clarify for me who gets the fees in Nxt:  a) the forger who included the block or b) all forgers share all fees equally.   I believe this is a critical benefit of DPOS where all transaction fees are evenly shared among all delegates instead of going entirely to the producer of the single block.   This makes all delegate seats equal and removes advantages large mining pools have of decreasing variability while discouraging infighting among producers on who gets to include the transaction with high fees.

Draw the charts, show the intersection of the lines and then point out that DPOS can target that sweet spot while allowing all shareholders to maintain influence proportional to their stake.   Other systems disenfranchise small stake holders while still being subject to the same sweet spot enforced by the economics of the system.

I think a picture is worth 1000 words and without a picture the whole thing is hard to follow.   
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 #54 on: August 01, 2014, 06:52:22 pm »
Appreciate the feedback. I will revise further, bust out the pinta, and see what I can come up with.

Offline bytemaster

Re: Why DPOS is better than other POS
« Reply #55 on: August 01, 2014, 07:02:06 pm »
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 bytemaster

Re: Why DPOS is better than other POS
« Reply #56 on: August 01, 2014, 07:03:08 pm »
Appreciate the feedback. I will revise further, bust out the pinta, and see what I can come up with.

Hey, I want to tip you for your efforts here... getting this understood and explained well is very important and I am really making you rework things a lot! 
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 #57 on: August 01, 2014, 07:10:19 pm »
Appreciate the feedback. I will revise further, bust out the pinta, and see what I can come up with.

Hey, I want to tip you for your efforts here... getting this understood and explained well is very important and I am really making you rework things a lot!

no worries on the reworking. I'm kind of learning as I go, I'd be a complete loss without the feedback.

the stagnation you're seeing isn't the result of a lack of motivation, its the result of my own brainpower being unable to scale. I love a challenge though, and this assignment is as challenging as they come. thanks for your patience :)

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
Re: Why DPOS is better than other POS
« Reply #58 on: August 01, 2014, 07:10:59 pm »
https://nxtforum.org/general-discussion/nxt-pos-vs-bitshares-dpos/msg74550/#msg74550

BM, are there parts in your text above that are new arguments? Could you highlight them?
« Last Edit: August 01, 2014, 07:12:40 pm by delulo »

Offline bytemaster

Re: Why DPOS is better than other POS
« Reply #59 on: August 01, 2014, 08:23:41 pm »
There are many new and clarified arguments in this text... I tried to highlight the best of the best.
Quote
This problem can be mitigated with transaction fees but at a certain point, in order to remain profitable, transaction fees would have to increase to the point that spending the currency would become discouraging and people wouldn't use the currency for it's intended purpose, so that's a non-option. This is less of a problem with Peercoin because it's designed to be leaner, and more oriented towards savings and larger transactions anyway, but Nxt is supposed to be more of a bread buying currency and this will lead to issues.

The quoted text bugs me because it comes too close to the fallacy that hoarding is bad and that a network needs to encourage spending.  Note: I said it comes close to that though upon reading it is technically ok and effectively is the argument "PTS can have slow confirmations because it isn't meant to be a currency"... however, peer*COIN* is meant to be a currency.

I think we want to rephrase this in VERY SIMPLE terms:   the cost to operate a network can be calculated as number of validators * cost per validator.  Transaction fees need to cover the cost to operate the network and transaction fees can only go so far before the network is no longer competitive with Dwalla and Paypal let alone other systems.

In a proof of stake system that pays fees proportional to stake then we can calculate the minimum stake required to forge, mint, etc to be (cost per validator / total fees)%... we need to visually represent this relationship.   Show a PIE chart with all fees, with a wedge coming out as cost-per-validator.

There are two types of costs associated with being a validator: fixed and incremental.  When the networks are small they are dominated by the fixed costs of running a minimum system 24-7.   At scale the fixed costs don't matter because they are divided among more and more transactions.  It is the incremental costs that we must consider for this analysis.   Incremental bandwidth, CPU, and storage costs which we will assume to linearly connected to transaction volume.

Without introducing any hard numbers on these costs we can merely focus on the relationship, namely there is an incremental cost per transaction and a transaction fee which means that on a per-transaction basis we have. (Incremental cost to validate a transaction / fee per transaction)% is how we can calculate the minimum stake required to process transactions profitably and thus the number of validating nodes a network can support.

These calculations can be applied universally to all networks at all scales and it all boils down to one simple fact:  transaction fees are directly proportional to the level of decentralization a network supports.   DPOS can be set to 1 delegate or 10000 delegates and the cost of transactions will be 10,000 higher in the more decentralized network than in the fully centralized network.

So now we need to bring in yet another graph, marginal utility of adding an extra validating node.  The 2nd node doubles the decentralization, the 3rd grows by 33%... but by the time you get to the 10,001th node you are only increasing decentralization by .001%.   Ie: the value of the 2nd node is much higher than the value of the 10,001 node and yet the cost of adding both nodes was equal.   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.

So what is the real difference between DPOS, NXT, and Peercoin?  The real difference is how much influence those who own less than the threshold amount of stake have in the system.   In the case of Peercoin anyone below the threshold is cut out and has 0 influence which will therefore centralize in the hands of the N largest shareholders where N is determined by the intersection of the sweet spot.


With NXT and leased forging, those with less than the minimal stake must lease (delegate) it to one person who can accumulate at least the threshold level to produce profitably.   However, the leaser should be under no delusions that the pool will be able to give them a kickback.  Any kickback would only be available if NXT was charging higher transaction fees than necessary to cover validation costs and thus make the network less competitive against other networks.   Absent kickbacks NXT will suffer voter turnout issues.   Furthermore, NXT is vulnerable to anyone with the threshold stake producing blocks with no transactions or filtering transactions.   This could result in unnecessary transaction delays.  Poor voter turnout will ultimately make NXT little different than Peercoin.

With DPOS and Approval Voting, the small stake holders delegate their approval to N different people and thus have influence over every delegate.  Under DPOS even someone with 1% of the shares is unable to vote themselves even a single delegate seat where as under Nxt they would get exactly 1 delegate seat (assuming N of 100).  I call a delegate seat in NXT a forging pool with enough stake to forge profitably. 

Could someone clarify for me who gets the fees in Nxt:  a) the forger who included the block or b) all forgers share all fees equally.   I believe this is a critical benefit of DPOS where all transaction fees are evenly shared among all delegates instead of going entirely to the producer of the single block.   This makes all delegate seats equal and removes advantages large mining pools have of decreasing variability while discouraging infighting among producers on who gets to include the transaction with high fees.

Draw the charts, show the intersection of the lines and then point out that DPOS can target that sweet spot while allowing all shareholders to maintain influence proportional to their stake.   Other systems disenfranchise small stake holders while still being subject to the same sweet spot enforced by the economics of the system.

I think a picture is worth 1000 words and without a picture the whole thing is hard to follow.   
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.