Response to Vitalik Buterin on EOS

in #eos7 years ago (edited)

Vitalik Buterin recently took a question about EOS at the Ethereum Shenzhen Keynote. Today I would like to provide some factual corrections to his claims about EOS. I will do this by addressing each of his points one at a time.

At 8:20 minutes into the above video Vitalik Buteran says:

The reason why EOS says that they can process more transactions comes from two sources. One of them is there are a lot of protocol features that Ethereum has EOS doesn’t have. One of them, for example, was merkle trees. So this if you want to prove anything about a transaction then anyone in the network can prove it. And you actually don’t need that much computing power to prove that the state of that account is some number and that the transaction was included. EOS does not have this.

EOS does have a merkle tree over all the transactions within a block. This means it is possible to prove you have been paid without having to process all blocks nor trust the full nodes. In fact, these proofs are smaller than ETH because light nodes don’t even require the full history of block headers.

I have previously addressed the issue of generating Merkle Tree’s over state in my blog post titled Blockchain State Representation should be Abstract and not part of Consensus. I have also made the analogy that Blockchain state is like Schrödiger’s cat, you can never actually observe it or prove anything about it except by opening the box to find out if the cat is dead or alive. More specifically, while you can prove what the state was 1 minute ago (when you last opened the box), you cannot prove what the state is right now. At any time a transaction could mutate that state and it will no longer be the same as when you read it. The only exception is the use of “time locks” that assert the state cannot be modified for some time. Heavy use of time locks will crush performance and is of limited application.

What this means is that if you are participating in the EOS network and you do not have a full node, that means a node that is processing all of the transactions. Then that means you have to trust the full nodes. That there is no way to verify for yourself that everything is happening correctly.

EOS is designed to allow nodes that validate partial state. This means that not all nodes need to run every contract. This in turn means it is possible to know the state of the applications and contracts you care about without having a highly resource demanding full node. Second, light clients can prove what actions users took (transactions), therefore, they can prove payment. Third, if a proof is really necessary they can broadcast a transaction that will assert the state they care about. If you cannot find multiple independent sources of blockchain truth that you can cross reference then you have bigger problems. Finally, everyone in the EOS ecosystem is contractually bound by a constitution and if the API nodes lie about blockchain state there will be cryptographic evidence of their lie and they can be held accountable for damages.

In Ethereum you have to trust the light clients are validating proofs and syncing from the proper blockchain. The merkle proofs you do generate about state are quickly dated and irrelevant.

Attacking DPOS

Next Vitalik goes on to attack Delegated Proof of Stake.

The number of full nodes in EOS is going to be smaller. So Dan Larimer has this concept called DPOS where he says that in DPOS you only need about 100 nodes in the network and consensus happens among these full nodes and everyone else is a thin client. The other reason it (EOS) claims it can process more transactions is because the requirements (bandwidth, computing) for each of these full nodes is much higher. This is one way to achieve scalability.

The problem is that if you have 100 nodes the system is much more centralized. You can denial of service them. Because you have to vote for them, the nodes that win are going to be the nodes that everyone knows. So it is much easier to attack the people running the nodes. ISPs can shut them down, companies can shut them down, governments can shut it down fairly easily. That particular path to scalability does come at a fairly high cost and that cost is that if you try to achieve scalability by having larger nodes then the number of nodes becomes much smaller is that that makes the system more centralized.

His basic argument is that there are fewer full nodes and that they are easily identified and can be shut down by governments. He goes on to say that achieving scalability by having larger nodes makes the system more centralized. This of course demands a comparison, “more centralized than what”.

Here is the distribution of block producing nodes on Ethereum. As you can see two pools control 51% of the hash power and can trivially ignore blocks produced by all the other pools.

The next fact is that for all practical purposes ETH full nodes are already too resource intensive for the vast majority. On top of that almost all light clients don’t even bother with the merkle proofs that Vitalik claims are so valuable.

