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

0 Members and 1 Guest are viewing this topic.

Offline svk

Small typo in the second paragraph last sentence. "Recently Nxt added leased forging which allows one user do to delegate their forging power to another user." Is there a preferred way for suggesting changes?

You can do so on github at https://github.com/bytemaster/bytemaster.github.io, but @bytemaster isn't keeping up with his pull requests!
Worker: dev.bitsharesblocks

Offline lafona

  • Sr. Member
  • ****
  • Posts: 231
    • View Profile
  • BitShares: lafona
Small typo in the second paragraph last sentence. "Recently Nxt added leased forging which allows one user do to delegate their forging power to another user." Is there a preferred way for suggesting changes?
BTS Witnesses: delegate-1.lafona     Witness Thread: https://bitsharestalk.org/index.php/topic,21569.msg280911/topicseen.html#msg280911
MUSE Witness: lafona

Offline bytemaster

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 arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Bump.   I need to revisit this for my blog.

I think it would be great if your blog could address how consensus is ultimately a social process (not purely an algorithmic one) and how tools like DPOS help automate the consensus process, and related to that how nothing-at-stake and checkpoints aren't actually significant problems.

It seems many Bitcoiners are too hung up on the objectively pure consensus process that PoW provides despite its many obvious downsides. I think the way to approach the debate is to say that PoS (and DPOS as well, as it is a PoS system) makes the value judgment to give up the benefits/convenience of some of that objectivity for other benefits such as economic and environmental efficiency and easier long-term decentralization while still maintaining security and consensus that is more than good enough. I'm still having trouble figuring out how to best phrase these concepts.

Offline mint chocolate chip

Bump.   I need to revisit this for my blog.

Yup, it appears DPOS is still better than other POS.

Offline bytemaster

Bump.   I need to revisit this for my blog. 
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
Man, as delicious as that tip sounds, I think its time to concede that this topic is over my head.

I would like to formally invite anybody whose interested/capable to copy/paste/alter my work to try to bring this to completion, it seems like an important subject.

Offline bytemaster

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?

Yes delegates can produce any size blocks they like and the shareholders vote on delegates that apply reasonable limits for the changing market conditions.
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

Offline donkeypong

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

Offline Myshadow

  • Jr. Member
  • **
  • Posts: 49
    • View Profile
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 bytemaster

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
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 santaclause102

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

  • Hero Member
  • *****
  • Posts: 2606
    • View Profile
  • BitShares: clains
omg this is great!!  +5% +5%

such a crucial issue

Offline bytemaster

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 bytemaster

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

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

merockstar

  • Guest
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 :)

Offline bytemaster

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.

Offline liondani

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

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 bytemaster

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.

Offline santaclause102

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

merockstar

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

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.

Offline bytemaster

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.

merockstar

  • Guest
Appreciate the feedback. I will revise further, bust out the pinta, and see what I can come up with.

Offline bytemaster

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
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.

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 »

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Subscribing to this awesome discussion .. +5%

Offline Empirical1

  • Hero Member
  • *****
  • Posts: 884
    • View Profile
Quote
But in reality the validation costs per transaction are not fixed, they decrease as transactions increase -

I actually think economies of scale work slightly differently in this case:

1) Does the cost per GB of ram increase as you add more ram to a system?   Eventually speed of light, mother board size, etc results in moving to higher-end, lower volume, components and thus a higher price due to their speciality / bleeding edge nature.    As the system hits the limits of network, CPU, and memory technology prices go up for each additional transaction.

2) Transaction Processing is sequential by nature

With this in mind I think it is fair to assume that a fixed validation cost is fair.

 +5% Thanks. I can't think of any advantage to having 1000 delegates vs. 100 besides the 'idea' of more decentralisation anyway, (But lots of other new disadvantages.)

Offline bytemaster

this is tough subject matter to translate into noobspeak.

be back soon with another draft, keep the input coming if you got it.

Be sure to point out how this applies to Proof of Work systems... especiall Proof-of-Chain like ethereum is doing.   We can then post a blog article and pump it on Reddit and draw a huge debate.
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

Quote
But in reality the validation costs per transaction are not fixed, they decrease as transactions increase -

I actually think economies of scale work slightly differently in this case:

