This fall we see a new candidate for CryptoTulip of the Year: EOS.IO from the annoyingly named block.one.
This is an interesting system, though rather hard to evaluate. Sounds Tulip-y to me.
It’s big idea is to do dapps better than Ethereum. That means higher performance and lower cost. We’ll see.
The key “innovation” is “delegated” consensus that makes the ‘decentralized’ system is much more efficient by centralizing the consensus step .
“blocks are produced in rounds of 126 (6 blocks each, times 21 producers). At the start of each round 21 unique block producers are chosen by preference of votes cast by token holders. The selected producers are scheduled in an order agreed upon by 15 or more producers.”
This should be faster than Ethereum, assuming that it actually works as intended. I’m not sure how secure and fair this system is (voting is scarcely guaranteed to be either).
Another innovation is a charging scheme for the virtual machine that runs the dapps. The dapp has to buy three resources, storage/bandwidth, cpu, and ram. This mechanism manages the use of the computational resources of the nodes of the network, and maybe incentivizes participants to run node. I think. The whitepaper describes this as a “sender pays” model, contrasting to Ethereum which the user (receiver?) pays.
EOS features an explicit “constitution” that is supposed to apply to all nodes. This is a human readable document that ‘splains the intent of the code and also “obligations among the users which cannot be entirely enforced by code”. In an interesting bit of techno-theater, “Every transaction broadcast on the network must incorporate the hash of the constitution as part of the signature and thereby explicitly binds the signer to the contract.” Right.
“All users are required to indicate acceptance of the new constitution as a condition of future transactions being processed.”
This is all pretty creative, and has attracted interest from developers who are dissatisfied with the performance of Ethereum and the cost of “gas”. However, David Floyd reports that all is not perfect in EOS land .
“That’s because, whereas ethereum dapps can be costly for the ones using them, EOS dapps can be costly for the teams deploying them.”
Worse, these resources are susceptible to price fluctuations and, it seems, price manipulation. It may cost a lot to deploy a dapp, compared to Ethereum which accrues costs when run. So the supposed cost savings are not automatic or simple.
So lets reckon the overall Tulipiness of this EOS.io.
The performance hit of “naïve Nakamotoan” consensus—security by massive redundancy—is replaced with a rotating sample of 21 of the nodes. This may boil down to security by reputation, with the biggest players having the most influence on the sampling. Or you might call it “continuously changing centralization”. The single point of failure changes unpredictably with each decision round.
Execution of the dapps is “pay as you go”, but pay in advance. Where Ethereum has a single resource (“gas”), EOS has three. These differences certainly move around choke points on the execution of dapps, though the long term merits of the approach aren’t apparent. You could also say that Ethereum’s single pain point (gas) is replaced with three different potential pain points.
EOS tackles some of the governance issues that have plagued Ethereum and others with an explicit “constitution”, plus rules that attempt to enforce it. This would seem to be a “centralized” rule book with subjective interpretations of the code, and therefore a potential single point of failure. (I.e., if the constitution is suborned, the whole system is compromised.)
I’ll note that none of this has been published in any kind of peer review study that I know of. In particular, I see no evidence that the protocol has been analyzed by independent parties. I’ll also note that the resource management scheme does not seem to have been simulated or studied. (As a veteran of many resource control concepts inside operating systems, I assure you that intuition is not a good guide to how well they will actually work.)
For that matter, the boasts of performance and cost are noticeably undocumented. How hard would it be to publish even some rough benchmarks of, say, throughput and latency? If you are supposed to be better than Ethereum, shouldn’t there be at least case studies to prove it?
So, what we have here is a really complicated Tulip, which sets much stock in being “better” than Ethereum.
EOS.io is certainly different than Ethereum, but who knows if it is “better”, and in what cases?
Certainly, EOS.io should be in the runnig for CryptoTulip of the Year for 2018.
- block.one, EOS.IO Technical White Paper v2. 2018. https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md
- David Floyd (2018) RAM It All: Rising Costs Are Turning EOS Into a Crypto Coder’s Nightmare. Coindesk, https://www.coindesk.com/ram-it-all-rising-costs-are-turning-eos-into-a-crypto-coders-nightmare/