The fact of the matter is that when it comes to block producers, Ethereum and every other protocol is far more centralized than the DPOS blockchains; especially when you use meaningful definitions of centralization (such as number of unique producers per transaction confirmation window).

The Black Market

Vitalik’s final point is that DPOS can be shut down far more easily by governments, ISPs, and corporations. This point is built on top a foundation of false assumptions regarding decentralization that I have already proven above. The fact of the matter is that Ethereum and Bitcoin have already suffered denial of service attacks where as Steem and BitShares have not despite attempts to flood the network. As the pie chart above demonstrates, it would be trivial to cripple Ethereum’s network by taking out 90% of the hash power with 7 nodes.

The elephant in the room is that all of these public blockchains rely upon a peer-to-peer discovery process. Governments and ISPs around the world know exactly where every Ethereum node is and can trivially shutdown any and all public endpoints.

We have already established that Etheruem full nodes are too impractical at today’s scale. This means that real applications will be relying upon public API endpoints. The recent EOS Token Distribution application was sufficiently demanding to shut down all available public API endpoints.

The threat of government shutdown is based primarily on an assumption of illegal activity. We believe that there is a blue ocean of opportunities for legal blockchain applications that do not need to worry about a coordinated international effort to shut them down. Block producers and API endpoints can be setup in the most free jurisdictions

Conclusion

EOS is designed around far more realistic assumptions and logic and achieves scalability by avoiding the dogmatic fallacies promoted by Bitcoin and Ethereum maximalists. I have shown time and again that DPOS is more decentralized in practice by any real measure of decentralization. I have also shown that there are more options for light clients and that Vitalik’s claims of government resistance ignore fundamental properties and vulnerabilities of any public blockchain.

For those interested in the topic of decentralization you should read these blog posts of mine:

Sort:  

This is my sense as well - the points VB brought against EOS were trivial and have been addressed in the design of EOS. Considering how centralized Ethereum is vs Bitshares/Steem the DPOS slam is comical. Eth is complete garbage if your measuring stick is decentralization.

The fact of the matter is, in the 'real world', Bitshares and Steem are doing way, way better than Eth. We have every reason to expect EOS will perform the same or better, which means Eth is dead in about 12 months.

Im on this boat

great enough said bro

Yo thats what I'm saying brah! wayasayin

4 months left...............

Not really, if you watched the whole video he mentions that there will be plenty of room for all sorts of different decentralized models.

His critique isn't really "an attack" like Dan says, he just points out the difference in how the protocol is structured. I think dan makes a good point about ETH nodes in it's current state, but also ignores that each pool is made of hundreds if not thousands of potential nodes. All that being said ETH moves towards POS it will be way more decentralized than DPOS as far as a node structure.

All that being said ETH moves towards POS it will be way more decentralized than DPOS as far as a node structure.

I never understood this thought process. ETH's proposed POS consensus by definition is way more centralized than it's current POW algorithm

Haha yeah, obviously I respect and like the guy but one can't really argue he doesn't have bias due to his PoS

yes, it appears so!

Dan and Vitalik is like Steve and Bill in 80s. Two great minds taking building future each in own way. We are tremendously lucky to have you both.

well put @cron

Agreed! The beauty is we get to watch their bickering/debating live and in the company of steemians

The future is right around the corner guys, we made it

Audience member to Vitalik "you are centralised.." ha!

Bang me please upvote my posting one only. Already tired my posting dolarnya very not increased. I implore very, my family is hungry please upvote every post me Mr @dan

What % of Steem holders, by number, have ever voted for a witness?

Also I posted your response to Vitalik's written post to facilitate.

I'm actually curious about this... maybe I'll write some code to run through accounts and see who is voting (or has a proxy voter) and who isn't along with their VEST weight. Might be quite an interesting stat indeed.

Yeah, I bring it up because I didn't even know how to for a few months and I'm probably in the top 10% of most tech sophisticated of Steemians if not much higher. Voter apathy is a big deal and we saw it in TheDAO too, and everything blockchain related. We're going to see bigtime in Tezos, and then when everyone delegates their votes to a few people, it will be highly centralized in a sticky way, more so than the typical ways that blockchains get centralized (limited clients, limited dev teams, thought leaders, etc). That's my fear at least.

