EOS Token Sale (ICO): DPoS Smart Contract Platform

EOS is a next-generation smart contract platform, utilizing a Delegated Proof of Stake (DPoS) consensus mechanism that emphasizes high transaction throughput and scalability. EOS positions itself as a competitor to Ethereum as a platform for decentralized applications (dApps), offering increased scalability features as a tradeoff to a comparatively centralized node distribution.

EOS is a next-generation smart contract platform, utilizing a Delegated Proof of Stake (DPoS) consensus mechanism that emphasizes high transaction throughput and scalability. Transactions are confirmed by a group of 21 block producers (BP) in the DPoS architecture, who are elected by EOS token holders. Initial pre-launch tests suggest that the EOS blockchain can process at least 1000 transactions per second (TPS), considerably more than Ethereum’s 15 TPS.  EOS positions itself as a competitor to Ethereum as a platform for decentralized applications (dApps), offering increased scalability features as a tradeoff to the comparatively centralized node distribution of DPoS. Through the EOS constitution and block producer campaign system, the network aims to function as an early example of on-chain governance. The EOS software is developed by Block.one and in particular CTO Dan Larimer, who previously created Bitshares and Steemit, which both utilize DPoS. Project development was funded by a June 2017 – June 2018 token sale, which raised over $4 billion.

Background

A key motivating factor for EOS’ development is the continued issue of scalability in Ethereum and other blockchain platforms. While offering a wide array of functionality as a Turing-complete smart contract platform, Ethereum’s current transaction capacity may limit its adoption for many consumer-facing dApps that require high transaction throughput. While protocol features such as sharding and a switch to Proof of Stake with Casper may enable Ethereum to scale effectively, EOS is designing a protocol emphasizing scalability and user experience as primary features.

Ethereum’s scalability issues are related to a core trilemma in blockchain systems. In Proof of Work blockchains such as Bitcoin and Ethereum, each node stores all network states and account balances, respectively. Therefore, the overall transaction throughput is effectively limited to the slowest node’s capacity. This architecture offers considerable security and immutability guarantees, but at the cost of scalability. As explained in the Ethereum documentation and discussed further by BigChainDB, this describes a scalability trilemma in blockchain systems, permitting only two of the following:

  1. Decentralization, as the number of nodes/block producers
  2. Scalability, the number of transactions per second that can be processed
  3. Security, the effective cost of a 51% attack on the network

Crucially, this is a trilemma restricted by current technical capacity/state, not a long-run theoretical restriction. EOS’ architecture in particular compromises decentralization in return for considerable scalability gains. In Delegated Proof of Stake, token holders vote for a relatively small number of block producers that validate transactions on the network. This architecture can be seen as a tradeoff between node centralization and scalability; a DPoS system with fewer nodes can validate more transactions, but can more easily be controlled by a small number of actors. For comparison, EOS uses 21 block producers while Ethereum has thousands of nodes.

At a high level, this network design is related to broad developments and considerations within the blockchain space. Decentralization is a multi-faceted characteristic of distributed systems that involves more than just the number of network validating nodes, and extends to their distribution by location and hardware manufacturer. As Smith + Crown previously noted in the Stellar and Virtue Poker reports, decentralization should be valued as a means for enabling features, not as an end in itself. Nonetheless, given Ethereum’s occasional network congestion under peak load conditions from just a handful of live dApps, it may be reasonable to view the ‘smart contract platform’ use case as one that should prioritize scalability.

Protocol Description

Delegated Proof of Stake

As noted above, the primary feature distinguishing EOS from other smart contract platforms, such as Ethereum, is its use of a Delegated Proof of Stake (DPoS) consensus architecture. In Proof of Stake, token holders produce blocks themselves in proportion to their holdings. In DPoS, token holders elect third party block producers, who produce blocks and validate transactions. Dishonest block producers are removed from the consensus process by token holders, whose vote is proportional to the percentage of total tokens held. Block producers are not required to have a significant token stake themselves, and tokens used to vote for block producers can be used and transferred; the tokens are not locked directly, as in traditional Proof of Stake systems. Effectively, the slashing condition for invalid transaction processing by block producers is token holders realizing this and removing them from their block producer role (thus losing the token rewards through inflation), not block producers losing staked tokens (as in PoS). Token holders are not directly compensated for voting, but are incentivized to elect quality block producers who will maintain the integrity of the network and the value of the EOS token: users with more tokens will be more interested in electing quality block producers that maintain the value of their own tokens.

Block Producers

On the EOS blockchain, token holders elect 21 block producers who confirm transactions. Blocks are produced in rounds of 126, where each elected block producer confirms 6 blocks. The ordering of block confirmation is scheduled by agreement of at least 15 block producers. Blocks not created by the designated producer are skipped, and the transactions are included in the next block. Since each block’s producer is designated in advance, there is no competition between producers as in Proof of Work. Also, there is no explicit maximum block size; the limiting factor is the block producers’ collective processing power and database capacity. Additionally, block producers can omit transactions and alter network code with the approval of 17 out of 21; this enables more flexibility to censor malicious actors or fix the faulty code prevalent in smart contracts, leading to incidents such as the Parity bug.