1) Does the cost per GB of ram increase as you add more ram to a system?   Eventually speed of light, mother board size, etc results in moving to higher-end, lower volume, components and thus a higher price due to their speciality / bleeding edge nature.    As the system hits the limits of network, CPU, and memory technology prices go up for each additional transaction.

2) Transaction Processing is sequential by nature

With this in mind I think it is fair to assume that a fixed validation cost is fair.
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
this is tough subject matter to translate into noobspeak.

be back soon with another draft, keep the input coming if you got it.

Offline Empirical1

  • Hero Member
  • *****
  • Posts: 884
    • View Profile
it feels lacking.

what points am I missing guys?


It's good. As you say people are short term focused until it becomes an issue. (Edit: So I mean most of the above isn't a huge selling point yet.)

What it could be missing -

Even now isn't DPOS able to offer meaningfully lower transaction fees than most other systems?

At the moment the chart here says variable* http://wiki.bitshares.org/index.php/Why_choose_Bitshares%3F
& links to an explanation of 'burn rate'. Unfortunately that gives me no way to make a $ comparison.

Originally my understanding was that we could already easily be 10x cheaper than the $0.05 or $0.06 you pay in NXT and mostly pay in Bitcoin.

If my understanding is correct then the financial advantage of our system will have a big impact in applications like tipping or content purchase from the outset. (If you tip someone $0.2 or want to read a publication/article for $0.2 paying a 25% fee of $0.05 via NXT/BTC is pretty steep, if we are 10x cheaper then DPOS could dominate the micropayments area from the outset.)

The cost of running nodes in our system:  $100 / month * 101 delegates =>  $10,100 / month in operating costs.   Delegates will need to earn that from transaction fees.  At 1 transaction per second that will require fees of $0.004.    At 0.25 trx per second (one trx every 4 seconds) it will require $0.02 per transaction to cover costs.

As the network grows the costs grow non-linearly as you go from commodity hardware to high-end hardware.     I suspect that at the end of the day we will likely have fees of about $0.05 like the other networks.    Unfortunately, for the other networks, their fees are expected to be shared with those leasing forging power (Nxt) or only those with greater than 1% of the stake (Peercoin). 

We will likely target fees high enough to prevent spam and abuse but allow legitimate use.   Starting out with a fee of $0.02 will probably be sufficient once the market cap grows the fee will grow with it to $0.05-$0.10 and make being a delegate profitable and thus pay for the OTHER THINGS delegates should be doing. 

I think the article is very good, but could probably use some examples that visually show that Peercoin will centralize to less than 100 people and that Nxt forgers will not be able to pay those that lease them forging power.

 +5% Thanks for the explanation.

I might have misunderstood it, but this is where I'm at now, the article assumes that validation costs are fixed

Quote
Assuming a fixed validation cost per transaction and a fixed fee per transaction, there is a limit to the amount of decentralization that can take place. 

But in reality the validation costs per transaction are not fixed, they decrease as transactions increase -

Quote
The cost of running nodes in our system:  $100 / month * 101 delegates =>  $10,100 / month in operating costs.   Delegates will need to earn that from transaction fees.  At 1 transaction per second that will require fees of $0.004.    At 0.25 trx per second (one trx every 4 seconds) it will require $0.02 per transaction to cover costs.

So doesn't this mean that over time as the amount of transactions increase,  the transaction fee needed from each transaction for a delegate to BE will get lower and lower, getting to a point where the difference in transaction fee required between a 100 delegate system and a 1000 delegate system will become unnoticeable? ($0.0001 vs. $0.00001)

A 100 delegate system could charge the same fee but take the running costs and profits that would have gone to the 900 other delegates and return those to shareholders/benefit the business but again once the BE transaction fee gets really low &/CAP gets high, the interest rate this represents to shareholders will be negligible.






Offline bytemaster

Quote
Blockchain-based Mining
We have not finalized the details of this, but Ethereum will likely use something similar to the following for its mining algorithm:

1. Let H = sha3(sha3(block header without nonce) ++ nonce ++ i) for i in [0 ...16]

2. Let N be the number of transactions in the block.

3. Let T be the (H mod N)th transaction in the block.

4. Let S be the parent block state.

5. Apply T[0] … T[15] to S, and let the resulting state be S’.

6. Let x = sha3(S’.root)

7. The block is valid if x * difficulty <= 2^256

This has the following properties:

