PEKKA — The First Innovation Towards the Future of Computing
In this article, I will introduce a blockchain-based shared-computing platform — called PEKKA. This is a project that Nakamoto & Turing Labs (“NTLABS”) has been working on for quite a while. We have recently finished it’s first demo, a key milestone to make this dream come true. The alpha version will be launched soon. What is shared-computing? Well, conceptually, it can be viewed as “Airbnb of computing”. In what follows, I will explain in detail what shared-computing means and what PEKKA is valuable for. Please follow us in this new blog series to learn more about this revolutionary technology which opens a new sector in the shared economy.
Why do we need distributed shared-computing?
Today, computing power, like electricity, is an essential utility in human’s daily life, ranging from education and science to marketing and media. Recently, many real-world problems are being reshaped by mathematically analyzing big data. This trend leads to a stronger need for computing power. However, access to powerful computing devices (e.g., cloud centers from AWS, google cloud, etc.) always leads to some issues: Firstly, using a cloud service means all of the data, even sensitive information, has to be shared with the cloud service provider; Secondly, the pay-as-you-go cloud service always has an overall price tag that ends up being higher than expected.
However, there is a tremendous waste of computing power from billions of idle devices (e.g., servers, desktops, laptops) in homes and in data centers around the globe that are not being used for long periods of time. Thus, utilizing these idle computing devices to satisfy the growing need for computing power becomes an intriguing and challenging technical topic, leading to the emerging concept “distributed shared-computing”.
Why is blockchain technology necessary?
Blockchain technology is necessary in the shared-computing platform in the sense that these idle geo-distributed computing devices need to be tied together by a blockchain network, a server-less and secure network. This is a fundamental aspect to PEKKA. On the one hand, blockchain allows a client on the network to rent the computing power from a provider, who has offered their computing resources to the network anywhere in the world to help complete a computing task. The task can be variety of different assignments, including machine learning training, 3D rendering, scientific computation and more. The client then pays the provider with a cryptocurrency. On the other hand, blockchain guarantees security/privacy in the shared computing platform. Overall, the system’s architecture of the PEKKA platform is shown in the figure below. One can see that clients and providers are connected through the blockchain layer, which communicates with the distributed peer-to-peer (P2P) computing layer to configurate the network topology and verify the computing results obtained from the providers.
What are the functionalities of blockchain technology used in the shared-computing platform?
Based on our own research in the past years, we identify four key functionalities of the blockchain layers as follows. Some of them are still ongoing research subjects in our lab, which we discuss as opportunities down the road.
1. Enable fast cross-border peer-to-peer transactions at almost no cost: For example, Alice in New York City submits a python script for bioengineering simulations and this task is executed by a gaming desktop owned by Li Lei at Beijing. Alice needs to pay $10 for using Li Lei’s desktop for 10 hours. If they were using a banking system, the cross-border wire transfer fee could be much more than $10. Other options such as Paypal and MoneyGram always come with high transctions fees as well. At this point, the cryptocurrency transfer over blockchain, which can be designed as no transaction fee, could be a promising solution.
2. Establish a marketplace for the “pay-as-you-go” model: Using blockchain to establish a market place for a fair pricing model is indeed disrupting the current cloud provider’s pricing model, in which the clients have no chance to negotiate the price with the cloud providers. Referring to an online marketplace, one may think of e-auctions like eBay or Yahoo, however, these are centralized third-parties who also charge fees for transactions and cannot avoid the risk of leaking private information of bidders and auctioneers. Thus, thanks to the nature of smart contract, the smart contract could be a perfect candidate to remove this centralized third-party in the marketplace.
3. Guarantee privacy and security for both client and provider: Using this shared-computing platform, clients may be concerned about the security of their private information such as data and scripts. Access to these data/scripts need to be completely controlled by the client. Namely, permission for any access is required from the client. At this point, a blockchain solution based on the multi-sig smart contract definitely could resolve this concern. On the provider’s side, using blockchain over the docker system to isolate tasks from reading or modifying the files in the host machines is very promising to secure the privacy. However, the implementation is rather technical and quite challenging.
4. Conduct verification on computing results: “How can a client efficiently verify the result obtained from an unknown provider without re-executing the task?” is a long-standing technical problem in computer science. First of all, providers (Li Lei at Beijing) do not necessarily have strong incentives to ensure accuracy. Also, for complex and large-scale providers (e.g., AWS, Google) it is unlikely to guarantee that the execution is always correct due to mis-configurations, randomness in hardware and more. This problem, recognized as verifiable computing, has been studied by computer scientists for nearly decade. In computer science, many proof-based systems such as Pinocchio and TinyRAM have been developed recently. However, due to the tremendous system-setup overhead and the computational cost, these systems are not very practical. Another approach leverages the blockchain technology to secure outsourced computation. One example is TrueBit, a smart contract that verifies the computational results through a trustless economic protocol. However, the 5-to-50 times more cost of using Truebit and its restriction to Ethereum network have to be taken into account for its massive adoption. Motivated by the above discussions, we propose a new blockchain-based verification protocol, called EntrapNet, for trustless computing. We will introduce EntrapNet in the follow-up blog in our PEKKA blog series.
What differentiate PEKKA from other projects such as Golem and SONM?
First of all, PEKKA is a shared-computing platform tailored for scientific computing such as machine learning, bioengineering, telecommunications, chemistry and so on. Some main features include: 1. All-inclusive user experience: user’s effort to set up environment is minimized to the best. So far PEKKA has successfully supports python in the sense that users ONLY need to submit their python scripts (zero effort to install dependencies, setup environment, etc.) and pleasantly wait for the results; 2. The computational results are guaranteed to be correct (verified through our blockchain-based verification solution — EntrapNet); 3. PEKKA supports distributed computing to accelerate your computation, in which the user’s task can run on multiple geo-distributed idle machines without algorithm changes.
Second, rather than relying on an existing public blockchain, such as Ethereum (whose throughput and scalability are the bottleneck for the massive adoption of DAPPs), PEKKA is built upon our in-house blockchain solution — Canonchain, a direct acyclic graph (DAG)-based public chain designed for Smart IoT (i.e., IoT devices with certain computing power). The superior performance of Canonchain, in terms of throughput, security and scalability, provides the foundation of PEKKA to support large scale of users around the world.
In summary, in this article we have briefly introduced the shared-computing platform — PEKKA, and reported on some technical findings, solutions and opportunities. In NTLABS, we believe that a mature shared-computing platform will eventually change the way that people do computing. If interested, please follow our articles in our PEKKA blog series and stay tuned.