The Practical Blockchain Network
The EOS network is currently one of the largest decentralized application network (aka smart contract platform) by market capitalization after Ethereum. Decentralized applications are created to replace trusted institutions and intermediaries with just software. EOS is a network that is designed for performance, scalability and usability. The principal architect for EOS is Dan Larimer, CTO of Block.One, who has a track record of building innovative high-performance blockchains. The EOS network is currently the second largest decentralized application network (aka smart contract platform) by market capitalization after Ethereum. Decentralized applications are created to replace trusted institutions and intermediaries with just software. EOS is a network that is designed for performance, scalability and usability. The principal architect for EOS is Dan Larimer, CTO of Block.One, who has a track record of building innovative high-performance blockchains.
Some of Larimer’s work and innovations include:
- Steemit/Hive – one of the first and most successful blockchain social media platforms with the largest organically grown user base. ($63 million/ $111 million market cap respectively as of 5/17/20)
- Bitshares – one of the first decentralized exchange blockchain networks ($51 million market cap as of 5/17/20)
- Delegated proof-of-stake consensus (DPOS) protocol – used in EOS and precursor to Tezos and Cardano variations
- bitUSD – First collateralized stablecoin precursor to the DAI from MakerDAO whose founders originally started on Bitshares
- Decentralized Autonomous Company (DAC) – coined the term DAC, precursor to the decentralized autonomous organization (DAO)
Larimer joined Brendan Blumer and others to create Block.One, the company that eventually developed EOS technology. In June of 2017 Block.One launched a one-year long token sale (ie. ICO) on the Ethereum network and generated over $4 billion of ETH in revenue for the company. The year long token sale was created to give everyone an equal opportunity to participate without giving early buyers a special advantage. Most other popular token sales sold out in a matter of minutes. Hence the design of the token sale was in principle more fair than most ICOs that had pre-sales/private sales and preferential deals for early investors and a very limited time window for the public to invest. However because Block.One generated billions in the sale, there is generally a negative sentiment around the token sale. In addition, a number of those who bought tokens may have been unaware they were just purchasing the opportunity to purchase ownership interest in a future EOS blockchain network and the ICO was not a fundraising event for development or investment in Block.One. Block.One had no obligation to use the token sale proceeds in any particular way. In fact Block.One did not issue a use of proceeds as other projects typically did. Block.One retained 10% of the tokens and 90% was purchased by the public. In Sept of 2019 the SEC settled with Block.One for $24 million, effectively absolving Block.One from any further SEC actions related to the sale. After the start of the token sale, Block.One released testnet versions of the software late 2017 up until May 2018 until the official network was launched by community members on June 14th, 2018.
EOS Governance Experiment
Another unique feature that EOS creators initially implemented was a governance layer. Larimer believed that member interaction on the blockchain could be improved by having each member be involved in a multi-party social contract with every other user in the system. Hence EOS software was launched with a Constitution that enumerated 1) principles of behavior such as no violence, perjury, or vote buying 2) member rights, dispute resolution, restitution 3) and various contractual clauses such as choice of law, language, severability, termination etc. Those advocating for governance highlighted the fact that humans are ultimately involved in the development and use of blockchains and conflicts would eventually arise. Therefore the platform should have a formal process to resolve smart contract disputes, software bugs or hacking incidents such as the DAO hack on the Ethereum network. Rather than have an adhoc approach and a single leader like Vitalik decide how to resolve major issues, there would be arbiters and a Constitution to refer to. The hope was that EOS members could use governance to resolve hacks and theft as well as disputes about unintended behavior of software. Smart contract code could also use Ricardian contracts that would document code in human readable form so users could know how code was supposed to behave and help with future dispute resolution.
An organization called ECAF was put in place to be the arbitration forum where users could file disputes. Soon after the EOS network launch, ECAF was immediately bombarded with requests after many hacking incidents and lost keys were reported. ECAF proved to be ineffective and users soon quickly called for the dissolution of ECAF and others wanted to create a different Constitution that removed arbitration altogether. Many in the EOS community quickly realized resolving theft, hacking incidents and key recovery through arbitration was not feasible and that ultimately the de facto power to enforce any change in the system was held by the block producers. After many months of debate and various Constitutional proposals, the ‘Code-is-Law’ philosophy won out in the end and the Constitution was changed to a very simple user agreement with limited scope.
The governance experiment showed that human governance and what Szabo calls ‘wet code’ is very inefficient and could negate the primary benefits of blockchain technology. Perhaps in the future, there could be an application built on top of EOS technology or any other smart contract platform that provides a formal legal framework that could enable a new digital society, but until then it seems adding any ‘wet code’ at the base layer of the blockchain is more than likely to be detrimental than useful.
EOS technology (EOSIO) has a different architecture than Ethereum. The Ethereum software incorporates many of the same concepts of Bitcoin. For example Ethereum uses proof-of-work (POW) for some part of the distribution of tokens and for security. Ethereum also uses the same concept of using Merkle Trees to maintain a global state of all transactions to allow anyone to cryptographically verify blockchain history with their own local nodes.
EOS on the other hand uses Merkle Trees within the blocks of the blockchain, but does not use the Merkle Tree data structure over global state and as a required part of the consensus system. While this is controversial, the reason why is explained here. Hence unlike Ethereum and Bitcoin, a user cannot use their local node to cryptographically verify the state of the blockchain at a given time in the past, but can verify that a transaction was sent and added to the blockchain. The user is able to prove that an action is valid within a block and the order in which it was added to the blockchain as long as it can access the block header after the action occurs. With this unique and practical design, EOS can make significant optimizations in performance of its blockchain network and enable efficient inter-blockchain communication between multiple blockchains. Block.One has indicated recently that they were making progress with interoperability between EOSIO blockchains.
EOS uses a unique consensus protocol called delegated proof-of-stake (DPOS) that enables token holders to vote for the validators of the network called block producers. Bitshares and Steemit/Hive were the first blockchains to use Larimer’s DPOS. Unlike in Bitshares and Steemit/Hive where validators called witnesses take a passive role of just adding blocks to the blockchain, a consensus of EOS block producers can change all smart contracts, accounts and their state. Consensus requires ⅔ +1 number of block producers to agree. The flexibility in EOS network design enables it to have high performance, but comes at the cost of the rigid immutability that people have come to expect in blockchains and may make many blockchain developers uncomfortable. Hence the economic incentive of proof-of-stake is one of the main security mechanisms. If block producers reach consensus to maliciously attack the network and change state, token holders would have to vote block producers out and revert the altered system state back to the original. The real world analog to DPOS is a corporation with shareholders. Shareholders vote for a board of directors who then hire executives. In DPOS, tokenholders effectively vote directly for infrastructure providers to maintain the network and execute software updates.
There are more than 100 block producers that are available to produce blocks in the EOS network, but there are only 21 active producers at any given time and 40-50 other producers that are on standby. The active 21 block producers earn most of the 1% EOS inflation rewards for their work while standbys share the remainder. The EOS network uses an approval voting method that enables users to vote for up to 30 block producers with each token. Votes are tallied about every 2 minutes so the block producer rankings and active block producers can change frequently.
Smart Contract Development
EOS developers typically program smart contracts using C++ because that’s the preferred language that can be optimized to compile into the WebAssembly (WASM) binary instruction format and run on a web browser. Block.One has built EOS VM, a low-latency, high performance and extensible WebAssembly engine specifically made for blockchain applications. The EOS 2.0 VM was tested to be 16x faster than Binaryen, one of the standard web WASM engines they used for EOS 1.0.
Smart Contract & Multisig
Another way to look at the EOS network is as a massive multi-signature operating system. At the top level block producers have multi-signature authority to change the EOS system software to add new features or fix bugs. The token holders delegate the authority to block producers for changes. All the smart contracts can be changed by the owners of the smart contract. Unlike Ethereum where it’s designed to be immutable from the start and developers have to find ways to make software mutable for upgrades, the EOS network starts as mutable and can be designed to become more immutable over time. The path to immutability on EOS starts with having more decentralized multi-signature authority over smart contracts until the software is mature enough and the group of owners of the smart contract can eventually ‘burn’ the keys to make a smart contract immutable. After that only block producers would be able to change it via consensus.
EOS can be described as an operating system that gives users a certain amount of resources based on the number of tokens they have reserved or staked on the network. The first resource called CPU determines how many transactions the user can execute and the Net (ie. Network) is how much data can be sent at a given time and together they are considered the bandwidth of the EOS system. In EOS there are no transaction fees. Instead token ownership allows users to have a certain amount of bandwidth availability. The last resource on EOS is called RAM that determines how much data a user can store permanently on the blockchain. On the EOS network, all permanent data is stored on the RAM of block producer computers servers for performance reasons. For example when a user needs to store account keys or balances permanently on the blockchain each new network account requires some RAM. The EOS network also has a feature called the Resource Exchange Network (REX) that allows users to lend their bandwidth resources to others for an interest rate.
Private Key Management & Authentication
EOS technology is focused around the user experience and key management and authentication are some of the biggest challenges for blockchain developers. There is too much friction when users have to sign each transaction in a smart contract. Users also don’t have easy ways to secure their passwords.
For authentication, EOS provides a reference implementation of an IOS authenticator that allows users to interact with a web application or native iOS application seamlessly by generating and storing private keys on Apple’s Secure Enclave and/or Keychain and securing it with the device’s biometric authentication. EOS also has a reference implementation for a Chrome extension authenticator.
For private key management, EOS also supports WebAuthn that will allow users to use hardware keys such as the Yubikey to sign transactions in the near future. Also innovative decentralized identity solutions such as proof-of-colocation may enable non-KYC password recovery systems in the future.
Block.One, eosVC, Block Producers, Community
A number of blockchain network projects are sustained by non-profit foundations such as the Ethereum Foundation for the Ethereum network. The open source EOS blockchain network software (EOSIO) is developed by Block.One, a for-profit company with over $4 billion in assets. The benefit of the private approach is that development can be far more efficient. The downside is that there is less transparency, fewer public open-source developers working on the core software and there could be a mismatch of incentives between Block.One and advocates on the public network.
The EOS community largely revolves around block producers from around the world that earn EOS inflation rewards of roughly $20 million per annum (as of May 1st, 2020). A number of block producer teams have developed open-source projects and have contributed in various ways to the ecosystem. Block producer teams also need to spread awareness to earn token holder votes so there are natural incentives for them to take part to build community, participate in events and build open-source tools and resources. Another benefit is that there are many regional block producers that can advocate for EOS within their countries.
Some examples are:
EOS Authority: created network analytic dashboards to monitor the network as well as user tools
EOS Rio: built the Simpleos wallet & Hyperion an open-source history API that uses elasticsearch
EOS NY: developed the Metro hardware wallet, wallet APIs and drafted the current EOS User Agreement
Cypherglass: created consistent EOS content to grow the community
EOS Canada: created educational content and history API tools such as dfuse.
Greymass: built the Anchor & EOS Voter wallets as well as maintains one of the most widely used history nodes.
EOS Asia: developer resources & network monitoring tools as well as EOS Go community forum
Starteos – China: mobile & cloud wallets, cold-wallet, dApp SDK
EOS Cannon – China: community outreach, myKey – self-sovereign identity wallet
Meet.One – China: community outreach and mobile wallet
Block.One has also taken a business-minded approach to the capital they earned from the token sale and announced they were committed to investing $1 billion to help grow the EOS ecosystem. Block.One’s venture arm eosVC has partnered with Galaxy Asset Management, a U.S. digital bank; FinLab, a German fintech investor; and SVKCrypto, and eosGlobal to invest $700 million. $300 million was reserved for its internal fund to invest in blockchain companies. eosVC has also allocated $1.5 million in grants for promising companies using the platform. Although there has been $1 billion allocated for investment, there have not been many significant investment deals announced so far for EOS startups.
One major project Block.One announced on June 1st, 2019 is Voice, a social media platform that rewards people for creating, distributing and discovering good content. The platform is similar to Steemit, Larimer’s previous blockchain social media project, but Voice requires users to disclose their identity to make sure that there is only one unique person for each account to encourage radical transparency while preventing bots from spamming the system. The tokens on Voice can be used to bid on and promote popular content to earn rewards for early discovery. In the future, the person who is last to promote a post will also be able to place a banner ad on top of the popular post. Voice is currently in beta so there will likely be some iterations before the platform is finalized.
Everipedia – is a wiki-based online encyclopedia. Founded in December 2014, the site was launched in January 2015 as a fork of Wikipedia. IQ Tokens allow us to keep track and reward people for contributing to Everipedia, and as the value of the platform grows, the people who built it get to share in its success.
Sense Chat – private messenger chat & video app. “Security and encryption backed by blockchain. No bots, no spies, no spam. Humans earn crypto while chatting.”
NewDex – first and most popular decentralized exchange on EOS
EffectAI – “provides human-labeled data for many use cases, such as training AI, automating processes, translations & transcriptions and many more.”
Mythical Games – a creative “next-generation game technology studio” that will enable ownership of digital assets with verifiable scarcity and are tradable in secondary markets.
The EOS ecosystem also differs from Ethereum in that the trend seems to be that applications are not just building on just the main EOS public network. In the Ethereum ecosystem, most applications are developed on the main network and could eventually congest the network unless Ethereum network implements sharding. Instead there are a number of public chains that are using EOSIO technology. Hence decentralization comes by the way of having many public chains that use and customize EOSIO technology to suit their needs for a particular industry or community. Instead of sharding, the future in the EOS ecosystem will likely be interoperability between distinct EOSIO blockchains.
The following are EOSIO public chains:
WAX (Worldwide Asset Exchange) – a platform to create and exchange virtual items anywhere in the world.
Ultra – blockchain network for the gaming industry and creating a fair ecosystem for the future of games distribution
Telos – enabling co-operative economies. Token distribution was to all EOS genesis snapshot holders capped at 40,000 Telos. Includes a worker proposal system that rewards contributors to the network. Projects include Seeds, Seacash, Drakos Keep, Ubiased, Dmail, Zeptagram
BOSCore – building a trusted business ecosystem. Tech-focused project in China. Innovated with 3 sec LIB for faster finality, the first EOSIO interblockchain communication implementation, and a commercialized oracle system.
Lynxchain – super simple and user friendly wallet and blockchain focused on the user experience.
Aikon – secure user Identities on the Blockchain. GDPR & CCPA compliant Identity as a Service that connects businesses & their users to public blockchains.
Block.One’s CTO Dan Larimer has a great balance of deep economic knowledge combined with deep software expertise. It’s rare to find an architect with his combination of skills. He’s unafraid to think outside the box and challenge convention and that has led to many of his innovations in the blockchain space. The EOSIO software is an impressive technology that challenges some of the fundamental beliefs about how a blockchain should be designed. With a relentless focus on usability and performance, EOSIO is the network that may be the most ready for mainstream adoption. The Center for Information and Industry Development (CCID), under China’s Ministry of Industry and Information Technology, maintains rankings for the top cryptocurrency technology and EOS consistently ranks #1 and in the top of class for the basic technology score and roughly tied with Ethereum for second after Bitcoin in creativity score.
Block.One is at the forefront of developing the infrastructure for the most practical and user-friendly applications as well as most developer-friendly software. Users and developers do not have to worry about fees for every transaction and the performance of the network enables a user experience similar to normal web applications. Block.One continues to focus on key management with support for Webauthn & Yubikey hardware, innovate with decentralized identity, as well as seamless authentication user experiences. EOS architecture allows blockchain developers to build and iterate on software the way they normally do before upgrading programs to be permanently immutable.
Block.One has a significant war chest to build out the ecosystem and compete against many other smart contract platforms. A lot of money is not always as advantageous as it may appear, but compared to the many other newer blockchain smart contract projects that have more limited funding and a limited pool of developer talent, having billions definitely helps. Block.One takes a business approach and is building technology so that Block.One can build applications such as Voice internally for their own benefit.
EOS generally has a negative stigma due to the massive amount of money they earned through the token sale and the idea that it’s centralized. The concentration of power in the block producers is an attack vector and should be a concern, but token holders have the ultimate power in the system. A better design to limit block producer power should eventually be implemented. Smart contracts on EOS start off as mutable to offer a better developer experience, but users need to be aware of and be comfortable with multi-signature setups on EOS smart contracts early on. This design may not be as socially scalable as Ethereum, but users still have to be aware of any mutability built into Ethereum smart contracts as well.
Block.One is the main driver of the ecosystem and almost all the funding is private within the organization. The Ethereum Foundation offers grants of about $30 million per year to fund open source research and infrastructure development. While Block.One may be able to use resources more efficiently privately, the Ethereum Foundation creates more public goodwill and support among open-source developers. Block.One does have a small $1.5 million grant program and about $20 million of inflation rewards to block producers who produce very meaningful open source software, but over time the inflation funding has shifted towards going back to token holders through vote buying so probably less than half of that goes towards research and development projects run by block producer teams.
Many suggest vote-buying is problematic and it can be expected that a lot of vote swapping and vote buying does happen on EOS. In a free market an approval voting system will naturally create cartelization and vote exchanging. Ultimately vote-buying in a free market may not be a problem at all. It’s perfectly legal and does happen within corporations. Vote buying could just signal that token holders believe inflation rewards are too high and can be seen more as a voter rebate method as Brendan Blumer has described.
Lastly there is a trend in the EOS ecosystem of organizations forking the technology and creating independent chains rather than using the main EOS public network. Applications have many EOSIO networks to choose from and eventually could also decide to build their own independent chain. Hence it may be better for the advocates of the EOS blockchain network to focus on being a reserve currency or settlement chain among many other EOSIO chains when interoperability becomes more prevalent.
EOSIO technology is very different from typical blockchain software and the advantages focus more on user experience & performance and addresses the real world challenges of the average person. Mainstream users will continue to lose keys and passwords. Paying transaction fees for each action and even having to authenticate each action will deter most people from using blockchain technology. Scalability will always be an issue when applications become popular. The immutability of blockchains make the software development process too difficult. Hence the design decisions around technology become much more critical when keeping the users and developers in mind. Hence while the EOS network challenges blockchain orthodoxy, it is probably the most practical blockchain network that exists today.
If you live in the US or Europe you can buy EOS on Coinbase, a reputable Silicon Valley based firm backed by major venture capital companies:
You can also use Coinbase to buy if you’re from: Canada, Mexico, Australia, Chile, Singapore
You can use another reputable exchange Binance almost anywhere in the world outside the US.