1. This is extremely memory-hard, even more so than Dagger, since mining effectively requires access to the entire blockchain. However it is parallelizable with shared disk space, so it will likely be GPU-dominated, not CPU-dominated as Dagger originally hoped to be.

2. It is memory-easy to verify, since a proof of validity consists of only the relatively small subset of Patricia nodes that are used while processing T[0] … T[15]

3. All miners essentially have to be full nodes; asking the network for block data for every nonce is prohibitively slow. Thus there will be a larger number of full nodes in Ethereum than in Bitcoin.

4. As a result of (3), one of the major motivations to use centralized mining pools, the fact that they allow miners to operate without downloading the entire blockchain, is nullified. The other main reason to use mining pools, the fact that they even out the payout rate, can be assomplished just as easily with the decentralized p2pool (which we will likely end up supporting with development resources)

5. ASICs for this mining algorithm are simultaneously ASICs for transaction processing, so Ethereum ASICs will help solve the scalability problem.

From here, there is only really one optimization that can be made: figuring out some way to get past the obstacle that every full node must process every transaction. This is a hard problem; a truly scalable and effective solution will take a while to develop. However, this is a strong start, and may even end up as one of the key ingredients to a final solution.

In effect Ethereum is forcing all miners to bear the cost of a full node.... the number of full nodes will thus be proportional to expected fees / dilution.   

https://blog.ethereum.org/2014/02/18/ethereum-scalability-and-decentralization-updates/

Quote
5. ASICs for this mining algorithm are simultaneously ASICs for transaction processing, so Ethereum ASICs will help solve the scalability problem.

So in addition to using Ghost / Randomness in an attempt to get up to 12 second blocks (ie: processing a lot of orphaned blocks) only those able to run a full node can mine and thus negating the decentralization aspect of it.   

Economics really is the key to everything.

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

I think the focus of this article isn't "short term", but more of the long-term.... in the short term they are all "equal" in the long term ours has the best chance of controlling 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

it feels lacking.

what points am I missing guys?


It's good. As you say people are short term focused until it becomes an issue. (Edit: So I mean most of the above isn't a huge selling point yet.)

What it could be missing -

Even now isn't DPOS able to offer meaningfully lower transaction fees than most other systems?

At the moment the chart here says variable* http://wiki.bitshares.org/index.php/Why_choose_Bitshares%3F
& links to an explanation of 'burn rate'. Unfortunately that gives me no way to make a $ comparison.

Originally my understanding was that we could already easily be 10x cheaper than the $0.05 or $0.06 you pay in NXT and mostly pay in Bitcoin.

If my understanding is correct then the financial advantage of our system will have a big impact in applications like tipping or content purchase from the outset. (If you tip someone $0.2 or want to read a publication/article for $0.2 paying a 25% fee of $0.05 via NXT/BTC is pretty steep, if we are 10x cheaper then DPOS could dominate the micropayments area from the outset.)

The cost of running nodes in our system:  $100 / month * 101 delegates =>  $10,100 / month in operating costs.   Delegates will need to earn that from transaction fees.  At 1 transaction per second that will require fees of $0.004.    At 0.25 trx per second (one trx every 4 seconds) it will require $0.02 per transaction to cover costs.

As the network grows the costs grow non-linearly as you go from commodity hardware to high-end hardware.     I suspect that at the end of the day we will likely have fees of about $0.05 like the other networks.    Unfortunately, for the other networks, their fees are expected to be shared with those leasing forging power (Nxt) or only those with greater than 1% of the stake (Peercoin). 

We will likely target fees high enough to prevent spam and abuse but allow legitimate use.   Starting out with a fee of $0.02 will probably be sufficient once the market cap grows the fee will grow with it to $0.05-$0.10 and make being a delegate profitable and thus pay for the OTHER THINGS delegates should be doing. 

I think the article is very good, but could probably use some examples that visually show that Peercoin will centralize to less than 100 people and that Nxt forgers will not be able to pay those that lease them forging power.   

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
it feels lacking.

what points am I missing guys?


It's good. As you say people are short term focused until it becomes an issue. (Edit: So I mean most of the above isn't a huge selling point yet.)

What it could be missing -

Even now isn't DPOS able to offer meaningfully lower transaction fees than most other systems?

At the moment the chart here says variable* http://wiki.bitshares.org/index.php/Why_choose_Bitshares%3F
& links to an explanation of 'burn rate'. Unfortunately that gives me no way to make a $ comparison.

