eGaaS is a digital ecosystem designed to implement the idea of e-Government. The term e-Government in eGaaS is interpreted not in a narrow sense, only as an online service for the provision of services to citizens or a government activities automation mechanism, but it is understood as an integral digital ecosystem that combines all spheres of the state into a single information space: government institutions, economy, finance and the social sphere. The eGaaS ecosystem includes global registries and software for building government, corporate and public user applications and platforms based on smart contracts.
The eGaaS ecosystem has a multi-level rights management system for creating and editing registries, contracts and interfaces. To control the access rights to the platform elements, special contracts — smart laws — are used, which makes the rights monitoring system flexibly customized and, most importantly, able to automatically track the transfer of access rights.
Blockchain technology is used as a software solution for building the eGaaS ecosystem. The main advantages of a blockchain for the implementation of e-Government are:
- the utmost reliability of data storage, which is achieved by using crypto-algorithms and distributed storage of registries, and
- storing the history of all registry changes with the fixation of entities that had access to the data.
Technically, the eGaaS digital ecosystem is a peer-to-peer network, the nodes of which are data centers, each of which contains a complete blockchain copy. The nodes form blocks in turn with a period of not more than a second. The ecosystem efficiency may be also maintained by one node. The remaining nodes ensure the uninterrupted operation of the network and protection against unauthorized data modification.
The eGaaS ecosystem, deployed within one state, is a closed system — the access to network resources is possible only for users having private keys. This does not exclude the subsequent possibility of including the state network into the international one.
The ecosystem is based on the registers of entities involved in legal, financial and economic relations. These are the registers of individuals and legal entities, real estate items, households, securities, licenses, etc. A multi-level mechanism for managing access rights to registries is the most important tool for managing the ecosystem and the applications created on its basis. The following rights are controlled:
- to read, modify, and add attributes (columns),
- to read, modify, and add entries (rows),
- to modify the above rights.
The access rights to registries may be granted to individuals (by indicating their id in the persons’ registry), certain roles (the person’s id in the register of posts is monitored), as well as individuals and roles in combination with various conditions. The access rights to the registries elements are provided only for a certain contracts/applications.
Thus, through the assignment of a multi-level rights system, the division of competencies between applications of different departments, industries and organizations is implemented.
Following the tradition established in the blockchain community, the software modules providing work with the registries are called the smart contracts (or simply contracts). Contracts are the structural elements used in the building of applications and platforms. A scripting language developed for the ecosystem, with fast compilation to byte code, is used to write contracts. The language contains the necessary set of functions for creating registries and executing all types of transactions with records in them.
Contracts are functionally completed code fragments providing for:
- the receipt of input data from a user or other contract (data section);
- analysis of the data correctness and verification of the contract terms execution (conditions section);
- the execution of necessary transactions (action section).
To prevent the execution of contracts that could damage the user (for example, to transfer money without his/her knowledge), a contract signing mechanism is used. The contracts with a signature cannot be executed without mandatory user’s confirmation.
The contract description necessarily includes an indication of the right to its change. The entire history of changes and launch of contracts is saved in the blockchain.
A special role in the eGaaS ecosystem is played by special contracts that determine
- the terms of the contracts’ execution,
- access to registries, and
- the rights to modify registries, contracts and interfaces.
Such contracts, which, in fact, serve as regulatory documents, are called smart laws. Smart laws contain the conditions and restrictions prescribed by the state legislation.
The enforcement of smart laws is guaranteed by using them as the terms of access to registries. Operations controlled by the ecosystem smart laws cannot be implemented by applications without necessarily complying with the restrictions prescribed in laws (for example, control of licenses, etc.) or mandatory execution of some special transactions (for example, tax deductions).
If necessary (in the case of legal ambiguity), a special condition is included in the smart law that requires the decision making by an authorized person with confirmation of the decision by a digital signature.
To prevent the impact of errors and vulnerabilities (inevitable in the software code of the consumer applications) on the ecosystem operation, it provides a procedure for stopping the execution and modification of any contracts with ignoring the rights assigned by their authors. These are the so-called exclusive rights granted to certain roles or collegial bodies by means of special smart laws.
To exclude the manipulation with data display on the user side, the blockchain also stores the interfaces that support the smart contracts operation. Pages and application menus, as well as registries and contracts, have a reference to a smart contract that specifies the conditions for their change.
The pages templates are created by means of a set of functions that can be regarded as a specialized language for creating eGaaS application interfaces. The functions of the template engine are consistent with the contracts writing language, which greatly simplifies the creation of applications. The language of the template engine provides for:
- obtaining data from registries,
- presentation of data in the form of tables and diagrams (with the connection of additional widgets),
- the building of data entry forms for contracts,
- creation of a multi-level menu,
- the implementation of multilingualism.
The template engine language creates interfaces initially adapted for running applications on mobile devices.
The eGaaS ecosystem application is an autonomous software solution for performing a specific action or a set of actions within a certain activity. The application consists of
- the contracts that implement its functionality,
- database tables required for operational data storage,
- pages and menus providing input and display of data.
The execution of contracts in the application is launched by user actions, other contracts, and access to registry data (to verify access rights).
The composition of the applications is unfixed and implies the possibility of expansion by adding new contracts, pages and tables.
eGaaS Software Client
The applications are written using the eGaaS software client, which through the system interfaces and editors provides for:
- the creation of tables/registries,
- creating and editing of contracts,
- creating and editing of pages and menus,
- setting and editing the terms of access rights to tables, contracts, pages and menus,
- input and editing of language resources for multilingualism implementation.
The eGaaS software client is also used for the users’ access to applications, providing their identification by entering a private key.
The security of the eGaaS ecosystem is provided by previously described mechanisms:
- the use of a blockchain technology, which excludes the introduction of changes to the transactions performed;
- storage of the blockchain copies, and, consequently, all registries, contracts and interfaces on each node of the network;
- support for a multi-level system for managing rights of access to resources using smart laws, including the exclusive rights mechanism;
- protection against the unauthorized launching of contracts through a special signature;
- saving of interfaces in the blockchain.
To protect the ecosystem from attacks and overloading, a token payment mechanism is used to pay for resources. The contract execution requires the write-off of the tokens from the wallet specified during its activation. For end users, work with applications is free (except for the paid services).
The eGaaS digital ecosystem, built on blockchain technology, containing a multi-level and flexibly configurable mechanism for managing access rights to resources based on smart laws should be regarded as a modern tool for the e-government and the digital economy implementation, both in a single state and at the interstate level.