With all the excitement surrounding Ethereum announcing sharding a couple of days ago, I wanted to share some thoughts on how this announcement by Vitalik was rushed to twitter because of the fear that the lack of scalability in ETH would scare people away from his platform, and send them to the up-and-coming DApps platform, EOS. I am not an Ethereum developer, just someone who uses Google reasonably well. I am also a stakeholder in ETH. With those facts in mind, consider the following post to be thoughtful speculation, based on my current understanding of both projects that are not so far away from the truth. Hopefully, this thread won’t get downvoted to the gutters of this sub. Let’s start by explaining what sharding is and what does it means for Ethereum. Sharding is a method of increasing the number of transactions a blockchain can process. Designed to be used “on-chain”, multiple network computers divide the transaction workload between them, allowing significantly more to occur within the same period of time. At its current state, Ethereum can only handle an average of 15 tps(transactions per second), which is very low for a platform that has a large and growing community. In the other hand, we have a platform like EOS, which is Ethereum based, that when stress tested on a decentralized network reached 18.000 tps. Ethereum, in my view, has taken on the biggest problem it could face, and that is scalability. It’s unclear if it can be solved in a practical sense. What’s worse is that the broader Ethereum community believes that Ethereum already has the solutions or is close to having them. Ethereum, in the current form, works at small scale and by design breaks at large scale. Every new user/node is adding a state for every other user/node at a rate that is not sustainable in a distributed system. Speaking at Deconomy conference in Seoul, South Korea last month, Buterin himself stated that Ethereum applications are "screwed" by current scaling challenges. Ethereum, by design, wants to put all complexity in the network. This is the exact opposite design choice that the end-to-end principle made for the Internet. Complexity is not only an enemy of security (as seen in the DAO attack and running turing-complete code) but is also an enemy of building scalable networks. “There are two things, you have quantity of transactions and quality of transactions and you might be able to increase the quantity of a certain type of transaction by sharding but you're not going to be able to do the quality of transactions that DApp developers actually need, and you're not going to be able to do so with the performance and latency that you need, because, as soon as you’re sharding now you have to have all these extra delays in the confirmation while you wait for the other shards to catch up and the communication overhead really really slows things down, so I don't really see sharding as a viable solution” - Dan Larimer
Submitted May 12, 2018 at 07:28PM
No comments:
Post a Comment