Can Web3 bring Change to the OS Infrastructure?

Do Blockchain-Based Operating Systems and Why does it even Matter?

Jaival Patel
8 min readMay 17, 2023

We have all heard of Windows, MacOS, Linux, etc… Arguably, these programs (so-called Operating systems) serve as a fundamental bridge for communication between the user and the computer. For a more formal definition, operating systems are in-built system software that manages computer hardware (ram, GPU, etc), software resources, and provides services (i.e., in-built apps) for computer programs. There are various operating systems including single and multi-tasking, single and multi-user, distributed, embedded, and real-time software. The operating systems that everyone knows (i.e., Linux, Windows, etc) are single-tasking or multi-tasking systems since they can only run one program at a time or multiple concurrently.

MacOS Desktop

Why do we need a change in Operating Systems?

Over the past decade, there has been a huge improvement in software available to users ranging from AI integration in everyday apps to web-app infrastructure. Even recently, with the introduction to ChatGPT, there seems to only be a spotlight on Generative AI. These improvements are not at all bad in any way, but we must recognize the importance of an operating system upgrade as well. Without an operating system, there is no way of accessing such software services, let alone, communicate with our computers.

Microsoft Logo (left), Ethereum Logo (middle), Apple Logo (right) | Image by Author

An improvement in software means an improvement in cyber-attacks. I watched a video recently this week where George Hotz was showing an interviewer five years ago the underlying concept of how hackers can manipulate computers through binary exploit. What was surprising to me about that interview was not how George Hotz was acting suspiciously throughout the interview, but rather, how he was able to make a sample binary exploit the morning of his interview. This only goes to show how advanced programming languages and software have become overall throughout the decade.

Although there are frequent updates with operating systems that we use today, they are not revolved around system infrastructure updates, but rather, new services and bug fixes. I can assure you that if you look back at the past update notes, there will be no section revolving around backend updates.

MacOS Ventura 13.3.1 April Update with no Backend Upgrades? | Published and Written by Apple

Thus, with the potential of facing stronger cyber-attacks and our OS architecture being a decade old with no backend upgrades, our data (or our identity) can potentially be at risk.

Blockchain and OS

Blockchain technology is arguably one of the most influential software technologies this generation has seen along with Generative AI. Its cryptographic characteristic makes blockchain-based applications a whole layer more secure than they initially were with web2 anti-virus apps like Norton360, Firewall, etc.

Similar to any event that happens on a normal operating system, a blockchain operating system does it in a similar way but through transactions of a smart contract. For example, on a regular operating system like Windows or MacOS, saving a file would mean that when you press ‘save’ or press Control/Command ‘S’, the computer converts the file to bytes and saves it on SSD storage. However, saving a file on a blockchain-ran operating system would mean that you will be prompted a transaction to save the file, and after accepting, the file would be saved on a blockchain and not necessarily on your SSD only (this architecture of saving it on a blockchain that lies on SSD or independently is advanced and requires a whole discussion by itself).

Sample Illustration of the Flow of how a Sample Interaction (saving a file) can be Saved on a Blockchain on a Blockchain-Based Operating System | Image by Author

A blockchain-ran operating system is a distributed operating system, which can theoretically allow lower energy consumption of the overall machine as well better cryptographic security for your local data rather than binary security.

Why Blockchain OS?

Quite often, with an introduction to cloud software, we forget about how our local data can be in danger as portrayed in the interview of George Hotz where he was able to access local directories of an unused computer. With cryptographic algorithms like SHA-256 (although not the best), and wrapping protocols like Zero-Knowledge Proof, blockchain-ran systems can bring a strong protective layer to local data as most data will be wrapped under cryptographic keys created through permutation algorithms.

Therefore, you might ask, “If blockchain-ran operating systems add more digital security, why don’t OS companies like Microsoft and Apple add blockchain to their systems?

Difficulties of Implementing Blockchain-Based Operating Systems

Implementing a strong blockchain process to a heavy-computing system is hard not only because it has to meet performance requirements, but we must also recognize that smart contracts can be hacked too. Such an act is a relatively new topic in the blockchain industry, and there is currently heavy research being done on understanding how smart contracts can be further protected. Some methods include developing stronger Zero-Knowledge protocols, changing the cryptographic key after every session while keeping track of the transaction, etc.