The genesis implementation of EOS will have a maximum yearly inflation rate of 5%; a portion of this inflation is allocated to block producers to offset costs of securing the network. This allocation can be altered by changing the EOS constitution, as agreed upon by at least 15 of the 21 active block producers. Given the considerable rewards to being a block producer, EOS expects a pool of more than 21 to compete for support within the EOS community. This acts as a security layer, as another block producer can step in to fill a missing role or a missed block. Indeed, prior to EOS’ launch in June 2018, major exchanges such as Huobi and Bitfinex announced BP candidacy campaigns. In the interest of network security, block producer rewards are not limited to the 21 active block producer voted in by the token holders.

While the initial release of the EOS software defines a 5% maximum inflation rate, block producers submit bids for what portion of this 5% is to be allocated to their total compensation. The remainder of the inflation is allocated to an in-development worker proposal system, potentially similar to the Dash treasury system, where users can receive funding for ecosystem projects as voted by block producers. Alternatively, this portion of the inflation may be burned. An initial schema of BP rewards designates 1% of the 5% maximum inflation, split between these two groups of BPs. The 21 active block producers split 25% of this 1% in proportion to the number of blocks produced, which will be approximately equal. The remaining 75% is allocated to all active and standby block producers in proportion to the number of votes that each receives; since the 21 active block producers need a significant share of votes to be elected, they will accrue the majority of this allocation. A revenue analysis published by BP candidate EOS Canada models various scenarios of BP revenue under varying inflation, BP rewards, token price, and vote distribution cases.

On-Chain Governance and the EOS Constitution

Key stakeholders have diverse and sometimes conflicting interests, making protocol governance difficult on blockchain networks; the BTC/BCH fork over scaling concerns and the ETH/ETC fork in the wake of the DAO exploit are prominent examples. On EOS, the block producer voting system functions as a form of liquid or delegative democracy and gives individual token holders a clear voice in protocol changes. One manifestation of this process is the EOS constitution, which functions as a P2P terms of service agreement that defines network features and intentions that cannot necessarily be coded into the system. Changes to the EOS constitution are ratified by at least 15 of 21 block producers; token holders have a proxy vote via their election of block producers. Through this process, stakeholders can alter key protocol parameters, such as inflation rate and the reward allocated to block producers. All transactions must include a hash of the constitution. Prior to EOS’ mainnet launch, governance leader Thomas Cox proposed an initial version of the constitution. The constitution may function primarily as a statement of intent, rather than a legally or code-enforceable agreement; this is a philosophical departure from the ‘code is law’ ethos of the Ethereum network. Broadly, on-chain governance permits more agile, frequent updates.

The particular dynamics of the EOS block producer voting procedure are notable. Each token holder may vote for up to 30 block producers, allocating each a number of votes equivalent to the number of held tokens. For example, a user with 1000 EOS can allocate up to 1000 votes to each of up to 30 block producers. This system of approval or stake-weighted voting is intended to delegate influence based on stake in the network; users with more tokens will be more interested in electing quality block producers that maintain the value of their own tokens. This model differs from typical democratic voting systems, where each person has the same influence. It also reduces the voting influence of large token holders. However, DPoS voting systems introduce a key incentive/coordination issue between token holders and block producers. Given the considerable token rewards to being a block producer, they may engage in ‘vote-buying’, campaigning for token holder votes with the promise of kickbacks from the reward pool. Indeed, this is a feature of block producers in other DPoS systems, such as Lisk. Vitalik Buterin has criticized this model as being vulnerable to rent-seeking cartels and reducing effective network security. While this is a theoretical feature of DPoS networks including EOS, the initial EOS constitution will include a clause prohibiting vote-buying, and many leading block producer candidates and CTO Dan Larimer have expressed commitments against this.

User-Friendly Architecture

EOS emphasizes a variety of user-friendly features in its design, including the following:

  • Human Readable Account Names – Individuals can register accounts with custom, human readable names. Compared to the extended strings of numbers and letters representing accounts on other protocols, this offers a simpler user experience. Users can also register sub-domains and namespaces within organizations.
  • Protocol Level Account Recovery – Users can recover their accounts with lost private keys by designating an account recovery partner. Each EOS account has multiple private keys; if a private key is lost or stolen, accounts can be recovered with a recent owner key and the approval of their designated account recovery partner. This resembles a multi-signature wallet in other blockchains, but the second party is only involved in the account recovery process.
  • Delayed Transactions – As a security mechanism to prevent loss of funds, users can designate a mandatory time delay before a transaction is sent. Transactions can be confirmed via two-factor authentication, and the account recovery process can be used to secure the account before the transaction is processed.
  • Zero Transaction Fees – On the EOS network, users do not pay transaction fees directly; instead, a set token inflation rate compensates block producers for their work in securing the network. This zero transaction fee model offers a usability benefit to dApp users, particularly for applications such as social media networks that may require frequent microtransactions.

