Participants And Their Roles In EOS Dapp Platform
Among the most complicated types of crypto projects there are the ones that are evolving in the Dapp direction. Distributed applications are kinds of software spread across the network of nodes and executed in a decentralized way. The most well-known examples are Ethereum (and its forks), NEO, and EOS.
According to information published on the EOS website (last updated on March 16, 2018), EOS is a blockchain project focused on the development of scalable Dapps. It supports both vertical and horizontal growth. Such effect is reached through the implementation of their own operating system. It is the next step after virtual machines used in other similar projects. All particular software units are built upon this platform.
The EOS ecosystem supports accounts, asynchronous software execution, decentralized applications performance, and other less crucial features. All activities are executed across multiple microprocessors. As a result, the EOS network is able to process millions of transactions per second.
Now let’s take a look at EOS participants and their roles.
The first difference in participation comes from consensus achievement. EOS uses a complex double-consensus approach. It includes the Delegated Proof of Stake (DPOS) in the beginning and asynchronous Byzantine Fault Tolerance (aBFT) thereafter. The first one allows reaching a high transaction rate, while the second one is used to finalize the result.
DPOS is based on the POS approach. According to the DPOS, all members can take part in consensus achievement. They should block some money to do that. They select block producers using a special voting system. There are 21 producers involved in the process at a time. Each of them has the right to propose two blocks. After the round ends, new producers can be called by staking members.
In order to interact within the Dapp approach, EOS proposes an account system. Here accounts are similar to Ethereum’s. Account creation requires some preconditions like RAM reservation. Each account is valid across different applications as they can share account data.
Every account can be subjected to distributed control. It means that only a group decision will be accepted as valid and properly performed. Accounts can be united into groups with different weights of groups and particular members.
Another important role concerning accounts is called a recovery partner. EOS allows recovering an account even if a password or control over it is lost. However, this process is complicated.
A software unit in EOS consists of several components available to anyone. They can be installed at will. Namely, they are:
- nodeos is the central EOS.IO process used to perform node functions. It can be configured with different settings in regard to particular goals.
- cleos is a component of a command line used to provide blockchain access and wallets management.
- keosd is the key management part of software. It supports security while storing wallet keys.
- eosio-cpp is a component responsible for binary sequences generation and C++ code processing. It provides Dapp support.
EOS is a huge project with many various components. Even a brief look at its single component allows estimating its harmony and potential. Besides the roles available for participants, there are many peculiarities concerning consensus, smart contracts, Dapps programing, and others. We will talk about them in our following articles.