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

0 Members and 1 Guest are viewing this topic.

merockstar

  • Guest
BM, am I even getting close to what you had in mind?

merockstar

  • Guest
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 »

Offline bytemaster

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.

Offline santaclause102

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

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
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 liondani

  • Hero Member
  • *****
  • Posts: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
Discussing scalability, delegation and centralization on the NXT forum https://nxtforum.org/general-discussion/nxt-pos-vs-bitshares-dpos/msg70835/#msg70835
Wherein do the costs for a delegate exactly lie that are described in the OP (assumption: visa size network)? I assume bandwidth, reliability, what else and why?   

Offline gyhy

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

Offline santaclause102

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

Offline 麥可貓

  • Sr. Member
  • ****
  • Posts: 267
    • View Profile
Let's take a look at Nxt. This is back of a napkin style math, but should give an idea of the point being made. Based on the number of transactions as of the time of this writing, information found here, the network is likely to bring in less than about $8000 worth of transaction fees a month. That's given their current number of transactions which is 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.

Souldn't the transaction fee increased to 8,000,000 (1000x) a month?
PTS: PmRVDPymZqSAZEXauHZSewrUrE66af7epT
BTSX: michaelcat
Delegate Team: x1.sun  x2.sun

merockstar

  • Guest
I've tried to address some of your points BM. sorry it's taking so long. This is a rough one for my brain.

do you think I should just outright do away with the paragraphs that use supported numbers as an example and just focus on trying to explain the concept?



draft trois Proof of Stake Scalability

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. This is back of a napkin style math, but should give an idea of the point being made. Based on the number of transactions as of the time of this writing, information found here, the network is likely to bring in less than about $8000 worth of transaction fees a month. That's given their current number of transactions which is 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.

At 2000 transactions a second this means the network (assuming the transaction fee isn't altered) would bring in about 16,000,000 a month. 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?

This extra efficiency could be used to benefit the network as a whole. In DPOS, assuming an operating cost of about a hundred dollars a month, this works out to a need for $10,100 per month necessary to compensate delegates. Assuming one transaction per second this necessitates a fee of $0.004 per second, but as the number of transactions per second grows, this the amount that must be charged goes down until improved hardware becomes a factor. Setting the fees to a competitive $0.05 or $0.10 per transactions would provide extra income for delegates to promote or market the infrastructure as a whole, and profit shareholders. As more and more people pile onto the network it becomes more possible to continue lowering fees and give more back to shareholders.
« Last Edit: July 22, 2014, 09:19:44 pm by merockstar »

merockstar

  • Guest
Decentralized Delegated Proof of Stake

I was very tired when I busted that out, and just woke up to find this and I'm laughing my ass off.

thanks for the input BM. definitely struggling on this one. will try to hammer out those changes today.
« Last Edit: July 19, 2014, 12:46:29 pm by merockstar »

Offline bytemaster

I would like to refine my prior statements: 

Don't declare something centralized or decentralized, always use relative terms... something is more or less decentralized than something else.
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.