CyberWay

## About the company

CyberWay is an infrastructure for decentralized applications. CyberWay is based on EOS, but with significant improvements.

CyberWay is a fork of EOS. So, the backward compatibility is held. The code contains most of the tolerable EOS parts, but excludes the awful ones. So-called “Smart Contracts” API backward compatibility is held too, but the insides have changed. That means every EOS application could easily become the CyberWay-based one and vice versa.

CyberWay is designed to handle complex applications with greater availability of decentralization. The scalability and performance offered by CyberWay are suitable for running complex applications, financial services applications, or gaming applications. The absence of censorship and privileged accounts (all accounts have the same rank) makes CyberWay more decentralized than EOS, and the presented technical features allow developers to create advanced applications based on it.

## Features of Cyberway work

EOS’s bandwidth distribution is closely related to the amount of asset the particular user owns.The bandwidth accounting is split to the couple of categories:

* Priority-based bandwidth allows a user to get required computational facilities according to the amount of core-asset available.
* Shared bandwidth supplies users with the unused computational power according to the particular user activity.

According to CyberWay assurance, EOS’s state storage is extremely unreliable and does not ensure that data is saved and restored after restarting correctly. Furthermore, EOS does
not provide any convenient API, but supposes the data structure stored inside would be complex. CyberWay solves these troubles. CyberWay uses the external DBMS for the state storage, which means that any query language can be used and the external well-designed replication and clusterisation mechanisms are also about to reduce the hardware costs.

Because of the storage internals being factored out into the separate service, the additional transaction contents-based event engine implementation is required. It is now impossible to alert the CyberWay executable from the various databases if something happened or not, just like it was in EOS. Monitoring-purposed event engine, implemented as a part of an updateable application, takes back the ability to track changes coming with every transaction.

Just like EOS, CyberWay requires for the transaction behaviour to be updated easier, than updating the whole cluster software. That is why the WebAssembly engine is used for the virtualization purposes and with C++ as primary language for the application development.

Protocol properties are also changed compared to EOS’s ones. First of all, block generation time is increased for achieving more stable node replication. EOS’s 0.5 second block replication time is fine for most applications in case all the nodes are located in the same datacenter. But for truly distributed protocol, this requires to be increased due to increased network latency. CyberWay supposes the block replication time to be 3 seconds.

Validators are the key members of a protocol. They keep the database safe and consistent and get rewarded for that. In spite of EOS’s 21 default block producers, in CyberWay the number of block producers is to be increased up to 101 in the future. This is required for more decentralization to be achieved.

CyberWay consensus algorithm is heavily inspired by Tezos’ and Cosmos’ one. So, active users are rewarded for voting and non-active users are punished for not voting. Every account is allowed to vote for several validators with staked tokens.

A validator’s weight is determined as follows:

`w = m / sqrt (S), where m is a number of votes for any particular candidate, S is a total number of votes for any particular candidate (or number of stakes tokens).`

A particular validator receives a reward from the emission and redistributes a share of it among his supporters. In case of a block omission, the validator is fined. This novelty makes validators more responsible. The share depends on the total amount of staked tokens. The more tokens are staked, the less inflation is. Thus, the CyberWay has in-built incentives for users to participate in governance via voting. Moreover, the passive users are diluted as they do not get any rewards from validators.

## The main differences between EOS and CyberWay

* The difference is in the set of functions that are transferred from smart contracts to the input of web assemblers. The difference is in the set of functions that come from smart contracts. Smart contracts used by applications are placed in the web assembler of each platform. CyberWay has its own set of functions coming from smart contracts and used for bandwidth subsystem and data storage. Unlike EOS, CyberWay has an event generator. The web assembler does not compile any functions but converts them into calls within blockchain thus creating embedded functions for the event generator.
* The way of accessing system state data. In EOS system state data are stored in a database located directly on the blockchain node. The client does not have any direct access to the database so he is forced to contact a blockchain node to obtain data. System state data in CyberWay are stored in a database management system (DBMS) and conveniently placed outside the blockchain node.
* The way of analyzing events and data processing. When it comes to EOS, the analysis of events occurring in the blockchain is done via plug-ins. CyberWay has an event generator that forms events on operations inside the blockchain and sends them straight to the event queue. Event information is processed by microservices. The structure of the interactions between microservices and the blockchain (on the universal interface) is client dependent. This allows to build a flexible infrastructure for processing information that appears inside the blockchain.
* The way how bandwidth works. Bandwidth resources in EOS are allocated to all accounts regardless of their activity. In case of low user activity resources allocated to “silent” users are not used. CyberWay bandwidth resources could be allocated to the applications and granted by them to the end users on demand according to the activities of users. In case of low user activity in the system, the decision to redistribute resources is left to the application, this ensures more efficient bandwidth usage.

* Ability to process long domain names of accounts. Unlike EOS, where a domain name is limited to 12,5 characters, CyberWay limits a domain name to 253 characters. The separated part of the domain name could be up to 63 characters. The long domain name allows the applications to offer services. At the same time the hierarchical structure ensures interconnections as the user could have a unique name (alias) within each service.
* Set of rules that ensures participation of users in selection of block producers. The users participating in the voting for block producers get remuneration as a percentage of rewards that validators receive for the blocks they produce. The users who do not participate in the voting, do not get remuneration, and thus are diluted by inflation the annual percentage of token emissions.
* Any user can propose or implement a new functionality for CyberWay thanks to funds allocated for Workers from the reward pool.
* The absence of supervisory authority in CyberWay. In EOS, all the rules are specified by a special document — the Constitution. The key decisions are made by ECAF (The EOSIO Core Arbitration Forum) and block producers are obliged to fulfill them. At the same time, users and developers can submit arguments and have the right to create and use other arbitration functions. Unlike EOS, CyberWay does not have any special forums, thus, all users have equal rights when interacting with the blockchain.
* The absence of both "grey" and "black" lists of accounts in Cyber Way. In EOS, block producers have «black» and «gray» lists of users. ECAF can make a ruling and put any user on these lists (taking into account the evidence of his or her malicious actions).The mentioned lists are synchronized outside the blockchain. A user who is included in these lists is unable to operate on the blockchain, the blockchain node can ignore transactions signed by an account with a negative reputation.
* CyberWay plans to increase the number of block producers till 101 in the future in order to create greater decentralization.

## CyberWay-based solutions

One of the first applications to be launched on the CyberWay blockchain platform as a model will be the Golos application. This application will be the Golos platform with all its functionality preserved. Based on this application, the capabilities of the new CyberWay platform will be demonstrated. On Sunday, April 21, 2019, a referendum on the transition to the CyberWay blockchain was completed on the Golos blog platform, as a result of which the majority of users supported this decision. This is reported on the site Golos.

53.52% of those who voted were in favor of the transition, while only 0.24% were against it platform users voted for the transition to the CyberWay blockchain.

## Links

1. Official website
2. CyberWay on Linkedin
3. CyberWay on Facebook
4. CyberWay on Facebook
5. CyberWay on Github
6. English-language chat in Telegram
7. Russian-language chat in Telegram
8. Validators’ chat in Telegram