Originally my understanding was that we could already easily be 10x cheaper than the $0.05 or $0.06 you pay in NXT and mostly pay in Bitcoin.

If my understanding is correct then the financial advantage of our system will have a big impact in applications like tipping or content purchase from the outset. (If you tip someone $0.2 or want to read a publication/article for $0.2 paying a 25% fee of $0.05 via NXT/BTC is pretty steep, if we are 10x cheaper then DPOS could dominate the micropayments area from the outset.)

+5% will add that stuff

Offline Empirical1

  • Hero Member
  • *****
  • Posts: 884
    • View Profile
it feels lacking.

what points am I missing guys?


It's good. As you say people are short term focused until it becomes an issue. (Edit: So I mean most of the above isn't a huge selling point yet.)

What it could be missing -

Even now isn't DPOS able to offer meaningfully lower transaction fees than most other systems?

At the moment the chart here says variable* http://wiki.bitshares.org/index.php/Why_choose_Bitshares%3F
& links to an explanation of 'burn rate'. Unfortunately that gives me no way to make a $ comparison.

Originally my understanding was that we could already easily be 10x cheaper than the $0.05 or $0.06 you pay in NXT and mostly pay in Bitcoin.

If my understanding is correct then the financial advantage of our system will have a big impact in applications like tipping or content purchase from the outset. (If you tip someone $0.2 or want to read a publication/article for $0.2 paying a 25% fee of $0.05 via NXT/BTC is pretty steep, if we are 10x cheaper then DPOS could dominate the micropayments area from the outset.)
« Last Edit: July 13, 2014, 04:14:47 pm by Empirical1 »

merockstar

  • Guest
it feels lacking.

what points am I missing guys?



first 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 1/10000 of the number of transactions as a major credit card company, it doesn't cost that much to validate transactions, 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.

The only option is centralization, which occurs naturally in both of these schemes over time because as it becomes more expensive to validate the network the only people doing it will be those with enough money to make the returns from validating the network profitable.

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.

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit

Green is Income   Yellow is Profit  Blue is Cost

Assuming a fixed validation cost per transaction and a fixed fee per transaction, there is a limit to the amount of decentralization that can take place. 

Assuming the validation cost exactly equals the fee a network is completely centralized and can only afford one validator.
Assuming the fee is 100x the cost of validation then the network can support 100 validators.

What you will quickly see is that systems like Nxt and Peercoin must have very excessive fees if they would like to maintain the illusion that everyone can be a validator and earn fees at scale.    What this means for Nxt / Peercoin is that anyone with less than 1% stake cannot validate profitably unless their fees are higher than our DPOS chain. 

So if these chains assume 100 is to centralized and start promoting they have 1000 validators then their fees must be 10x.  If they grew to be the size of bitcoin ($10 B) then only those with $1M worth of coin could validate profitably and most would consider that an elite club.    If they reduce the minimum stake to be a validator to $1000, then their fees would be 10,000 times higher than our fees.   

Now we assume that every one with less than the amount required to validate doesn't participate and we assume a "reasonable" distribution of wealth, you will quickly see that unless they have insane fees, there will only be a handful of people with enough stake to validate profitably. 

What we can conclude from this is that the only way for POS to work is to delegate it.  In the case of Nxt they can pool their stake by some means and ultimately this will end up like DPOS prior to approval voting with a variable number of delegates.   Those doing the delegating wouldn't actually receive any income like you see with mining pools because the validation expenses will be consuming the vast majority of the transaction fees.

End result is that decentralization has a cost proportional to the number of validators and that costs do not disappear.  At scale these costs will centralize any system that does not support delegation.   We should design this kind of centralization in from the beginning so that it can be properly managed and controlled by the users instead of evolving in some adhoc manner as an unintended consequence.

 
+5%
This is excellent. We need more of these charts and graphs because that is what ultimately convinces investors.

I have to admit your arguments are very convincing. 
« Last Edit: July 13, 2014, 03:27:11 am by luckybit »
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline gyhy

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

merockstar

  • Guest
abscissa?

because the cost is always the same, but more transactions keep getting loaded into it as the coin grows in popularity (right?)

Offline 天籁

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

merockstar

  • Guest
ooooooooh ok it just clicked for me.

