The constant emergence of peer-to-peer (P2P) network based applications has strengthened distributed computing on the whole. Although there are already many similar solutions in the field, such as those that follow the Grid Computing paradigm, P2P computing holds the potential of being much powerful than its traditional counterparts.
What is P2P Computing?
P2P systems are distributed systems in which there are no central or hierarchical structure, and can therefore go beyond the scope of traditional centralized servers. In P2P systems, the networking is established by the interconnection of nodes. These nodes (also called “peers”) form a kind of virtual network at the application level, which is used to route messages between nodes with the objective of data mining, shared resources, users, etc.
Bringing P2P in the context of computing is practically the same. Only in this case, a web of interconnected nodes share resources among each other without the use of a centralized administrative system.
P2P Computing on whole has been predicted to solve computing scenarios which requires centralized models. Overall, the aforementioned model proposes to bring higher storage, more security and privacy, scalability and lower cost computing services by simply distributing the resources across peers, particularly the smart devices.
SONM Uses Different P2P Technologies
SONM, an acronym for Supercomputer Organized by Network Mining, is a blockchain project which is building a decentralized fog supercomputer for general purpose calculations. The system proposes to support any kind of computational task, which clearly suggests that it cannot follow a specific computing model to achieve i`ts goals. It therefore — quite creatively — amalgamates various P2P technologies.
From a technical point of view, SONM is a top layer of underlying P2P ingredients — BTSync for data transfer, Cocaine open source PaaS technology as a decentralized computing platform, Ethereum Smart Contracts as a PoE (Proof of Execution) and consensus system, Whisper for nodes communication, etc.
Yandex.Cocaine
COCAINE, an acronym for Configurable Omnipotent Custom Applications Integrated Network Engine, is an open-source PaaS system which allows users to create their own cloud hosting applications. COCAINE was originally a typically an out-of-garage idea, but everything change when Yandex joined in and made it strong enough to address inflated load demands.
Unlike its cloud counterparts such as CloudFoundry and OpenShift, COCAINE is very adaptable to diverse frameworks, can enable applications to communicate with each other without HTTP, and has a strong support application isolation.
As SONM implements this tried-and-tested formula on its fog computing platform, the project aims to recognize almost any smart device as server, with IPFS and other decentralized data storage solutions as an underlying layer.
In terms of usage, COCAINE enables SONM users to create their own hubs and collect powers from miners, or create their own cluster (from many owned machines). Anyone could run any usual docker container on it or create their own application in Cocaine framework.
BTSync for Data Transfer
Who doesn’t know BTSync! It is by far the best alternatives when optimizing the transfer of large files via the Internet. To understand the reason, it is essential to understand its operation before.
When we download a file from a web page, that file comes in the form of a data string to our computer. But what if several people want to download that same file at the same time? We would have a single server sending the file to several different destinations. As the server’s upload speed is limited, there will come a time when many people want to download that file. And the download speed will decrease. How could this problem be solved? That’s exactly what BTSync does.
BTSync is a protocol, that is to say, a set of rules, that establishes the base for an exchange of files based on the P2P technology. For BTSync, each target computer we talked about previously also becomes a source. This way, users not only download the file from the original source but also share parts already downloaded between them. This is, in essence, the key to the particular BTSync protocol and P2P technology in general.
SONM aptly harness BTSync protocol on its platform to enable data communication between nodes.
Ethereum smart contracts
Ethereum smart contracts were developed to address and improve Bitcoin’s capabilities. The project’s goal is to allow developers to create and publish applications on the top of its decentralized blockchain. Smart contracts can be applied to a variety of services such as soliciting credits, voting, placing bets, registering domain names or directing companies.
SONM harnesses Ethereum primarily for two things: to power its own native token SNM, and to introduce an anti-fraud protection system using smart contracts. Anti-fraud systems helps identify fraudsters which act on hubs, but it doesn’t guarantee privacy/security. This is a unique system which prevents fraud nodes, clusters and pools appearance within the net.
SONM has created a Hub Wallet contract in this regard. It is a simple protocol followed by the anti-fraud system. It works as follows:
Before hub starts paying out tokens to miners and receiving payments from buyers — it must create a hub wallet — a simple contract with a defined amount of frozen funds. If hub will be cheating — DAO could initiate process of blacklisting this hub and expropriate frozen funds from it. Those expropriated funds will also be frozen at the DAO account for some specified time. This is to protect against malicious decisions of the DAO: tokens can drop in price during freeze, therefore there is no motivation to expropriate every hub.