Asset Details

While EOS as a smart contract platform will compete with the Ethereum network, the role of the EOS token is considerably different than that of ETH. Per the upcoming Smith + Crown Token Rights framework, the EOS token provides access to premium features on the platform. Token holders have a claim to the network’s computational and storage capacity in proportion to their holdings. There is no fee paid to execute a smart contract. Instead, token holders must hold tokens commensurate with the amount of processing and storage capacity required to execute the smart contract on the EOS network. Token holders can purchase RAM processing power, CPU space (including storage), or participate in the governance process. In order to efficiently allocate processing power, the current implementation will include an internal market for buying and selling RAM. Tokens used for CPU space and block producer voting are locked in a smart contract. This is in comparison to the role of ETH, which functions as a payment mechanism for smart contract execution on the Ethereum Virtual Machine.

A total of 900 million EOS was offered in the token sale, with a further 100 million EOS allocated to Block.one over a ten-year vesting schedule. The total supply is inflationary at an initial annual rate of 5%. An initial pool of 200 million EOS was sold during the first five days, and 700 million was split evenly in 23 hour sale periods for the remainder. The tokens are distributed pro rata to contributors in each period; a record of contributions is found at EOSScan.io.

The EOS ERC20 token offered in the year-long sale is only a placeholder for funding purposes. After conditions are met for mainnet launch in June 2018, the EOS ERC20 tokens will be exchanged on a 1-1 basis with actual tokens on the EOS blockchain. Users must register their Ethereum address in advance of the launch in order to exchange tokens. As defined in the initial software, holders of at least 15% of the total supply of the EOS ERC20 token must register and vote for block producer candidates on one chain in order for the network to launch.  Some exchanges, such as Binance, Bitfinex, and Kraken, will support this crossover on platform.

Governance

The EOS software is developed by Block.one, a Cayman Islands-registered software company. While Block.one is developing the software and receiving proceeds from the token sale as company revenue, it explicitly states that it will not facilitate the launch of the EOS software or operate any block producer candidates when the year-long token sale is complete. The EOS software will be released under an open-source license, and there may be multiple, competing implementations of the EOS software. Indeed, projects such as WAX will utilize a custom version of the EOS software for their application. The funds generated from the token sale accrue to Block.one as revenue, which will be invested primarily in a variety of ecosystem funds to promote development related to EOS. Given that over $3B has been raised through the EOS token distribution at the time of writing, this gives EOS a significant warchest to promote development. Announced ecosystem funds include $325 million with Mike Novogratz’s Galaxy Digital, $200 million with EOS Global, and $100 million with FinLab AG. Prior to mainnet launch, several dApps have begun development on the EOS platform, some of which plan to bootstrap communities through token airdrops to EOS holders. Bitfinex plans to build a DEX based on EOS. Broadly, protocol governance occurs on-chain, but Block.one will likely remain influential in ecosystem development and direction.

Conclusion

Within the broad cryptoasset space, general purpose smart contract platforms have acquired significant market share and widely championed development prospects. While Ethereum is currently the largest platform with a multitude of applications and a native token issuance mechanism that was central to the 2017 ICO boom, other projects such as EOS seek to compete across areas of governance, scalability, and interoperability. In the context of the overall token sale market, EOS’ funding position is unprecedented; it has raised over $3 billion in the past year, accounting for over 20% of the lifetime funding market. This figure dwarfs the next largest public token sale, Tezos, by an order of magnitude. By extending the token sale over the course of a year and providing rapid liquidity to participants, EOS has already built significant community traction and ensured a broad token distribution. The chart below compares the monthly EOS raise to the remaining token sale market.

 

Reflecting on EOS’ development prospects reveals several interesting themes. One is that, as a fundamental infrastructure layer, smart contract platforms have thus far exhibited significant network effects, though some have questioned whether this is a long-run feature. EOS’ scalability and ecosystem development funds may prove attractive to dApps and their developers. Another question that has surfaced concerns EOS’ comparatively centralized node structure, inspiring a debate about degrees of censorship resistance (‘platform-grade’ vs ‘sovereign-grade’). The former describes resistance against the validators of a platform, such as EOS or Ethereum, rejecting certain transactions or applications deemed fraudulent or problematic. The later describes resistance against a sovereign state-level attack. While it is not clear that this is a meaningful dichotomy, the debate does suggest how deliberate choices can meaningfully influence development prospects for competing smart contract platforms as they seek to capture activity in different market and technology sectors. Here, EOS’ design architecture focuses heavily on scalability and user experience, but whether those objectives will be seen by developers and platform users as unacceptable sacrifices relative to concerns in other realms such as decentralization is likely to be a question that will only be resolved over time. What does seem certain is that the trajectory of EOS’ growth and development in the year ahead will provide a powerful lens through which many central themes in the blockchain and cryptocurrency spaces can be monitored and evaluated.