WorksSeptember 19, 2023

DHT as a stored program computer

Abstract of my research

Nowadays, various content distribution and software functions are provided on the Internet as Web services. However, Web service providers sometimes stop providing services due to server or business reasons, physical damage etc. In response to this problem, attempts have been made to increase the availability of programs running on the Internet by applying P2P networks. The most representative example is the application of the blockchain, such as Ethereum, which has succeeded to a certain extent in ensuring availability against possible service outages or failures of specific operators by executing programs in a decentralized manner.

In addition, a more specialized method for web application execution has also been proposed, which solves the problem of Ethereum's time-consuming consensus and completes transactions at high speed, making it possible to perform processing within a web application in a realistic amount of time.

On the other hand, some of these existing methods are not able to solve the problem due to some problems and insufficient validation of these existing methods.

First, the design of the incentives is based on cryptographic resources. All the methods have a mechanism to pay for cryptographic assets to ensure fair distribution of computing resources, and the monetization of applications running on cryptographic assets is limited to the market value of cryptocurrencies.

Second, the viability of the method has not been tested on the more common computing devices that most people own, such as laptops and smartphones. Existing methods are nearly impossible to run on smartphones in particular, and although they are P2P decentralized, they are limited to computers that can stay online at all times.

Therefore, this research attempts to solve these problems by running WebAssembly on top of Kademlia, an algorithm for building distributed hash tables, and at the same time attempts to develop a non-blockchain P2P network based on asynchronous processing that uses vague and concise consensus.

At the same time, we verify whether it is possible for applications to run autonomously and decentralized in a non-blockchain P2P network using asynchronous processing-based vague and concise consensus.

To evaluate the proposed scheme, we developed a smartphone application using the proposed scheme and ran it on real hardware or emulators to confirm that it works properly. We also measured the failure rate and error rate of the P2P network itself and compared it with existing methods to investigate the resources and conditions required to maintain the P2P network.