What is EOS? Understanding the Blockchain Protocol
Table of Contents
- Introducing EOS
The EOS Logo
Who is Block.One?
The Block.one Team
- The Benefits of the EOS Blockchain
Can Support Millions of Users
Free to Use Platform
Recovery from Stolen Keys
- Technical Detail
Light Client Validation
Biometric Hardware Support
Programmes and Tools
- What are the Projects Building on EOSIO?
- How to Buy EOS in NZ
EOSIO is a blockchain protocol that allows developers to create high-performance decentralised applications (dApps). They aim to solve the problem of large transaction fees and limited computational power that currently prevents widespread adoption of blockchain technology. This is achieved by replacing user fees with an ownership model, and with novel scaling solutions.
EOSIO provides developers with software for creating accounts, authentication, databases, and the scheduling of apps over multiple CPUs.
Designed to enable both vertical and horizontal scaling* of dApps while eliminating user fees, one can think of EOSIO is as a decentralised operating system.
*Vertical scaling is adding more processing power. Horizontal scaling is adding more systems or computers to the pool.
The EOS Logo
A Chestahedron, the geometric shape of the EOS logo, consists of four triangles and three quadrilaterals. The name, Chestahedron, refers to the fact that this geometric bell-shape is the basis of the left ventricle of the human heart. This shape was chosen by Block.one as the EOS logo because they build blockchain solutions designed to interact with humanity in a way that considers how we, as a human being, operate. It is the heart of the blockchain.
Who is Block.one?
Based in the Grand Cayman Islands, Block.one is responsible for writing the EOS code. Block.one is an open source software publishing company focussed on blockchain technologies. The company aims to provide end-to-end solutions from planning to product deployment. EOSIO was Block.one’s first project and has received global recognition. It is worth noting that Block.one hasn’t launched the EOSIO blockchain. They wrote the original code, but it was the EOS community who were responsible for initiating the network. This was to ascertain true decentralisation.
The Block.one Team
Brendan Blumer, CEO and Founder.
Daniel Larimer, CTO. Developed the Delegated Proof of Stake (DPOS) consensus, a scalable, high-performance blockchain architecture. DPOS is now used to process the majority of all blockchain transactions globally.
Ian Grigg, Partner. Ian Grigg serves as partner and advisor for the development of the EOSIO.
The Benefits of the EOS Blockchain
Can Support Millions of Users
EOSIO’s horizontal scaling allows the network to support millions of users simultaneously. This is an essential component if blockchain platforms wish to compete with the like of Facebook, or AirBnB etc. who have millions of daily users.
Free to Use Platform
A blockchain launched using EOSIO software doesn’t require the end user to pay for its use. App developers pick the payment model that works best for them. Existing blockchain platforms use transactions fees as a means of combatting spam. With EOSIO, no single user of the platform can saturate the network with spam, no matter how many transactions they send and how much they spend. This comes down to their stake-based consensus. As Blumer explains, blockchain inflation itself pays for the transaction costs, not the users.
Transaction latency is minimised with 0.5-second block production. Further, a broadcast transaction is considered confirmed (with a 99.9% certainty) in 0.25 seconds, on average. As mentioned in the BFT section, irreversibility of a transaction is achieved within one second of broadcasting.
Account Names and Hierarchical Role Based Permissions
Users can specify a unique account name of up to 12 characters. This makes it much easier to differentiate between multiple accounts.
To reflect the hierarchy seen in businesses, multi-user accounts can be set up to define which account can perform specific actions. As well as having benefits for companies, this is also of use for family accounts.
Recovery from Stolen Keys
Users can set a designated account recovery partner to help them regain control of their account if a key is stolen. The role of the recovery partner is limited to exactly that; they have no power over transactions or other account uses.
Built to handle sequential steps as required by high-performance apps.
With a focus on developing the ecosystem, the EOS VC is the venture capital arm of Block.One in place to connect potential projects to funding. There are no set criteria for the funding. Instead, each application is assessed on a case-by-case basis. The applicant needs to clearly identify a problem and describe how, using the EOSIO software, they have a solution that can be brought to life. If chosen, they will receive their share of $1b USD of capital.
The network uses a Delegated Proof-of-Stake (DPOS) consensus mechanism that lets token holders choose block producers (validators) via approval voting. In doing this, it means that a block producer’s interests must align with those of the token holder’s. To participate, producers need to stake some of their EOS tokens.
Forking is uncommon with DPOS-based blockchains as producers are cooperating to produce blocks and not competing. If a fork occurs, the honest network automatically switches to the longest chain which will be determined by the number of block producers working on it.
For more detail on the DPOS consensus algorithm, see The Missing White Paper on Steemit.
Initially, the block producers are 21 elected delegates as chosen by the token holders. Block producers work to validate the network’s transactions. In addition to this, the block producers are the first to try to run transactions and processes on the new network and as such, generate the chain the rest of the network runs on. The number of producers and who they are will change over time as the community finds value in other potential producers and votes for them instead.
A block can be produced every 0.5 seconds, and they are produced in rounds of 126 blocks. Block producers are penalised for underperformance and removed from the producer pool. This is done to keep the network running effectively and ensure reliable producers are scheduled.
As for block rewards, the number of tokens is determined by the median of the “desired pay” requested by all of the block producers. In saying that, a 5% cap on the total annual increase in token supply can be applied to the blockchains.
Byzantine Fault Tolerance Finality
The Byzantine Generals’ Problem is faced by distributed computer system networks where all participating nodes must agree on broadcast messages (reach consensus). However, some nodes may be faulty, while others may be actively looking to attack the network. Essentially, it all boils down to safe, reliable communication between nodes, and this is referred to as Byzantine Fault Tolerance.
Byzantine Fault Tolerance (BFT) is added to the DPOS consensus by having all block producers sign all blocks produced. When 15 producers have signed a block, which takes approximately one second, it is then considered irreversible.
The idea of the Byzantine General’s Problem comes from a story about of group of Byzantine generals planning an attack on a castle they wish to conquer. To be successful, they all must attack simultaneously. The problem arises from their communication, the method of which is by foot messengers. While delivering the message any of the messengers could be caught, and therefore the message isn’t delivered. Or, there could be corrupt generals sending false messages to sabotage the attack.
Sparse Header Light Client Validation
Following on from BFT, EOSIO has created the first blockchain with BFT sparse header validation. What this means is that more than 2/3 of the block producers need to be corrupt to deceive a light client. Also, light clients will only need to process block headers, as opposed to traditional light clients which must process all block headers and validate proofs.
Light clients are, for example, those on smartphones or browser extensions. They run on low-power, low-memory hardware as opposed to running a full node which requires vast amounts of storage space.
Through governance, a community reaches agreeance on important matters, decides how to carry out actions and amend the rules.
Blockchains using EOSIO software give their block producers the power to freeze user accounts, update apps, and propose hard forks within set limits. Ultimately, the token holders are responsible for voting in producers with community-aligned values and voting out any who don’t.
When it comes to freezing accounts, this ability is in place to debug misbehaving apps and allow for fast rectification of problems. If the app is deemed “unstoppable”, the producers can replace the offending account’s code without the need for a hard fork to implement the changes. For both freezing and replacing code, 15 block producers are required to vote for the action.
Community members submit Worker Proposals which token holder’s vote for. Winning proposals receive tokens as a reward. The purpose of Worker Proposals is to benefit the community by suggesting changes or additions to the blockchain.
Parallel Execution of Applications
The EOSIO software contains the data structure needed for running multithreaded, parallel execution of applications. Parallel execution involves breaking down a task so that multiple nodes are providing the resources necessary for the application to run. It is a way to reduce the response time for applications that may be data-intensive.
Support for Biometric Hardware Secured Keys (e.g. Apple Secure Enclave)
Apple’s Secure Enclave is a key manager that provides an extra layer of security on your device. The processor boots separately to the other hardware on Apple devices and isn’t accessible through the operating system or programmes. It stores 256-bit elliptic curve private keys unique to each device. These keys are used to unlock your biometric data such as your fingerprint or facial recognition.
EOS has extended support for key validation standard as used by Apple. The aim here is to create an IOS-based hardware wallet with biometric 2FA.
Programmes and Tools
- Nodeos - Nodeos are the core EOSIO daemon configured to run nodes. Nodeos (node + EOS) can be configured in numerous ways. They can be block producing or block validating, as an HTTP RPC API service for the chain or wallet, or as a combination of these. Basically, nodeos manages account publishing on the blockchain
- Cleos - A command line tool interfacing the REST API exposed by nodeos. To use cleos you first need the IP address and port number of a nodeos. You then configure it to load the plugin. Cleos is how developers interact with the blockchain and access wallets and accounts. It serves as the intermediary between keosd and nodeos actions.
- Keosd - Keosd is a light client component that stores and protects EOSIO keys in wallets and signs transactions to broadcast to the network. Developers use Keosd to manage wallets.
What are some Projects Building on EOSIO?
Businesses across a multitude of sectors are developing on the EOS blockchain. Below are examples of innovative ideas set to deploy shortly. For a more comprehensive list, see EOSindex.
- Emanate – a self-governing audio exchange protocol. The platform will allow users to stream music and create playlists that, if popular, can earn them money. Artists can monetise the entire creative process, from composition to the final song, and be paid in real-time.
- IF WHEN THEN – IF WHEN THEN are on a mission to organise non-formal education programmes to facilitate global employment. The company wants to help students looking for new pathways to learning the skills needed for the role they desire.
- QOQO – QOQO is a decentralised question and answer platform. Their goal is for knowledge to be treated as a “social commodity” shared conversationally. While their whitepaper is yet to be released, QOQO could be worth watching given the popularity of sites like Quora.
- FITBLOX – FITBLOX is a mobile DApp that combines fitness tracking, motivational incentives, and social media. By using blockchain, FITBLOX will enable users to own, protect, and control the information that they share with the fitness DApp.
- Everipedia – “The online encyclopedia reinvented for the modern age”. Live now, Everipedia has over six million articles already published. Best of all, the platform is free of ads and free to use! The layout of the site is clean, simple, yet elegant.
- KARMA – KARMA’s goal is to incentivise users to do more “good” in the world; to help out where needed. Users post about what they did, other users vote on posts, and everyone can earn KARMA coins for being a nice person. “The KARMA community believes that if basic human needs are met, it is in our DNA to interact positively with one another”.
- Conscious OS – A mindfulness development platform where users can earn WISDM tokens as a reward for dedicating time to improve their mental and emotional health. Users can choose to donate their rewards to select charities. Additionally, the system provides bio-feedback through the user wearing a smart-ring. This works to customise the development plan for individual users.
How to Buy EOS (EOS) in NZ?
To easily buy EOS (EOS) in New Zealand you can do so right here, at BitPrime. First, if you haven’t already done so, please register an account with us and have your ID verified. Finally, visit our EOS page to order your EOS. If you require any further assistance, please contact us and we will be happy to help.
Disclaimer: The above references an opinion and is for informational purposes only. Do not take this as personalised financial or investment advice. The opinions expressed by the author do not represent the opinion of BitPrime.
Last updated: 20/08/2018