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

0 Members and 1 Guest are viewing this topic.

Offline bytemaster

http://www.nxtcommunity.org/nxt/nxt/nxt-network-energy-and-cost-efficiency-analysis

Quote
There are also other reasons to forge for Nxt such as those who have large numbers of Nxt who want to protect their own investment. Nxt is also talking about restricting the size of forging pools, so that no forging pools can be larger than approximately 1% of all Nxt (unless you actually own more than 1% of all Nxt). If this happens, then the low end case becomes closer to 100 Nxt forgers. The other restriction that goes along with this is that you need to own enough Nxt to be able to protect the network a reasonable amount of the time or it seems worthless to even forge.

This is  very tough article to write because it is making a ton of assumptions that are not clearly communicated.    I think you have made great strides, but I would like to suggest some ways that we can make the argument clearer and more concise:

0) Don't make it about electric costs... that is insignificant, make it about hosting costs and bandwidth because saying that a computer will consume $100 / month in electricity does not sound believable.    In the Nxt article I linked the point to $100 computers as the hardware that would power 1000 transactions per second (I call BS on that), but those $100 computers are a red herring compared to the bandwidth requirements.     In that article they also claim that Nxt will use 1 megabyte per second (8 Megabits) and waive that off as something everyone has..... ignoring the fact that an 8 Megabit connection costs at least $30 per month and leaves no room for protocol overhead and relay/rebroadcast overhead. 

1) Give the reader something to anchor them and put what they are about to read into perspective.   Namely, ask the question:  how many nodes does it take to be considered decentralized and which systems provide the best decentralization.   DPOS cuts to the chase and declares 101 delegates to be sufficient, yet many detractors claim that 101 is too centralized without asking the question "compared to what?"... then make the bold claim that the economics of Nxt and Peercoin will drive them toward fewer than 101 signing nodes.   

2) Ignore the "one day this will centralize" and instead focus on the fact that even TODAY it is not decentralized.   I would start by stating that in the interest of network stability and reliability serious "miners" or "forgers" must at least rent a low-end VPS system at $50 per month so they can make sure they do not miss their turn or have unexpected outages.    This means that on average every user that wishes to break even must earn $50 per month in fees.  Based upon the current value of Nxt fees ($8000 per month) and assuming all stake were evenly allocated, this means that Nxt & Peercoin can support at most 160 forgers.    It is a well known fact that Nxt, Peercoin, and Bitcoin have individuals that own large percentages (over 1%) and each of these individuals takes away from the theoretical maximum of 160 forgers or miners.   

3) Some may argue that it doesn't cost $50 to run the system from your home PC or a dorm room.   This may be true at todays scale, but if any of these systems hope to grow then the bandwidth requirements (not electric costs) will be the primary cost consideration that forces the nodes into the cloud. 

I think this particular article will become one of our most powerful arguments so I hope you continue to refine in light of these critiques.

Some other things to be aware of:
4) Throwing around unsupported numbers ($5000 per month, $100 in electric costs) while likely true is beyond the scope of this article to defend.  Lets boil it down to facts so easy to understand that there is little room to dispute the main point.   Put yourself in the shoes of someone skeptical of our claims, what is the first thing you would do?  A) attack every number we introduce and then claim the whole article is bunk.     The other thing people will do is claim that there is no reason for "one system" to scale and that it is "decentralized today". 

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: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani


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 centralization will take hold, or transaction fees will get unwieldy. So how should we mitigate this? The most recently posed solution to this is Decentralized 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.



fix...
Decentralized Delegated Proof of Stake

merockstar

  • Guest
second draft 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 coming 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 electricity and computing resources 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.

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 could lead to issues later.

Let's take a look at Nxt. Based on the number of transactions as of the time of this writing, information found here by Empirical1, 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 electricity costs. 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 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 to 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 along the lines of $5000 a month. The end result is that only those with balances more than 1/3,200 (at this level that will be many millions of dollars) of the network would be able to forge profitably given complete decentralization. This seems like a reasonable number until you consider that to create that many transactions, the network will consist of billions of users.

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 centralization, which occurs naturally in all of these schemes over time.

How to balance centralization with scalability?

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 centralization will take hold, or transaction fees will get unwieldy. So how should we mitigate this? The most recently posed solution to this is Decentralized 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, 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.

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 19, 2014, 02:15:42 am by merockstar »

merockstar

  • Guest
No, it's just POW but you require the whole chain on the computer since the POW is on data from random parts of the chain

cool. thanks toast.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
No, it's just POW but you require the whole chain on the computer since the POW is on data from random parts of the chain
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

merockstar

  • Guest
so pow + increased hardware costs?

a google search doesn't produce jack shit

is adaptive proof of work a different name for it or something?

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
It doesn't prevent mining pools (pooling for the sake of reducing volatility), but it does make increase resource requirements from raw hash power to hash power + disk + bandwidth
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

merockstar

  • Guest

ok BM, altered the above post to reflect that. hows it look now?

okay. the only point I haven't addressed from that list above is Ethereum Proof of Chain scaling.

where can i learn about that? Is it basically just proof of work?

It is a proof of work algorithm  that requires the block chain to be present to perform the work

Effectively bitcoin can be thought of as delegated proof of work then ether prevents delegation. 




Sent from my iPhone using Tapatalk

in other words, it's proof of work that prevents mining pools from happening?

and I can apply the same reasoning to ethereum as I would to bitcoin proof of work in writing this?

Offline bytemaster


ok BM, altered the above post to reflect that. hows it look now?

okay. the only point I haven't addressed from that list above is Ethereum Proof of Chain scaling.

where can i learn about that? Is it basically just proof of work?

It is a proof of work algorithm  that requires the block chain to be present to perform the work

