EOS has been gathering a lot of attention lately, mostly due to its impending mainnet launch and the enormous amount of FUD surrounding it. So now wouldn’t be the worst time to remind ourselves what EOS really was envisioned to be and then speculate on why is the mainnet late and what even can we expect from this project in the future.
EOS is a blockchain-based project which has been raising quite a few eyebrows since its development company, block.one, launched the EOS ICO back in June 26, 2017. Its similarity and relation to Ethereum has been an important part of its identity and development. The mastermind behind the project is a man called Dan Larimer, known around the crypto world for his previous engagement with projects such as Bitshares and Steem.it. It was probably the first project to take up the moniker of ‘the Ethereum killer’. In that spirit, EOS looks to act as a platform that will have the ability to handle massive numbers of transactions, process payments differently and host tools which will help developers create decentralized apps (dApps).
EOS does a lot of things similarly to Ethereum: it is a decentralized, open source software designed to deploy high performance Blockchain apps based on the Smart Contract technology. The term “smart contract” is coined by a crypto pioneer named Nick Szabo, with the ultimate goal of bringing what he calls “highly evolved” practices of contract law into electronic commerce protocols between strangers on the Internet. Much like a traditional contract, a smart contract defines all of the obligations and potential penalties involved in an agreement. With regular contracts, the enforcement of obligations and potential penalties are handled by an intermediary layer of law enforcement; with a digitalized, blockchain based smart contract platform, these obligations and penalties are enforced automatically, in accordance to the terms that were set upon the contract’s creation.
Smart Contract – an application that handles the distribution and transfer of tokens on the Ethereum (and EOS) network (source: https://steemit.com/ethereum/@ryuzakilost/ethereum-smart-contracts-101-hello-world)
In order to supplement Ethereum as the main smart contract-based crypto platform, EOS needs to assert itself as a functional, commercially viable platform. A blockchain platform that wants to achieve commercial success will have to fulfill a couple of demands:
• It needs to be open source and easy to use
Application developers need flexibility to offer free services. EOS platform should be accessible to anyone who wishes to create dApps on it. This will ensure a higher rate of adoption and a bigger development community. The software needs to be written in a language that is easy to develop with. Ethereum for example does a very poor job of making interacting with their blockchain a user-friendly process, as it requires you to first design your app and then translate it into Ethereums complicated machine code called Solidity. The platform also needs to be upgradeable and able to deal with bugs. Ethereum network is designed as a neutral platform that basically has “no features”, refusing to add even the most often used protocols which are considered industry “standard”. This reduces bloat among applications, but it also results in a loss of efficiency for app developers. As an “Ethereum killer”, EOS looks to inherit the best and fix the worst aspects of this platform.
• It needs to be scalable
A scalable platform is one that can support thousands, even millions of users and verify millions of transactions each day. Platforms of today that are able to achieve this are centralized and centralization comes with its own set of issues. Decentralized, blockchain based platforms were in part created to deal with these issues but existing single-threaded blockchain platforms are burdened by large fees and limited computational capacities.
All of those prevent the platform from scaling well enough to match the demand of a growing cryptosphere and EOS wants to change that. While Ethereum looks to introduce sharding as the solution for its current 25 transactions per second EOS will use Graphene technology, an in-house developed solution that will supposedly enable the network to handle millions of transactions. EOS will also use parallelization to scale the network. This introduces horizontal scalability into the blockchain and could potentially result in EOS blockchain reaching commercial adoption levels of throughput.
• It needs to have decentralization of data
All records of the application’s operation must be stored on a public and decentralized blockchain.
It needs to have incentives for validators
Validators (miners) of the blockchain should be incentivized in some way. The perfect solution for this is awarding them with tokens for their block validating work.
• It needs to have low latency
Good user experience demands reliable feedback with delays of no more than a few seconds. Longer delays frustrate users and make applications built on a blockchain less competitive with existing non-blockchain alternatives.
• It needs to provide sequential performance
“There are some applications that just cannot be implemented with parallel algorithms due to sequentially dependent steps. Applications such as exchanges need enough sequential performance to handle high volumes and therefore a platform with fast sequential performance is required,” says the EOS whitepaper. All of this implies that blockchain’s transaction throughput needs to be high enough to ensure no network congestions ever happen.
• It needs to provide parallel performance
Large scale applications need to divide the workload across multiple CPUs and computers. This will enable the network to scale better and process transactions faster.
• It needs to have a quality validating algorithm
The application community must agree on a cryptographic algorithm to show proof of value. For example, Bitcoin uses Proof of Work (PoW) and Ethereum is currently using PoW with plans for a hybrid PoW/Proof of Stake (PoS)5 in the future. EOS looks to use a DPOS (delegated proof of stake) algorithm that will be byzantine fault tolerant.
• It needs to have low network fees
Ethereum network is (in)famous for its gas fees; you have to pay these fees whenever you perform a calculation, storage operation or bandwidth utilization. This makes miners picky and motivates them to not validate transactions with lower fees. The problem culminated during an ICO for the Status coin, where gas fees went up to 100 dollars.
This creates an environment where rich transactors can potentially freeze the transactions of poorer folk by flooding the network with high-fee transactions. Furthermore, developers and startups need to continuously burn valuable funds on gas fees if they want to keep the development of their projects going. EOS will utilize an ownership model which will allow EOS token holders a proportional share of server resources. This model also removes the network fees.
If you own 1% of the entire EOS token supply, you will have access to 1% of the network bandwidth, regardless of the load on the rest of the network. This way anyone who wants to interact with the EOS network will receive a set amount of network bandwidth and computing power while having an option to simply purchase more EOS tokens if they want more network resources. This model will remove on-network transaction fees (removing the need for developers to pay money to develop). The only fee paid will be related to the initial purchase of EOS tokens.
EOS – the solution for these demands?
According to the EOS website, this software will fulfill all the previous requirements by providing “accounts, authentication, databases, asynchronous communication and the scheduling of applications across multiple CPU cores and/or clusters”. It will implement elements of standardization by including commonly used functions with the default platform, such as implementations of the cryptography and app/blockchain communication tools needed by many applications.
The project will use the DPoS algorithm, where “elected block producers” will be in charge of validating transactions and creating new blocks. It will also achieve scalability of millions of transactions per second, eliminate user fees and perform quick and easy deployment of decentralized applications. DApps running on EOS will be able to communicate with each other while being protected by strong on-platform security measures. These applications will also be able to share frameworks and libraries which will make development faster, more secure and less complicated.
EOS compared to Ethereum
Those are just some of the promises that the EOS project ambitiously laid out in their promotional material before their potential investors. Block.one team, led by Dan Larimer, has promised to deliver the functional mainnet for the EOS project by June 2nd of 2018. The mainnet launch has turned out to be rather complicated and it revealed some worrying facts about the project that I will cover in detail a bit later.
In short about DPoS
The underlying algorithm is an important part of every blockchain. Traditional Proof-of-Work (POW) and Proof-of-Stake (POS) consensus mechanisms do their jobs quite well; still, their main drawback is that they require large amounts of hashing power and a large distribution of network tokens to ensure that the application is valid and secure. As such, they are often susceptible to centralization and can be exploited by entities capable of purchasing a lot of hardware and electricity. Another issue with the Proof-of-Work consensus mechanisms is the difficulty in fixing broken applications. In order to fix a broken application, a disruptive hard fork is required. Ethereum network went through such an event recently, when its main chain split into Ethereum Classic and Ethereum after the DAO hack and failure. This motivated Vitalik Buterin to start shifting his network onto the more flexible Proof-of-Stake algorithm and the switch is expected to happen during 2018.
Delegated Proof-of-Stake (DPoS) looks to offer a solution to these issues. This Graphene-based technology can be operated by a relatively small number of processors without the same network security concerns. This algorithm enables “much better scalability” as the network of validators is smaller and it removes the network fee requirements that come with PoW algorithms. EOS network will regularly have a vote to select 21 delegated block producers who will have the power of validating EOS network blocks. Each block producer will need to stake his tokens to become eligible for the vote and will function as the networks master node if enough users vote for him. DPoS allows for network bugs and issues to be fixed without a hard fork spawning competing chains and the aforementioned DAO issue could have been solved differently if Ethereum used this algorithm. Furthermore, EOS’ DPoS will include a legally binding constitution that establishes a “common jurisdiction for dispute resolution”.
The promotional work that was done by block.one preceded the ICO of EOS ERC-20 tokens which started on June 26, 2017 and lasted exactly one year. The token distribution was supposed to be done in a way which would ensure that as many investors as possible were included into the project. Investors from US and China weren’t able to purchase EOS tokens, as the law in these countries doesn’t allow ICO’s to operate there. Ultimately, the total supply of 1 billion EOS Tokens (with the potential, depending on community votes, of up to 5% inflation per annum) was distributed in the following manner:
1. 200,000,000 EOS Tokens (20% of the total amount of EOS Tokens to be distributed) were distributed during a 5 day period beginning on June 26, 2017 at 13:00 UTC and ending on July 1, 2017 at 12:59:59 UTC (so called “First Period”).
2. 700,000,000 EOS Tokens (70% of the total amount of EOS Tokens to be distributed) were then split evenly into 350 consecutive 23 hour periods of 2,000,000 EOS tokens each beginning on July 1, 2017 at 13:00:00 UTC.
3. 100,000,000 EOS (10% of the total amount of EOS Tokens to be distributed) were reserved for block.one and cannot be traded or transferred on the Ethereum network.
At the end of the 5 day period and at the end of each 23 hour period referred to above, the set number of EOS Tokens was distributed pro rata amongst all authorized purchasers, based on the total ETH contributed during those periods. And boy did the contributions fly in; at the end of the ICO it was revealed that EOS managed to collect over $4 billion worth of ETH, making this the highest grossing ICO ever. After the ICO was completed, a mainnet was scheduled for launch on June 2nd of 2018. The mainnet was to introduce a native EOS blockchain strengthened with native EOS tokens.
Why not just remain on the Ethereum network and keep using those ERC 20 tokens forever?
There will be couple of reasons for having a functional mainnet and using native tokens. Developers will need EOS coins to access the server resources. If you want to develop on EOS network, you heed to hold EOS tokens. The amount of server resources you get depends on the amount of tokens you hold. These tokens can either be bought or rented. Renting means that the average user has the option to pool his coins and then rent them to application developers for an interest.
Ultimately, EOS is looking to replace Ethereum as the main smart contract-based currency, which is why it cannot remain on the Ethereum blockchain. In that nature, EOS will support creation of ERC20-like tokens, allowing future EOS blockchain-based dapps to host their own ICOS. It is unclear if there will be any larger use for the EOS tokens in the future. Currently the original Ethereum based EOS Tokens are fixed(untransferable), with users required to perform a switch to the new EOS mainnet and replace their placeholder ERC 20 tokens with real EOS tokens.
All of this sounds good, why isn’t EOS replacing Ethereum already?!
It seems like everything that could have gone wrong with EOS prior and after its mainnet launch has indeed went wrong. Let’s take a look at the complete timeline:
• Ethereum vs EOS
As EOS looks to be the direct competitor to Ethereum, Vitalik Buterin has criticized it even before the mainnet was near the launch date. Looking at their technology, Buterin has conceded that their transaction speeds are impressive but has claimed that they’ve gained said speeds by sacrificing censorship resistance achieved through Merkle proofs.
Buterin clearly isn’t a fan of the DPoS system which, in his thoughts and thoughts of many others, creates a semi-centralized system which strays away from the perfect cryptocurrency mold what was originally envisioned by Satoshi Nakamoto. Buterin also criticized the fact that voters might not even be motivated enough to vote, making the entire process skewed and pointless.
And he raises a good point here as well. EOS block producers will be well rewarded for their efforts but the incentives for users to actually turn up and vote remain an issue. Currently the initial post mainnet launch is being held and only around 8% of the total tokens turned up to vote so far. Granted it has only been a couple of days since the vote started but one wonders if the required 15% will be reached any time soon.
Dan Larimer didn’t sit tight and ignore the criticism. In the same Reddit thread above he claimed that most of those criticisms are unfounded and suggested that Ethereum has its own issues that Buterin should focus on.
Dan Larimer, the mastermind behind EOS
• Centralization issues
Many sources spoke of the fact that EOS has real issues with centralization. A Reddit post from a user named Lannisan showed that the top 10 EOS addresses hold 49.67% of the total supply of 1 billion EOS tokens. Weiss Cryptocurrency Ratings recently published a piece criticizing the amount of centralization when it comes to the total supply of EOS tokens. The Gini coefficient, used by economists to measure wealth distribution of countries, when applied to EOS, comes up at 97 (on a scale of 0 to 100). 60 is what you would consider “problematic” so it goes without saying that this is a serious issue. These clearly show that EOS’ planned token distribution didn’t have the desired results, leaving most EOS tokens in the hands of a handful of whales.
• A possible security breach
The mainnet was supposed to be launched on June 2nd, 2018 but a security breach in it was discovered just days before the mentioned date. Qihoo 360, a Chinese security company discovered “massive” vulnerabilities in EOS platform which could allow external malicious players to remotely take over the nodes running the EOS network. Dan and the block.one team were quick to react and have claimed that the issues were fixed just hours later.
This did seemingly result in a deeper set of security checks that postponed the mainnet launch to June 10th at 13:00 UTC.
• Voting issues
The voting has been the most concerning thing about the EOS project. First of all, a vote was held prior to the mainnet launch where all the block producers basically confirmed the mainnet is ready to go. However, this vote was a jumbled mess to say the least. Held on a Youtube livestream, the voters were running late, there were issues with latency and translation and everyone looked like they have no idea what they were doing. You can check out the full stream here.
The second issue I’ve mentioned already and it concerns the problems surrounding the current block producer vote. It turned out that this initial vote will be overseen by a single appointed block producer. The original plan was to have 21 APBs that will hand over the network control after the voting was done. This was changed because Larimer and the team felt such a structure could endanger the mainnet launch.
While the screenshot does raise some good points on why this switch was made, it does make us wonder how censorship resistant this initial vote will be with only one node overseeing it. Check out this twitter thread to get a deeper insight into the issue.
Voters seem to be unmotivated or simply uninformed that the vote is even happening. Some are also discouraged by the relatively complicated methods of submitting votes. The only officially supported voting method is the Cleos command line tool released by Block One – a method that requires basic programming comprehension. Block One has left the development of the voting GUI to the EOS community. As a result, voting interfaces are popping up left and right. Some are legitimate, some are bad and not working, and some are legit scams looking to snatch people’s private keys.
It’s frankly a bit shocking that a company which raised 4 billion dollars in a single year couldn’t develop a dedicated voting interface and ensure that this confusion is avoided. On a positive note, there are several tutorials available explaining how to vote with a range of different tools, including the EOS Portal and Scatter, EOSC, EOS-Voter, and Tokenika. You can also check out EOS’ official Reddit page for further voting instructions.
• Fees will in fact exist
The network users will apparently be “paying” for using the network after all. While the token supply has initially been fixed to 1 billion EOS, the fine print suggests that a 5% yearly inflation is possible. There is also talk of extra coins already having to be printed out to ensure that EOS mainnet will have enough RAM to run. As anyone who knows anything about economy can tell you, an increase in supply with the demand staying the same means a drop in value, which suggests that the total value of HODLer bags will be dropping off organically. This isn’t that far from paying miner fees and lowering your wealth like that.
• The constitution
The EOS constitution has been written by block.one and it exemplifies the previously mentioned issues with centralization. Some of the elements of this document include:
Inactive accounts are going to be “nationalized” after 3 years:
After 3 years of inactivity an account may be put up for auction and the proceeds distributed to all Members by removing EXAMPLE from circulation.
Copyright enforcement and possibly hate speech laws
Members may only publish information to the Blockchain that is within their Right to publish.
Property rights can be taken away by a referendum:
The Members grant the right of contract and of private property to each other, therefore no property shall change hands except with the consent of the owner, by a valid Arbitrator’s order, or community referendum.
This sounds more like something a highly dictatorial, socialist government would type up than like a document designed to provide useful guidelines for community building.
EOS has definitely been one of the most interesting projects that have graced the world of cryptocurrency. Its goal to supplant Ethereum has been ambitious from the start and many people believed that said goal is more than achievable. The belief was best shown during the last year’s ICO when massive amounts of money were collected to fund this project. However, as the mainnet launch day approached, it became obvious that there are quite a few issues with EOS that need to be ironed out. Mati Greenspan, senior market analyst at eToro, compares EOS to an airplane that just had its pilot come out and ask the passengers to organize a vote and decide which one of them gets to fly it. Add in there the fact that the airplane’s tanks are barely full and that all the parachutes have been left in the hangar and you’ll get a clearer picture of where EOS is right now. This doesn’t mean EOS won’t get through the current rough period. The money is there, the project is ambitious and all of these issues could be forgotten in a month from now. The mainnet launch (if it even happens) will give us a better insight into what comes next for EOS.