What is EOS?
EOS is a smart contracts platform founded and designed by cryptocurrency genius and serial entrepreneur, Dan Larimer. EOS promises to be a next generation smart contracts platform that uses a novel blockchain architecture designed to enable vertical and horizontal scaling that supports many decentralized applications in parallel.
EOS focuses on performance and useability. Its use of a delegated Proof of Stake consensus algorithm and a messaging-centric design allows it to have incredibly fast block times. Its unique token economics enables free transactions.
Currently, using Ethereum’s decentralized applications (dApps) can be quite cumbersome. A user needs to pay fees and transactions take a while to confirm. In high usage conditions, Ethereum becomes increasingly painful to use as fees rise and transaction confirmation times increase. EOS aims to solve all these issues in order to create a business-ready blockchain that doesn’t feel like a blockchain.
These are grandiose goals but it’s important to keep in mind that EOS is still an early stage project. The main net hasn’t been released yet and EOS has yet to prove whether it will work as well as advertised in production. There are also concerns with centralization.
EOS’s design principles
EOS very nicely lays out 6 requirements for blockchain applications in its whitepaper:
- Supports millions of users: can’t build a successful blockchain with large network effects if it can only support a small network of users
- Free usage: users should not have to pay transaction fees to use the network. It’s a bad experience doing so.
- Easy upgrades and bug recovery: applications should be super easy to upgrade. Software bugs are inevitable so it should be easy for developers to recover from them.
- Sequential performance: basically, a blockchain needs to have super high transaction throughput.
- Parallel performance: a blockchain should be able to parallelize the execution of dApps, since many dApps often work in their own siloes and don’t really care about any other dApps.
Who is Dan Larimer?
Dan Larimer has been involved with cryptocurrencies for quite a long time. He registered his BitcoinTalk account, bytemaster, in 2010 and has been very vocal about blockchain designs on the forum.
Larimer is a blockchain genius and serial entrepreneur. He’s the founder of two blockchain projects, Bitshares and Steem. Both of which have hundreds of millions of dollars in market cap. Bitshares is a blockchain that supports decentralized exchange of custom assets and stablecoins. Steem is a social network blockchain.
Larimer has mentioned that his ultimate plan is to build a high performance generalized smart contract platform. He is highly critical of Ethereum and intends for EOS to drastically improve on Ethereum’s shortcomings. It’s clear that EOS incorporates many of his learnings from building Bitshares and Steem.
I highly recommend watching Larimer’s debate on blockchain scaling with Vitalik Buterin here.
How does EOS work?
EOS’s vision is to achieve widespread blockchain adoption. It plans to get there by building a general purpose, high performance, highly useable, and self-governing smart contracts blockchain.
To do so, EOS needs to have high-scale, support parallelized dApp execution, free transactions, and a self-governing system.
DPoS consensus algorithm and a 5% annual inflation
EOS uses a consensus algorithm developed by Dan Larimer. The algorithm closely resembles delegated Proof of Stake (dPoS) algorithms so I’ll refer to it as dPoS in this article.
DPoS is incredibly fast. In EOS, blocks are produced in rounds. In each round, 21 block producers are chosen and the producers take turns to produce a block every 3 seconds.
Users vote for block producers; the top 20 accounts with the most votes are guaranteed to be block producers. The 21st block producer is randomly chosen, with the chance being chosen proportional to the number of votes the account has.
EOS has 5% annual inflation and the community will be able to vote on who receives the inflation. Although the exact distribution of the inflation is still unknown, it’s very likely that the block producers will receive a good portion of the inflation.
How does EOS scale to millions of transactions per second?
EOS is able to achieve its high scalability and throughput as a result of its dPoS consensus algorithm and a novel blockchain architecture.
DPoS is a blazingly fast consensus algorithm but the catch is, it’s quite centralized and block producers need to run super high performance computers in order to meet EOS’s blockchain demands.
EOS’s novel blockchain architecture augments its dPoS algorithm to enable EOS to scale to millions of transactions per second. The architecture is messaged-based and supports parallelized dApp execution. You can read more about its architecture here.
EOS supports dApp parallelization
As mentioned above, EOS is capable of parallelized dApp execution.
Essentially, EOS blocks are split into different threads with each thread assigned a group of dApps and other EOS accounts by the block producer. Two dApps can be safely assigned into different threads if there are no transactions referencing both dApps at once.
This is made possible by the fact that a dApp’s state only depends on the messages it receives, and EOS has a constraint that messages generated in one block cycle can only be delivered in the next cycle.
EOS’s transactions are free
Transactions in EOS are free. Block producers are compensated partly by an annual 5% inflation rate.
Blockchains with free transactions are vulnerable to spam. EOS combats this by using a completely different resource model. Holding EOS tokens gives an account a set amount of transaction, computation, and storage bandwidth to use. The more EOS tokens a user holds, relative to other users in the system, the more blockchain resources available to the user.
This limit is elastic. In low blockchain usage conditions, each EOS token provides more bandwidth. As overall blockchain usage increases, bandwidth allocation shrinks.
It’s important to note that this bandwidth restriction is enforced by EOS block producers in almost a subjective fashion. Since a block is produced by a single block producer, the producer can reject transactions if the producer believes that the transaction is wasteful.
How does EOS’s self-governance system work?
Users holding EOS tokens have a say in the governance of EOS. Users get to vote for block producers and how EOS’s 5% annual inflation is allocated. Each EOS token represents one vote. The top 20 accounts (by votes) are guaranteed to be block producers while the 21st block producer is randomly chosen (chance proportional to the amount of votes an account has).
Being a block producer gives you tremendous power. Producers can collectively choose to freeze EOS accounts, change a smart contract’s code, and propose protocol changes. In addition, the block producers will likely have a significant portion of EOS tokens and thus have a huge influence over EOS’s governance decisions.
EOS also introduces the concept of a blockchain constitution. In order to use the blockchain, users will need to sign the constitution by adding a hash of the constitution into the transaction’s signature. The constitution defines user obligations which cannot be entirely enforced by code. The constitution can be changed through proposals made by the block producers.
And much more…
EOS is an incredibly complex blockchain and it has many features that make dApp development as easy as possible. These include: * a built-in permission management system * an account recovery system * ability for full nodes to partially evaluate blockchain state
To learn more about EOS’s technology, I highly recommend reading its technical whitepaper.
EOS is designed for businesses
Larimer has stated that if EOS is successful, it’d be a blockchain where businesses would run their high performance dApps. These applications could include decentralized exchanges, social networks, and games.
Because EOS scales so well, it’d be able to support all these applications without being bogged down like Ethereum. EOS’s rich feature set also makes it very convenient for businesses to build dApps. On the flip side, dApps on EOS should be very easy and intuitive to use because of its high transaction throughput, fast confirmation times, and free transactions.
EOS’s ecosystem is gaining momentum
The company behind EOS, block.one, has a very strong executive team. The team includes Brendan Blumer, a serial entrepreneur who has built businesses like okay.com in Hong Kong and 1Group in India, Richard Jung, a former CEO of Bithumb who has also held an executive position in Alibaba, and of course, the blockchain genius himself, Dan Larimer.
Mike Novogratz, a renowned billionaire ex-hedge fund manager who was an incredibly early investor in Ethereum, has invested in EOS through his venture capital firm, Galaxy Digital. Galaxy Digital and block.one announced in January that they have formed a $325 million fund to invest in EOS’s ecosystem.
Block.one also announced in January that it has formed another EOS ecosystem fund with TomorrowBC, a blockchain investment arm of Eric Schmidt’s venture firm, TomorrowVentures.
In addition to these investment funds, block.one announced in September last year that it will be channeling $1 billion of its token sale proceeds to investing in its ecosystem.
Companies that have announced they will build on EOS include Everipedia, a blockchain-based fork of Wikipedia, and EOSfinx, an EOS-based decentralized exchange operated by Bitfinex.
With so much capital for block.one to deploy, look to seeing more and more companies build dApps on EOS.
Centralized cartel, with the power to modify contracts and censor accounts
There are significant centralization concerns with EOS. Block producers have tremendous power and the blockchain has weak mechanisms to replace any. If you’re a block producer, you’d likely have a disproportionately large amount of EOS tokens which will basically ensure that you remain as a block producer.
Being a block producer likely entitles you to a large portion of inflation income. You’ll also have the ability to modify contracts and censor accounts. This is a scary amount of power to give to a select few.
It’s also really hard for a user to become a block producer. Besides the paramount task of getting enough votes to be in the top 20 accounts, a user would need to operate high performance computers with large storage capacities (I would not be surprised if this reaches the scale of data centers) in order to support blockchain operations. How else will EOS be able to support so many high performance dApps on its platform?
In the end, there is a high risk EOS will become a highly centralized system with the top 20 block producers forming a rigid cartel. Is this worth the ease of development and large performance gains? I have my doubts.
Jack of all trades, master of none
EOS is essentially trying to be a blockchain-based AWS. I don’t think this will work out. Blockchains are not designed to be ultra high scale cloud computing platforms. The essence of blockchains is trustless security and tremendous liquidity.
If companies want a high scale cloud computing platform, they’d simply use AWS. AWS is cheap and provides SLAs that a blockchain will never be able to provide. Block producers have varying capabilities because they operate completely different computational and storage hardware. The producers are also able to control which transactions get processed and which don’t without any recourse.
Blockchain platforms like Ethereum and Bitcoin, which although have pitiful performance, provide a level of trustless security and liquidity that AWS will never be able to provide. These core properties are what sets blockchain apart from other technologies.
EOS tries to push high performance computing onto blockchains while still maintaining some form of decentralization. I fear that this strategy will only result in a system that’s not great at either.
EOS attempts to fix the scaling problems of existing blockchains in order to create a highly scalable and easy-to-use blockchain ready for widespread adoption. However, its ease of use, performance, and scalability comes with an expensive tradeoff: centralization. Although the technology has high potential, there is also a risk that it ends up being a jack of all trades but a master of none.
Some call EOS the Ethereum killer. I disagree. I believe they serve very different use cases and can coexist.