Steem is so badly distributed that there's no really a reason to vote for +80% of the accounts. I'd like to see comparison of how well ETH is distributed compared to Steem.

My understanding is that all major cryptos are pretty close wrt gini coefficients but that looks at addresses, not actual people. None of them are that spread out, nor would it make sense if they are given how new this all is and how little the normal world cares about it.

They are all less well distributed than USD.

Bitcoin Ethereum and cryptocurrency gini coefficient numbers with no sources. . But I know him well enough to trust him

I wrote some code a couple months ago which shouldn't be too hard to modify a bit and then run through each account. If today wasn't Monday, I'd be on it right now. Silly work, keeping me busy from life. :) Maybe I'll take a half-day today with all the crypto drama going on.

Here's the answer I came up with:

We Have 7.5% Witness Voting Engagement.

Inactive Accounts: 178,339
Active Accounts with a Voting Proxy: 652
Active Accounts with at Least One Witness Vote: 7,233
Active Accounts with No Witness Votes: 105,076

You can see more details on this post, along with the top 100 active accounts by VEST who aren't yet voting for a witness.

Matches my expectations. Great work as always by you.

I find it quite surprising that @dan can make a comment on Steemit and get only 7 up votes and 0 comments. It seems that there would be hundreds of people wanting attention or to give thanks to the "creator" of Steemit or spammers looking for up votes/follows.....17 hours and not one comment....

I may not know what exactly this means, but it seems logical that either not many people are even reading many comments or comments down this far in the thread to realize @dan commented, or not noticing that he did.

Its also quite likely that because there are SO many NEW users that the majority of them don't even recognize who " @dan " really is?

Of course there are infinite possibilities. Yet it seems strange nonetheless.

I will also be interested to see how many people view this post, as it seems like every active user should at least check it out, if not read the whole thing and all comments. This is a very important topic/post from a very influential being.

It's so interesting to observe the interactions and choices of the masses.

Thanks for posting your DIRECT responses to statements made, here on Steemit and putting your words on the blockchain. I feel like I trust you, and that is very comforting.

I agree with you, but only because I think I see it more from your view. Stepping back, things are probably exactly as they should with votes and views if you look at the variety in user base of Steemit and how some Grandmother is on this site replacing her Facebook posts and doesn't know a crypto other than that one that hosted that one scary HBO show back in the day, I don't subscribe to that evil cable television so I don't know it's name for sure.

Yes, the free market always finds equilibrium and woks things out.
I have faith that this community will continue to fine tune and hone balance~*~

We can only measure that by accounts or by stake, not by individual persons. I guess those could probably be answered by a SELECT COUNT() query on SteemSQL.

I just voted for witness's the other day.. check my history :D

I'm impressed with the clarity and rationality you have responding to very intelligent people saying clearly ignorant (or at worse, purposefully false) statements. I hope this information spreads to get around all the FUD. Congrats on the token distribution so far. As I noted in my last EOS post, it may end up being the most widely distributed ICO ever, and you all appear to be hitting your goals nicely.

Thank You Dan & Luke, I trust You both & have watched most, if not all of the videos with Dan.

I'm hoping someday that Dan may meet www.EllenBrown.com , she is one of the smartest people I know regarding Banking AND actually offers SOLUTIONS for Central Banks/Fractional Reserve Banks... obviously she is not a program coder, but she could well offer some guidance regarding governance.

Her book www.WebOfDebt.com is outstanding...

She's a lawyer by training & one of the more polite people You might meet.

BIG Kudos to Both You & Dan... Cheers !!

Charles Hoskinson, of IOHK and ETC and every single blockchain conference that will allow him to speak, stepped into the fray:

Dan's been making these kinds of unqualified statements for years with little tech or reason behind them. There is no formalism to his work nor any justification to his claims.

