Ever OS explained: Why Everscale needs an operating system

Ever OS explained: Why Everscale needs an operating system

In the original whitepaper written by Mitja Goroshevsky, Everscale is described as a world computer with a blockchain as the computing foundation. Of course, it is impossible to work on a computer without an operating system. To find out what EverOS is, we talked to one of its key developers — Boris Ivanovsky from EverX.

Greetings Boris! A blockchain operating system sounds very unusual to an ordinary user. Can you tell us more about what it is?

A blockchain operating system is a set of utilities that provide access to computer resources with the ability to manage those resources.

Smart contracts can be adapted to provide this function, that is, for memory allocation, file storage, and metadata storage for those files.

If you look at the Unix operating system, the Unix ideology fits very well with the principles of smart contracts: both smart contracts and Unix programs should be highly specialized, preferably open source for learning, available for testing, readable, extensible, easy to use, and easy to diagnose.

Tell us, what is the scope of EverOS? How can it be practically used by developers and users?

The operating system is good for developers because it makes development easier. You can take pre-made libraries, use system calls, and use some parts of the operating system to implement your own smart contracts.

For example, if you need a smart contract that works with files, you can take the libraries and the parts that work with files. For example, you can take the LS (directory listing) utility of an already implemented smart contract, and it will list the files that are inside for you.

Does that mean that utilities and libraries are stored and deployed on the blockchain as smart contracts?

Not exactly. The concept of libraries in the original whitepaper has not been implemented and, I would say, is not implementable.

Right now, by libraries I mean libraries in Solidity, so the parts of code that have no state and that can be connected by other contracts to perform certain operations.

What resources does EverOS have? I mean, if a computer is a hard drive, motherboard, etc., what resources can we list on the blockchain?

First of all, it’s data. If you think more broadly as an operating system, then table and file descriptors, I/O settings, system configuration parameters, and system resources and limitations.

What do you mean by “blockchain operating system file”?

There are three hypostases in a file: what the user sees, what describes the file — the metadata, and the “raw” data, which is the content of the file.

Let me explain. The first hypostasis of the file is how users see it. For example, we have a file with a name after the command ls*. This is the so-called entries directory, but it is not part of the file itself. It is stored in the place where it is viewed, which is in a directory. The directory is the file that contains the list of strings.

Each string contains:

  • the name,
  • node number,
  • device number where the file is stored,
  • file owner ID,
  • file owner group ID,
  • file size,
  • file access time,
  • file multiplication time,
  • file data multiplication time,
  • and the number of links to this file

Note that the filename doesn’t appear on this list! File attributes are what are included in the inode structure parameters.

Everything I’ve mentioned is perfectly integrated into smart contracts and is perfectly executed by them.

Are you saying that you’re now creating a structure on a blockchain similar to sectors on physical devices?

That’s a great question about the physical structure! This is exactly the fundamental difference between an operating system on the blockchain and an operating system on a computer.

The basic device, with the operating system, is a kind of hard drive with blocks, sectors, tools, and other things on it.

The geometry in this case is the blocks. The minimum I/O size is 512 bytes, and the recommended size is 4kB.

For a blockchain, 4kB is a lot.

The basic structure on the Everscale blockchain is a cell, which has four links to other cells and 1,023 bits of data. Therefore, the lowest level I/O will be very different from what you have in traditional architecture.

The efficiency of blockchain storage will be determined by the value of the stored data, since any data storage on Everscale must be paid for.

That means that this issue requires careful study and a detailed approach.

Thank you so much for your answers, Boris. The structure of an ordinary operating system certainly isn’t easy to understand, and at the same time, it allows a regular user to use the most complex technical devices. We’re sure that EverOS will solve this problem, but for developers and users of the global computer of the future — the blockchain.

Read More