In-depth analysis of the current state of the Block Producer model in EOS
The battle is on for the right to be one of the 21 block producers (BPs) as part of the EOS main network (mainnet) launch on “June 3, 2018, 7:00 AM GMT+9”. As a Delegated Proof of Stake (DPOS) blockchain, EOS’ block confirmations will be handled by these 21 block producers, as voted by their constituents, instead of using the energy-consuming Proof of Work (POW) consensus block confirmations as with Bitcoin.
As it now stands, different BPs have their strengths — for example, EOS New York has experience and leadership on the governance front, while the Chinese EOS groups appear to have a massive following and strong backing of many EOS token holders. Since every EOS token held will have 30 votes each (each token cannot vote for the same node twice), block producers will have to ensure that they win enough votes to qualify on the top 21 list, or be benched on the standby list.
Hence, there is a very competitive bid for each block producer to put forward their proposals and contributions to the community as we hurtle along towards the mainnet launch date.
In this piece, we explore EOS, the current block producers, the requirements of being a block producer, and the EOS community.
What is EOS?
EOS was founded by Dan Larimer (who is also the founder of Steemit and Bitshares, some of the earlier products in the space showcasing the possibilities of decentralized applications and DPOS).
Largely due to legal reasons, so as not to be construed as a security, the EOS.IO software is produced by a separate entity called block.one, led by Dan Larimer. EOS.IO is meant to be a free and open source software for use by EOS developers. As part of its software suite, developers can create EOS smart contracts and draw up governance systems within decentralized autonomous organizations (DAO), and use it as the OS for decentralized applications (dApps).
The philosophy behind EOS is to create a blockchain platform that fulfills the following (as explained in greater detail in the technical whitepaper):
- Support millions of users
- Free transactions (usage)
- Easy upgrades and bug recovery
- Low latency
- Sequential performance
- Parallel performance
The design of EOS, incorporating these properties, stem from the fact that current blockchains tend to have scalability issues, making them hard to deploy for applications requiring quick responses and confirmations at high volume. For example, with a block confirmation approximately once every ~10 minutes for Bitcoin, or ~13–14 seconds for Ethereum, it is difficult for consumer-facing applications or payment systems to really provide snappy feedback when a user is waiting in line or online for their transactions to confirm.
There are a total of 1B available EOS tokens, and the initial funding for the development of the EOS ecosystem is done through a token sale over the course of one year. The core team shared that the the EOS Token distribution takes place over 341 days to provide ample time for the community to familiarize themselves with the project, as well as participate in the distribution.
As of April 4th, 2018, 776,000,000 EOS tokens have been distributed via the token sale. Total amount of ETH collected as part of the token sale has been 4,768,749 ETH.
According to Coinmarketcap on March 29th, 2018, EOS is the #6 ranked token in market cap at $4,631,625,931.
EOS voting system
The current version of the EOS voting system works such that every 180-ish seconds, all votes are counted per token holder, and the top 21 block producers are elected for that round. There are currently 1B EOS tokens — assuming each EOS token holder stakes all tokens for voting, there will be about 30B votes received by all candidate block producers.
While there’s much discussion about the number of votes required to be a sustaining BP, I will provide analysis from a few angles. This is of course a hypothesis and serves as a guide for you to build upon:
- Comparing to LISK, also a DPOS blockchain, that already has a live voting process.
- Using some basic assumptions based on the context around EOS. It’s anyone’s guess what the final outcome will be, but we can draw some hypotheses based on the current situation. Note that the economic structure will also change as more details are released in the coming weeks.
We can compare the EOS DPOS structure and plans to Lisk, another project utilizing DPOS structure.
Lisk has a system of 101 “delegates” and voters have 101 votes each with no double voting. Since there are over 1500 possible delegates to vote to, the top 101 represents 6–7% of the total possible candidates. According to Coinmarketcap, the circulating supply of LISK tokens is: 103,481,304. The maximum amount of votes a single delegate can receive is also: 103,481,304.
At the moment, the top delegate is “thepool”: https://explorer.lisk.io/delegate/10839494368003872009L. This delegate has received 42,464,294 votes from 10,988 voters, with an approval percentage of 35.49%. The effective average votes per voter for this delegate is 3864.
The 101th delegate is “alepop”: https://explorer.lisk.io/delegate/9010579446607279905L. This delegate has received 29,661,297 votes from 4593 voters, with an approval percentage of 24.79%. The effective average votes per voter for this delegate is 6458.
It is interesting to note that 33 of the 101 Lisk delegates are part of the GDT Pool: https://pool.liskgdt.net/members, which keeps a transparent list of members and has continuously made good contributions to the Lisk community, legitimizing their consolidation of delegates.
Thus if we take this information from Lisk at face value to arrive at numbers for the EOS Block Producer candidate voting, with 1B EOS tokens, each block producer can theoretically receive 1B votes at the maximum. The 1st placed BP should receive around 350M votes and the 21st placed EOS BP will receive around 250M votes. Assuming that each voter holds an average of 5000 votes, there will be around 70,000 voters for the 1st placed BP and 50,000 voters rooting for the 21st placed.
Another way to calculate potential outcomes for the EOS voting procedure is to take some common sense approaches in understanding different scenarios, considering different parameters based on economic incentives.
In my simple model to calculate possible vote outcomes, I’ve used a calculation based on 2 points:
- Participation: How many tokens participate in the voting process
- Vote difference between the ranks: How much vote differential does one BP get from the one before it
In this case, I mocked up multiple scenarios showing how each BP’s votes might turn out based on these twin factors of participation and vote difference. Realistically, vote participation may not be that high, hence I capped the participation rate at 70% in these scenarios; it could be a lot lower, assuming only block producers vote amongst themselves (which means there could be a potential of vote-trading, which is against the constitution).
Another peril I have not shown in these models is the fact that not all 30 votes need to be deployed for each token; for example, BPs can choose to vote only for themselves and their allies. Given enough holding volume, collusion can happen, with the top 21 belonging in the same cartel and voting for each other every round.
As 21 is not a large number, we cannot rule out the possibility of such collusion.
If you are interested to play with the numbers yourself, please make a copy of the sheet here: https://docs.google.com/spreadsheets/d/1gUEFkDN9LfZjmJhKuJP16rhLZdu1eaIhtu1eQCBSmy0/edit?usp=sharing
(If you do model out the effect of potential collusion, do share it with me and I can feature your model in this post.)
The role of block producers
Block producers are an integral part of the EOS.IO network. Essentially, they are decentralized entities that operate and govern the EOS blockchain on behalf of the EOS stakeholders. They provide services to the blockchain in the form of hardware for block confirmations, and growing the value of EOS through community education.
Block producers will be incentivized to continue being good BPs for their constituent EOS stakeholders, as they will receive a certain percentage inflation in EOS tokens per year as their reward. That is to say, they have to stay in the BP spot so they can receive more rewards; and they are aligned in contributing to having more projects and backers of EOS so that the value of the tokens they receive will grow over time.
The exact amount of BP rewards is now likely to be capped at 1%; at this level, BPs will need to be highly efficient in resource allocation for the economics to make sense in operating as a BP. Some of the requirements of a good, high-performing BP are:
- Block creation/confirmation
- File hosting
- Standing by back-up servers
- Initializing and designating seed nodes
- Following the constitution
- Account freezing, action on misbehaving contracts
- Enforcing take-down notices of files
- Staying on top of hard and soft forks, fees (account creation), optimizing parameters (blocksize, rate-limited capacity)
- Acting like a CEO in a traditional company, basically keeping everything internal under control
- Communicating with other block producers
- Campaigning to get elected as a BP
Possible extra services:
- Account recovery
- Account creation
- Price feeds
- Dispute resolution service
EOSphere created a good summary of the role of an EOS block producer: https://youtu.be/YLt5uexD9gg
The EOSGo forum has decided that, as a good community member, they will not be participating in the election of Block producer candidacy to avoid any potential conflicts of interest. They have dedicated resources to evaluating different BPs based on 6 main criteria:
- Public Presence
- ID on Steemit
- Tech plans
- Telegram + testnet
The total score is then published in the below infographic on a rolling basis weekly:
Technical requirements for being a block producer
Since BPs are critical to the health and stability of the blockchain, the technical requirements are relatively demanding as well. The exact needs on the technical requirements front is still in the works and not decided, all the information that BPs and others in the community are talking about are still speculation and guess-estimates.
To support the blockchain as a BP, enterprise-level set ups are necessary. For example, a BP such as HelloEOS is planning on the following specifications: 16 cores, 256GB RAM, 1TB SSD HD.
In this case, to estimate the cost of provisioning a similar set up, we observe the prices for a comparable Microsoft Azure service: a D15 v2 to run the node, the 20 cores, 140GB RAM and 1TB temporary storage — $3.059/hour before taxes. A single set up of the following specs will cost $26,797 a year. (Note that even a D15 v2 instance doesn’t fulfill the requirement of a 256GB RAM as proposed by HelloEOS.)
The cost of maintaining such a setup is definitely not low, meaning that only those with the prerequisite monetary and technical resources can put in a competitive bid to be a BP in the first place. This could signal some form of self-selection where only wealthy token holders and consortiums can be a BP to begin with, and stand to benefit most from the BP rewards in the long run.
Additionally, we also see the potential risk of many BPs using cloud providers such as AWS and Azure, in effect centralizing the EOS infrastructure on the current oligopolistic cloud provider market, defeating the purpose of decentralization in the first place.
Top EOS token holders
Speaking of centralization, we can also analyze the current token holders of EOS. Since EOS is a ERC-20 token today, all EOS-holding wallets can be viewed on Etherscan — https://etherscan.io/token/EOS
There are about 300,000+ unique addresses with EOS, with 70%+ of tokens held by the top 100 accounts.
EOS SoCal presented another cool infographic view:
Wallets supporting EOS
Most of the major cryptocurrency wallets and exchanges that support ERC-20 tokens have announced plans to support EOS mainnet token swap. After the conclusion of the EOS token sale, the EOS tokens will transition from ERC20 EOS into Mainnet EOS. Thus :
- Cobo is a secure mobile wallet for over 20+ cryptocurrencies.
- Scatter enables signing EOS transactions on web applications (like Metamask): http://scatter-eos.com
- Exchanges like Binance (see “Where to trade EOS” below)
Where to trade EOS
Since EOS is currently a ERC-20 token before the mainnet token swap, let’s take a look at the avenues for getting EOS with your ETH tokens (alphabetical order):
dApps planned to be released on EOS
Some highlighted projects:
(no particular order, more to come in the next few months)
- EasyEos — A smart,easy eos wallet.
- Evolution — New decentralized Blockchain built using EOS open source.
EOSBook — book exchange.
- antonym.life — antonym.life — always prepared — the LinkedIn for your personal life.
- WEOS Social Dapp — WEOS: Improving the way we connect with each other and the market at-large.
- Project Graceland — National governance where the rules of administration are coded into smart contracts.
- RedAppl — A dating app built on EOS bringing an innovative evolving profile algorithm.
- EOSFinex — High performance decentralized exchange combining EOS.IO software with Bitfinex experience.
- Everipedia — Crowdsourced wiki platform, online encyclopedia.
- Ono — decentralized social network.
- Scatter — decentralized application bridge for the EOS blockchain.
- Billionaire token — Decentralized games on the blockchain. Currently on Ethereum.
Who’s who in EOS
(based on contribution to Github and community sharing as of publishing time)
As with other blockchain projects, the community is imperative to its long-term success. For EOS, there is a burgeoning enthusiast and developer community, many of whom are already running tests on EOSD.
For reference, here are some of the most active members you see around the EOS community:
Block.one core team:
Dan Larimer, CTO
Thomas Cox, VP Product
Brendan Blumerm, CEO
Top EOS.IO Github commits:
To keep up with what’s what in EOS, there are also plenty of news resources. Two of these are the main congregating ground for many community members:
Telegram groups are often the best places to start looking at for community events and clusters.
Here’s a list collated by EOS New York:
EOS General Chat (English): https://t.me/EOSproject
EOS New York: https://t.me/eosnewyorkchat
EOS London: https://t.me/EOSLondon
EOS Nairobi: https://t.me/eosnairobi
EOS Hong Kong: https://t.me/EOSHongKong
EOS Nation: https://t.me/EOSNation
EOS SEA: https://t.me/EOSSEA
EOS Index (List of current EOS projects): https://t.me/eosindex
EOS Community Test Network: https://t.me/CommunityTestnet
EOS Developers: https://t.me/joinchat/EgOVjkPktgfUS3kt14FStw
EOS Game Developers: https://t.me/EosGameDevelopers
EOS Price and Trading:
EOS Price Discussion: https://t.me/EOSPrice
EOS Discussion Channels:
EOS Block Producers: https://t.me/EOSPros
EOS Governance: https://t.me/EOSGov
EOS DAC Creators: https://t.me/EOSDAC
EOS Opportunities: https://t.me/eos_opportunities
EOS Design: https://t.me/EOSdesign
EOS Marketing: https://t.me/EOSmarketing
EOS China: https://t.me/EOSCN
As with any new community and project, this level of turbulence, excitement and hype is expected. My personal belief is that as the community evolves and makes more concrete decisions, we will see more equitability among block producers, developers, investors, users and companies alike. Let the “Romance of the 21 EOS kingdoms” continue to bring us laughter and joy. With the differences between the different BP candidates, innovation, governance and responsible growth of the EOS ecosystem will thrive.