Recently, the U.S. patent authored by the Pekka Research Team—“Methods and apparatus for verifying processing results and/or taking corrective actions in response to a detected invalid result” (https://uspto.report/patent/grant/10,970,180) —neatly solves a long-standing computer science problem - the verifiable computing problem - from a probabilistic standpoint. The patent was filed on March 29, 2019 and granted on April 6, 2021. The computing community has recognized this blockchain-based solution, a.k.a. the consensus algorithm - “proof of honesty” (PoH), as the first practical solution to the verifiable computing problem. —
Pekka is a shared distributed computing platform or marketplace aimed at making full use of the computing resources around the globe. Blockchain technology offers a promising means to realize freer competition in the cloud services space. A blockchain network—serverless and secure—can link idle computing devices together. Two years ago, Pekka Network (https://www.gopekka.com )has introduced the sharing economy to distributed computing. Pekka Network allows client/users to complete computing tasks by renting computing power from a computing power provider anywhere in the world. These tasks can range from machine learning training to 3D rendering, scientific computation and beyond. The client/user pays for the service with cryptocurrency, and the provider whose computing resources the client/user has used is rewarded.
Outsourcing computational tasks to another party, however, has its share of challenges. One long-standing problem is how a client/user can verify a result efficiently without having to re-execute the task. For nearly a decade, computer scientists have studied this problem, which is known as verifiable computing. One straightforward solution to this problem is to replicate computations on multiple computing devices. In addition to the much higher cost due to the redundancy, this solution implicitly assumes that failures from these computing devices are unrelated. Indeed, this assumption does not always hold true. For example, cloud servers always have homogeneous hardware and software platforms. Another solution is to run a small group of sample computations, and then audit the responses produced by these samples. But this solution may not perform well if the incorrect outputs occur infrequently. Other solutions exist, such as attestation and trusted hardware, but they always require a chain of trust and hardware computation that is guaranteed to be correct.
The consensus algorithm PoH was inspired by the idea of “entrapment” in criminal law. PoH borrows this idea, such that a client/user in the network, serving as the “officer” in an entrapment scenario, aims to catch a malicious provider in the network by assigning the provider an entrapment task. Since the officer can predict or know in advance the outcome of the entrapment task, user can easily detect any computing misconduct. PoH comprises two phases:
Phase 1 - Preparation: A user who wishes to be an officer needs to build up a repository of entrapment tasks. This repository contains one or more computing tasks, the results of which are known and verified by the network. Additionally, the information of each entrapment task in the repository is written to the blockchain. Note that the incentive protocol allows each user to choose to be an officer or not. Meanwhile, a provider must make a relatively large deposit to offer its idle computing resources. It is worth noting that such a deposit is always far greater than the reward the provider receives for correctly completing a computing task. This way, the provider would suffer a big loss if he or she is found to be faulty.
Phase 2 - Execution: In this phase, the network randomly assigns a task from the repository to a provider. The task pool contains both entrapment tasks and regular tasks submitted to the network within a fixed time interval—one minute, for instance. Since PoH ensures that a malicious provider cannot filter out the entrapment tasks, such a provider will likely execute a entrapment task in its usual faulty manner. Once the provider feeds the outcome back to the officer, the officer can easily determine the correctness of the results by comparing the outcome with the one in his or her entrapment task repository. In the event of faulty results, the officer posts both results on the blockchain through a verification smart contract. The judges, a subset of or all of the nodes who run this verification smart contract, will rule on whether the officer is correct. If proved to be correct, the officer will be incentivized with a reward from the incentive pool, while the provider’s deposit will be forfeited and contributed to the incentive pool.
Therefore, people can clearly see that PoH could be a highly effective means to secure outsourced computing if enforcement (using the entrapment technique) is greatly strengthened or the financial punishment for a provider who has been found to be faulty is extremely severe. To bolster enforcement, the network can simply give greater rewards to officers who discover misconduct. Consequently, more users might be willing to serve as officers and submit entrapment tasks more frequently. However, the overhead of a network in which many providers compute tasks whose results are already known and have been recorded on the blockchain could be much higher, resulting in a more secure but much less efficient system. With respect to the tradeoff between network security and efficiency, the Pekka Research Team recently published a research paper in which an asymptotic optimal solution is given in a rigorous, mathematical manner.
Release ID: 89010018