In terms of performance, such requirements can be hindered by blockchains due to their traffic (i.e., the number of transactions is too large for validators to handle), energy usage (more validators required to mine more blocks or in other words, validate more processes done by user), and limited storage. A cap in storage causes the other two hindering factors to be present. For example, let’s say we have two users A and B (User A is the system and User B is the actual person using a computer). If both User B wants to save a file, it will initiate a transaction with User A (the system), which it will automatically accept because the system is designed to listen to user interactions. Now that both users are in the same session encoded by a cryptographic signature, data will send between the two users where the file will go to the system and the transaction signature will go to User A. Now imagine if each session like this were in blocks, then each user-interaction would create a new block on the blockchain, which can lower its size, and increase its traffic because more sessions have to be validated — increasing the energy consumption of the overall computer (refer to image above for an illustration of the “blocks” for each process). If the blockchain runs out of space, there will be no more transactions that can be validated, and thus, the user will not be able to interact with the system.

An immediate thought to solve this issue would be to expand the size of the blockchain. However, larger-sized blockchains can lead to security losses as described by Vitalik Buterin as the “Scalability Trilemma.”

Solving the Storage Cap?

We can always improve the frequency of transactions that each validator receives to be more balanced with Graph Theory and pathfinding algorithms, but that does not fix the storage problem for blockchain operating systems. A possible method to fix the storage problem of operating systems is to use a distributed system approach. Although blockchains are distributed themselves, we can distribute smaller chains under one blockchain just like how computers can be distributed across one network to make them appear as one.

This can be made possible with L2 networks as such networks create an off-chain transaction executive environment independent of the main network, which consists of a process called sharding. Sharding reduces network congestion and increases transactions per second (or in other words, the number of user interactions with the OS per second) by introducing new “shards” (partitions of the blockchain) of the parent chain. Each shard can represent one process (i.e., ram processes, CPU rendering, directories, etc).

Though, sharding can ruin the quality of a distributed system. If the number of sharded chains increases with the number of user interactions with the OS, there will be a larger probability that a hacker will attack one of the chains (such an attack is called the 51% attack). However, the probability can be reduced if the signature remains the same, and an overlapping cryptographic key is added where it changes after every time interval session (such a concept has not been created yet, but it was an idea that was initially proposed for smart contract security after the FTX Scandal). Moreover, if sharded chains become too large while with-holding the size limit, validators (miners) will not be able to process individual sharded chains, breaking the transaction process as there will be no verification protocol. Such an event can break the bridge of communication between the user and the operating system and can create a memory overflow, combing back to square one of the original problem. As a result, the pursuit of infinite storage may never be made possible.

This solution of using L2 networks works just like an SSD but is optimized. Each block of 2000 transactions is an average of 1MB. As a result, approximately 127 terabytes of data can be held by a blockchain, which is greater than your standard SSD of 2 TB. Therefore, if we want to make blockchain-based operating systems more efficient and practical, we have to optimize the mining validation process or in other words, the protocol that the system will use to verify user interactions where there needs to be an even distribution of blocks to validate for each validator. This in turn can improve the security of local data and reduce the energy consumption of the overall machine.

Final Words

This may all sound impossible for an operating system, but there are already blockchain operating systems in the world including Codefi, EOS, Overledger OS, LibertyOS, etc. Although blockchain operating systems may not introduce infinite storage, it is a symbol of software progression for local data. With increased security and reduction of energy consumption through Zero-Knowledge protocols and optimal processes like sharding, decentralized operating systems protect the local data and processes without having to rely on the cloud — making it a cheaper and environment-friendly to saving data. It is unfortunate how such an application of blockchain technology is under-seen because of cryptocurrency, but with companies expanding their applications, I am excited to see in the next few decades how computer systems will evolve in performance and security.

Reach Out!

LinkedIn: jaivalpatel
Twitter: patjaival
Github: GEEGABYTE1

--

--

Jaival Patel
Jaival Patel

Written by Jaival Patel

16y/o Computer Scientist x Mathematics Enthusiast. I love to share my research and interest in these two topics so you will see a lot of my blogs about my work!

No responses yet