thanks bm

Offline bytemaster

This is going to sound incredibly stupid, but I think what I'm having trouble with is wrapping my head around the definition of "validation cost."

Could you define that for me? When I think validation cost, I think (in a proof of work scheme) the cost of the resources expended to validate the network. In the case of PoW that means electricity and mining hardware.

Is that correct?

If so, then the validation cost in a PoS network would just be the electricity the server takes to run a node? no?

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.   
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
This is going to sound incredibly stupid, but I think what I'm having trouble with is wrapping my head around the definition of "validation cost."

Could you define that for me? When I think validation cost, I think (in a proof of work scheme) the cost of the resources expended to validate the network. In the case of PoW that means electricity and mining hardware.

Is that correct?

If so, then the validation cost in a PoS network would just be the electricity the server takes to run a node? no?

Offline bytemaster

Does this actually apply to peercoin? Transaction fees in Peercoin are destroyed and stake rewards are pure inflation (somewhat balanced by the destroyed tx fees) set at ~1%

in peercoin, if people don't spend enough the supply gets diluted and the value of everybodies peercoin goes down, encouraging spending. Then when everybody is spending more tx fees are being destroyed which increases the value of everybodies peercoin, encouraging them to hold and establishing an equilibrium.

if I'm understanding this correctly, this argument relies on tx fees being redistributed (which is the case in nxt)

This is pure economics.  The only thing that peercoin does is transfer the costs from those making transactions to all shareholders.   You still have a constant cost-per-validator.

I would guess that peercoin at least has a means of paying for it until the block reward falls below the fixed validation costs.   It will eventually get to the point where you must produce X% of the blocks to cover validation costs (as the system scales).

The challenge is that most of these issues are only a big issue at scale. 
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
Does this actually apply to peercoin? Transaction fees in Peercoin are destroyed and stake rewards are pure inflation (somewhat balanced by the destroyed tx fees) set at ~1%

in peercoin, if people don't spend enough the supply gets diluted and the value of everybodies peercoin goes down, encouraging spending. Then when everybody is spending more tx fees are being destroyed which increases the value of everybodies peercoin, encouraging them to hold and establishing an equilibrium.

if I'm understanding this correctly, this argument relies on tx fees being redistributed (which is the case in nxt)
« Last Edit: July 12, 2014, 02:16:59 pm by merockstar »

Offline Jack

  • Newbie
  • *
  • Posts: 4
    • View Profile
微博主页http://weibo.com/248742737
优酷主页http://i.youku.com/bitshares

Offline bytemaster


Green is Income   Yellow is Profit  Blue is Cost

Assuming a fixed validation cost per transaction and a fixed fee per transaction, there is a limit to the amount of decentralization that can take place. 

Assuming the validation cost exactly equals the fee a network is completely centralized and can only afford one validator.
Assuming the fee is 100x the cost of validation then the network can support 100 validators.

What you will quickly see is that systems like Nxt and Peercoin must have very excessive fees if they would like to maintain the illusion that everyone can be a validator and earn fees at scale.    What this means for Nxt / Peercoin is that anyone with less than 1% stake cannot validate profitably unless their fees are higher than our DPOS chain. 

So if these chains assume 100 is to centralized and start promoting they have 1000 validators then their fees must be 10x.  If they grew to be the size of bitcoin ($10 B) then only those with $1M worth of coin could validate profitably and most would consider that an elite club.    If they reduce the minimum stake to be a validator to $1000, then their fees would be 10,000 times higher than our fees.   

Now we assume that every one with less than the amount required to validate doesn't participate and we assume a "reasonable" distribution of wealth, you will quickly see that unless they have insane fees, there will only be a handful of people with enough stake to validate profitably. 

What we can conclude from this is that the only way for POS to work is to delegate it.  In the case of Nxt they can pool their stake by some means and ultimately this will end up like DPOS prior to approval voting with a variable number of delegates.   Those doing the delegating wouldn't actually receive any income like you see with mining pools because the validation expenses will be consuming the vast majority of the transaction fees.

End result is that decentralization has a cost proportional to the number of validators and that costs do not disappear.  At scale these costs will centralize any system that does not support delegation.   We should design this kind of centralization in from the beginning so that it can be properly managed and controlled by the users instead of evolving in some adhoc manner as an unintended consequence.

 
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.