EOS is a blockchain protocol that focuses on a highly scalable network for decentralized applications through the use of smart contracts. Its overarching goal is to provide an operating system infrastructure that is capable of 1 million transactions per second, a zero fee structure, and the rapid deployment of dApps.
Use this Deep Dive to understand better its underlying technology, the rift between it and Ethereum, and what lies on the road ahead.
The Origin of EOS
The development of EOS started in 2017, with the release of its whitepaper. The blockchain platform’s creators are Dan Larimer and Brendan Blumer. Larimer and Blumer act as CTO and CEO of block.one, a private blockchain solutions company that is responsible for the production of EOS.
From its onset, the EOS ICO was extremely controversial because it didn’t incorporate a specific hardcap. The year-long ICO began on June 26th, 2017 and ended on June 1st, 2018. Not only was it the longest ICO, but it also set a record in the amount of money it raised, specifically in ETH: $4 billion.
Controversy arose in mid-2018 when accounts tied to EOS began to sell a high volume of ETH as the price was falling. Since EOS is an Ethereum competitor, critics claim that EOS intentionally was trying to disrupt the price of Ethereum.
ICO investors were given an Ethereum-based ERC-20 placeholder token until the official main net release on June 2nd, 2018. Once the EOS blockchain was live, token holders would trade their ERC-20 placeholders for main net EOS tokens.
What EOS Aims to Achieve
EOS recognizes that as institutional and retail adoption of blockchain protocols spread, the need for a highly scalable platform is paramount. EOS aims to provide this high-end scalability through horizontal and verticle solutions.
Developers of EOS also understand that adoption will more likely become widespread if the platform is free to use. This means that EOS aims to provide developers of dApps the flexibility to offer free services.
EOS is a platform for enterprise and grass-root developers alike. This means that EOS aims to provide the means for developers to upgrade their applications with new features seamlessly, and quickly fix any bugs they may inevitably encounter.
EOS understands that user sentiment is paramount to the success of a company or platform. If the user experience is slow, it is more likely that the platform won’t gain traction. EOS aims to maintain user experience through low latency methods that support transactions that settle within seconds.
To scale potentially millions of transactions per second and large applications, EOS supports parallel performance, which divides the workload across multiple computers.
EOS Consensus Mechanism
The EOS blockchain utilizes the Byzantine Fault Tolerance-Delegate Proof of Stake (BFT-DPOS) as its consensus mechanism.
Through the DPOS consensus algorithm, token holders are able to delegate block producers by voting. This means that block producers must hold the confidence of voters to perform their job, or they’ll lose their position. Anyone can become a block producer, but they must convince the community.
Due to the low latency of the network, the production of blocks occurs every 0.5 seconds. Blocks occur in segments of 126. This structure allows 21 block producers to create 6 blocks each.
Each block producer has the responsibility of production, and if a producer fails, they are removed from the production list. This ability to remove and vote new block producers keeps a high level of efficiency within the system.
Byzantine Fault Tolerance is amended to DPOS to guarantee those block producers can’t produce blocks with the same timestamp.
Transactions are irreversible and confirmed once 15 block producers have signed the block. Through this consensus procedure, blocks are considered irreversible within 1 second.
Through its low latency and BFT-DPOS consensus mechanism, EOS is capable of over 3,500 transactions per second.
EOS Action & Handlers
Each users’ account can send Actions with specialized scripts. Handlers are those with the private keys to the account, the owner. The Action and Handlers within an account define the smart contract function within the EOS ecosystem.
Each Handler can create various Actions within a single account. This leaves users with the ability to compartmentalize their own account into many subsets.
Within the management of accounts, the EOS software allows for permissions to authorize a given Action. Permissions are subject to roles, names, and maps. The EOS software will then evaluate an Action to make sure that it’s permissioned.
EOS Token Mechanics
The EOS blockchain is dependant on three resources: state storage, bandwidth, and computation.
Bandwidth and storage play a short and long-term role. Full nodes in the network download every Action that Handlers perform or request. These Actions take up room in the short and longterm time frame.
Computational debt is the amount of computational power that is necessary to regenerate the entire Action history. In other words, similar to different blockchains, computational power is necessary to download and store the whole blockchain’s history to keep the platform distributed and immutable.
Each account gains access to a certain amount of bandwidth capacity in proportion to the number of EOS tokens they stake to the network in a 3-day contract. This keeps the system efficient and dissuades bad actors from bloating available capacity.
Token holders can delegate their bandwidth capacity or even rent unused space. Since the EOS token acts as a resource within the system, holders are in a unique position to use their allocated bandwidth in various ways.
EOS claims that the available bandwidth is independent of the token’s price. Since the number of tokens is the factor that determines bandwidth allocation, developers don’t need to worry about the fluctuation of prices.
On the other hand, if developers wish to purchase more bandwidth capacity and the token has risen in value; then the token price has a direct impact on the bandwidth a developer can acquire.
Block producers are paid in EOS tokens for each block they manage to produce. This incentivizes block producers to secure the network. The number of tokens generated per block is not set, as long as it does not exceed the total annual token supply by 5%.
Developers on EOS need to have EOS tokens in their wallet to pay for storage costs of any data/state. If they delete the state, then they no longer need to hold the token. As long as the data or state remains, developers must hold the token.
Token holders are able to vote on Worker Proposals. These proposals benefit the community, and the proposal that wins receives a certain percent of tokens to perform their work.
Within the community, governance is the process where the token holders reach a consensus on various subjects to amend into the Constitution.
Tokens delegate power because tokens represent a vote. These votes are cast to elect block producers or protocol changes by token holders.
Developers and their users sign a binding contract by their use of the EOS software. Each transaction shows a part of the contract in each transaction. The Constitution ultimately binds each user on the EOS blockchain to facilitate dispute resolution.
The Virtual Machine and Scripts on EOS
EOS claims that it’s the first blockchain to offer the delivery of authenticated messages (Actions) to accounts. It differs from other blockchains through its script language as well as its virtual machine. The virtual machine and scripts are independent of the software on EOS, and other protocols can integrate it.
EOS & Inter Blockchain Communication
EOS uses Merkle proofs for its light client validation scheme. These clients do not need to verify all past transactions because of the sheer power requirements. LCV’s goal is to provide lightweight proof of existence, which means a transaction is searchable on any particular blockchain.
Each transaction to or from outside blockchains requires a sequential number to guarantee its proof of completeness. This completeness shows that no transaction underwent an omission.
Once logs of transactions on the EOS blockchain are complete, a method to lighten the disk space occurs with data pruners. Irreversible transactions allow the network to prove that the transaction exists, but that the system doesn’t need to store the content forever.
As a direct competitor to Ethereum, EOS is a formidable blockchain protocol that deserves the attention of the crypto community. Although there is the controversy that relates to its ICO and governance, it’s still a project that investors shouldn’t ignore in the long-term.