Effectively bitcoin can be thought of as delegated proof of work then ether prevents delegation. 




Sent from my iPhone using Tapatalk
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
ok BM, altered the above post to reflect that. hows it look now?

okay. the only point I haven't addressed from that list above is Ethereum Proof of Chain scaling.

where can i learn about that? Is it basically just proof of work?
« Last Edit: July 16, 2014, 11:11:23 pm by merockstar »

Offline bytemaster

Is this accurate?

Let's take a look at Nxt. Based on the number of transactions as of the time of this writing (thanks, Empirical1) the network is likely 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. (cite:http://87.230.14.1/nxt/nxt.cgi?action=40) 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 electricity costs. This means in a completely decentralized Nxt network that doesn't use leased forging, only the 800 richest would be able to forge profitably at ten transaction per second.

Edit: no it's not accurate

At 2000 TPS validation costs equals the cost of running server which include 100 MB/sec network connection, a server with 256 GB of ram or more, high availability (redundant backups), DDOS protection, etc.   These kinds of systems can easily cost $5000 / month or more to operate at scale.   If you don't earn that much from block production then you will not do it.

If Nxt is able to run on cheap nodes at that scale.    And not the 800 richest, but those with over 1/800 or  0.125% stake which amounts to $100,000 at todays prices, but if you scale it up by a factor 100 then the market cap would be higher than BTC which means you are talking people with over $1 million worth of Nxt.
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
Is this accurate?

At 2000 TPS validation costs equals the cost of running server which include 100 MB/sec network connection, a server with 256 GB of ram or more, high availability (redundant backups), DDOS protection, etc.   These kinds of systems can easily cost $5000 / month or more to operate at scale.   If you don't earn that much from block production then you will not do it.

Let's take a look at Nxt. Based on the number of transactions as of the time of this writing (thanks, Empirical1) 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. (cite:http://87.230.14.1/nxt/nxt.cgi?action=40) 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 electricity costs. 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 go up even more as the number of transactions increase. As the number of transactions increase so does the cost of running the hardware needed to validate it.

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 to 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 along the lines of $5000 a month. The end result is that only those with balances more than 1/3,200 (at this level that will be many millions of dollars) of the network would be able to forge profitably given complete decentralization.
« Last Edit: July 16, 2014, 10:56:04 pm by merockstar »

Offline bytemaster

Yeah I like that paragraph. The only thing I think that helped me a bit too is actually looking at the numbers NXT and say Bitcoin currently earn from transaction fees.

With NXT I think they earn less than $8 000 a month from fees in total. http://87.230.14.1/nxt/nxt.cgi?action=40

I realised that doesn't buy a lot of decentralisation or pay for a lot of forging. On a $50 million CAP that's only like 0.2% interest a year less however many nodes they have running multiplied by the cost of running a node. Looking at that, it became obvious NXT can't be much more or hope to be much more decentralised than a 101 delegate system anyway. 
If they did there's hardly any money left over for forgers and definitely nothing to put towards other areas.
(& obviously having elected trusted delegates with limited control is much better anyway.)

Then I looked at Bitcoin and they're only getting $200k from fees per month, which would work out at $2K per delegate less expenses so if we want any money left over to do marketing/extra development via delegates even at Bitcoin's size it would be wasteful to have more delegates & we may end up having a few less.

Anyway yeah when I looked at some of the current numbers, it made more sense that the $ aren't there from transaction fees for loads of decentralisation. (Not that there's much/any value to being more decentralised anyway.)

+1 great research with real tangible numbers that people can appreciate and understand.

Assuming you run Nxt with 100 forgers, that yields $80/month per forger which is just enough to cover a reasonable VPS.   This assumes the stake has been leased evenly to 101 different people.   In reality, I bet there are far fewer than 101 people to whom people are leasing stake and that many of those who have stake leased to them have more than 1% of the stake.   

 
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 Empirical1

  • Hero Member
  • *****
  • Posts: 884
    • View Profile
Yeah I like that paragraph. The only thing I think that helped me a bit too is actually looking at the numbers NXT and say Bitcoin currently earn from transaction fees.

With NXT I think they earn less than $8 000 a month from fees in total. http://87.230.14.1/nxt/nxt.cgi?action=40

I realised that doesn't buy a lot of decentralisation or pay for a lot of forging. On a $50 million CAP that's only like 0.2% interest a year less however many nodes they have running multiplied by the cost of running a node. Looking at that, it became obvious NXT can't be much more or hope to be much more decentralised than a 101 delegate system anyway. 
If they did there's hardly any money left over for forgers and definitely nothing to put towards other areas.
(& obviously having elected trusted delegates with limited control is much better anyway.)

Then I looked at Bitcoin and they're only getting $200k from fees per month, which would work out at $2K per delegate less expenses so if we want any money left over to do marketing/extra development via delegates even at Bitcoin's size it would be wasteful to have more delegates & we may end up having a few less.

Anyway yeah when I looked at some of the current numbers, it made more sense that the $ aren't there from transaction fees for loads of decentralisation. (Not that there's much/any value to being more decentralised anyway.) 

merockstar

  • Guest
I have definitely hit a writers block on this.

I'm staring at it, and reading people's input. so far I've ascertained three things that should be addressed:

- An example of how Peercoin and Nxt wouldn't be able to scale as currently implemented

- Explain how Ethereum's proof of chain (honestly, I don't even know what that is- is this relevant?) doesn't scale

- an example of what our costs will be and how they will scale (BM basically fed me that, so that one shouldn't be too hard but having trouble figuring out where to slide it in)




added this paragraph to try and cross out the last point:


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 16, 2014, 06:11:23 pm by merockstar »