Post
Topic
Board Altcoin Discussion
Re: More BitShares greed.
by
bytemaster
on 13/01/2015, 20:21:04 UTC
Today I saw http://bytemaster.bitshares.org/article/2015/01/13/Decentralization-of-Nxt-vs-BitShares/ and became interested by the title enough to spend some time on reading. The article is related to http://bytemaster.bitshares.org/article/2015/01/07/The-Most-Decentralized-Proof-of-Stake-System/ and the both analyze the same phenomenon (decentralization), so I will treat them as a single article.

I'd like to comment some things mentioned in the articles.


Quote
Today the numbers are in for Nxt with data from their very own block explorer. These numbers show that 60% of all blocks are produced by just 15 people.

I believe "people" means "accounts", we don't know how many people behind these accounts. There can be only 4 of them, or 400 (yes, one of the accounts can be controlled by a company which has its own hierarchy).

This is a fair assessment and I have updated the blog post to reflect accounts vs. people.  I chose to be generous by calling them people because I didn't want to bring up the potential for sybil attacks to skew the apparent decentralization of Nxt.  For all intents and purposes an account is a single private key controlled by some individual.  Nxt may be more centralized, but not less than the accounts indicate.

Quote
...I found enough block producers that were above 1% and less than 2% that I can safely conclude that after 720 blocks less than 101 unique block signers have confirmed the block.

I see a reference to the 101 delegates. I'd like to point that 101 is not a big number, someone could successfully control 10 such delegates or 20 delegates could collude. I can safely bet that the 101 delegates distribution follows Pareto's Principle that states that "80 delegates are controlled by 20 entities" (numbers may vary). The point of "101 is not a big number" is that order of magnitude of this number (let's write it as 99 + 2) is roughly the same as deviation caused by external factors. When a measured value has the same order of magnitude as errors of measurement scientists trash such measurements. The comparison of number of forgers and number of delegates in a 720-block window doesn't make sense to me because of this very reason.

I think this assessment is quite false.  On what grounds do you bet the 80/20 for delegates?   Each delegate is like a senator and the voters (share holders) have financial incentive to verify their uniqueness.  Delegates are (or will be) public.    At the moment we do have several people who run multiple delegates, but I can safely say that we do not have 20 entities with more than 4 delegates each.   I can also safely say that if BitShares were to get to the size of Bitcoin that no individual or organization would control more than 1 delegate.   There would be no need and the demand/competition to be elected would insure that is the case.   


Quote
What is even more interesting is the overall speed of the network. The Nxt blockchain aims for 1 minute blocks, but on average gets only one block every two minutes. You can see this on their blocks-per-day chart.

It's a long story why we have 2-minute blocks now, it doesn't influence distribution of forgers among forged blocks though and should be discarded.


It impacts the speed of decentralization and thus the viability of your order book.  The more unique individuals that sign off on a block the more secure / confirmed your transaction is and the less likely it is to be reversed.  Ignoring the speed of decentralization impacts markets.



Quote
Our delegates are far more reliable with near 100% participation compared to Nxt forgers at about 50% participation.

A number would be much better. One could argue that it's not "far more" but rather "a little bit more".


Numbers can be found on bitsharesblocks.com which is currently reporting 100% and was reporting 100% when I wrote the article.  Sometimes a delegate will miss a block and the rate can fall lower in the event of a software bug.  High reliability is the normal state.



Quote
For Nxt to have a block confirmed by 101 unique individuals would require 7 hours best case.

This is an incorrect statement. Block generation and block confirmation are different things. All nodes confirm every single block indirectly by agreeing to propagate it over the network. All merchants confirm every single block indirectly by accepting money sent to them recently. All users confirm every single block indirectly by including the reference to a block generated 20 minutes back in their transactions.

It is true that all crypto currencies propagate and validate blocks at every node.  Even BitShares has 1000's of full nodes all validating every block.   Lets not mix apples and oranges.  What matters for consensus and potential for forking is not whether or not a block is "valid", but whether or not it is part of the consensus set which is only voted upon by block producers.     


Quote
If BitShares were to lose 50% of its delegates all at once due to a government crackdown the remaining 50 delegates would still be producing a more secure, decentralized, and distributed ledger with greater decentralization per minute than every other blockchain on the market.

I see a violation of CAP theorem there (if BitShares are decentralized). How do you know that a blockchain generated by remaining 50 delegates is legit while a blockchain generated by other 50 delegates is not?

Well for starters, there are 101 to make it odd, so it can never be evenly split.  In this case I was mentioning the situation where the delegates simply disappear, not where they start producing an alternative chain.  With delegates spread out over many countries it is unlikely that a government would take over a delegate and intentionally produce a fork.  More likely they would just shut the delegate down.  If 51+ delegates had their keys compromised by the government then the stakeholders would be able to detect it by their public misbehavior and vote in a new set.   It would be a temporary disruption but not fatal to the consensus process.   


Quote
For the sake of this article, I am going to define decentralization as the total number of unique individuals participating in the validation process such that no one individual is responsible for a disproportionate amount of blocks.

You have the right to define decentralization in such the way, but practical usefulness of this definition is quite low. It assumes that all individuals are equal in their power and their intentions to save the current state of things. One person who is able to protect blockchain against a reorg is more valuable than 100 others who are unable to do it.

Now you are arguing the benefits of centralization.  This is where 101 TRUSTED and VETTED individuals are much better than 101 anonymous and UNVETTED individuals like you have in all other Proof of Stake systems.


Quote
If you want to have a million users participate in the consensus process then you will require a million computers all connected to the internet and consuming bandwidth.

No, we will not. Imagine that one of the nodes is a computer controlled by 1000 people (a company). In Nxt users without computers take part in the consensus too, via Economic Clustering (though it's almost not used now).

Yes you are correct, Nxt has leased forging which has similar centralization behavior as delegated proof of stake.   By this measure you would have to count the number of individuals voting for 101 delegates, not the 101 delegates themselves.   It was my argument that mining pools and leased forging will tend to cluster around fewer than 101 entities which could be compromised.


Quote
Each additional validator provides less and less value to the network despite costing the network the same.

It's true only for a system with a bad architecture. O(N) should be replaced by O(log N). I'm almost sure that Bitcoin, BitShares and Nxt networks are all follow O(log N) because nodes send packets to a fixed number of peers.

  All blockchains are O(N) on transaction validation time.  The network bandwidth grows M*O(N) where N is the number of transactions and M is the number of peers per node.  Each validator needs to be compensated for M*O(N) work and thus costs to the network as a whole grow at O(N) the number of validators.   


Quote
To cover operating expenses a crypto currency network must charge transaction fees.

Why? If usage of a cryptocurrency network generates extra profit itself then fees can be as small as it's enough for fighting spam. Hashcash could be used to remove fees completely.

  Someone has to be paid to validate blocks and run the network.  How they get paid and who pays them is something else entirely.  I suggest that a system is not sustainable unless income from some source is greater than what is paid to block validators which is greater than the cost of validation.   How does a network generate extra profit itself (aside from appreciation) without fees.  If appreciation is how it accumulates value, then it would require dilution to pay fees.  If you expect some users to subsidize others then that is a group trap and depends upon charity, especially a scale.   


Quote
These early proof of stake systems claim that they have greater decentralization than BitShares.

These systems can claim nothing. Only some of their users can.

  True, I will correct this to state that only some users of these systems claim that. 

I skipped the rest of the article because there are already so much disagreements that the rest of the math from the article is worthless.


PS: It would be great to see comments on comments...