Raw performance without explaining what TPS means (not all transactions are created equally). No mention of what these numbers would mean from a network topology and Blockchain size viewpoint. Just 200 million dollars on forked code from bitshares and steem and a lot of promises.

I'd honestly ignore it until there is something worthwhile to talk about.

Dan's been making these kinds of unqualified statements for years with little tech or reason behind them. There is no formalism to his work nor any justification to his claims.

Huh? "little tech or reason behind them"? That's... so confusing to me. How is BitShares and Steem, two of the most performant blockchains in existence today by volume "little tech"? How are these not active justifications for his claims about DPOS?

Maybe I'm just not smart enough to understand the criticisms, but on the surface they seem ridiculous to me. Please help me see what I'm missing.

I don't trust Charles Hoskinson even a little because he is a snake-oil salesman and a self-promoter and a little unstable and he mainly wants to engage to pimp his own brand.

But he did work on Bitshares in the early days, he does have connection to a POS researcher out of Edinburgh, he was briefly involved in Ethereum before the crowdsale (he got fired for being shady or unreliable ), and he does insert himself into these things, when he isn't speaking at every and any conference that will give him airtime.

He does not seem like a self promoter to me. Every time I've seen someone ask him to speculate on the price of say, Cardano he has declined giving the reason that he's no good at price predictions. He's a great advocate of decentralization and I think we should be supporting him.

This is just the typically dismissive attitude of a complacent incumbent. It's more about psychology than the actual reasoning behind it.

Maybe, and maybe I'm falling for the same trap being a fan of DPOS / Bitshares / Steemit because I'm a member here and enjoy these technologies very much. That could be it, but we're also talking about code here. Code is law. To me, this is one of the few areas where we can actually have rational discussions (math is another one). The evidence is right there for anyone to see. Maybe they just aren't aware of the number of transactions and performance of graphene/DPOS systems? I dunno. Psychological explanations are one thing, but ignoring facts about systems which exist today seems to take it to a whole different level.

To claim DPOS has centralization problems when the exact opposite is true and very real concerns exist with ETH / BTC mining farms, it just seems beyond irrational to me. Again though, maybe I'm missing something crucial and am also being influenced by my bias.

“It is impossible to get a man to understand something if his livelihood depends on him not understanding.”
― Upton Sinclair

Because you're constantly upvoting @matrixdweller, I'm going to ensure you never earn another penny on this site. Enjoy!

I'd honestly ignore it until there is something worthwhile to talk about.

Fair enough :-)

Same could be said about Charles tbh ;)

DPOS is the shit, but it seems to require a slightly better distribution initially so as to not concentrate power to absurdly. I have concerns about eth, which are why I'm currently not invested. Centralization seems intense over there.

How will EOS generate new tokens after the initial offering? I'm interested in how do you expect ownership distribution over time to change and do you think the plan in place will favor concentration or reach a different equilibrium. For example Steemit has 93% of the steem in the hands of 1% of the accounts (exclusive of the steemit account). How do you see distribution taking shape and where do you see it in the future?

How does recent rulings by the SEC saying ICOs are now under their domain effect your plans?

Lastly, I'm spent hundreds of hours on this platform and am thankful for your creation. Kudos. I'd also like to read more from you than just EOS topics. Hopefully you'll post a broader series of topics which encourage people to read on steemit, stay on steemit, and grow steemit as well as supporting EOS.

i have the same questions.

I think we have just found the true and real Ethereum killer. The struggle to discredit EOS is somewhat a cause for Vitalik

Thanks for making this post. I have been eager to see some comparisons between the two platforms.

Unfortunately, my skill set made this the best way I could contribute to a conversation that began with Merkle Trees:

Merkel Tree.jpg

Lol, you're so funny @lexiconical. I like you!😁

@dan dropping some truth on this one. It's great to hear straight from the source of how certain accusations of another network are false. Thank you for continuing to be active on the Steemit platform Dan. We appreciate it! Oh and thanks for building it! hahaha