Abstract
1- Introduction
2- State-keeping Models
3- Dewblock Architecture: Cloud-dew Architecture
4- Pair Connection Protocol
5- Collaboration Mechanisms
6- Dewblock Project
7- Conclusions
References
Abstract
The blockchain technology enabled cryptocurrencies and a lot of other applications that trust is needed among different entities. Because every blockchain client needs to keep huge amount of blockchain data, some personal computers and mobile devices cannot be used to run blockchain clients. To make things worse, the size of blockchain data is always increasing. In this paper, a new kind of blockchain system, Dewblock, is introduced. In this system, a blockchain client does not need to keep the blockchain data and it also has the features of a blockchain full node. Dewblock was developed based on dew computing principles and the cloud-dew architecture. A node connection protocol, Pair Connection Protocol, was proposed, which could be used in similar cloud-dew applications.
Introduction
Blockchain was first introduced with Bitcoin, a cryptocurrency, but blockchain is not limited to cryptocurrencies. It can be used in various occasions. Ginni Rometty, the CEO of IBM, once said: “Blockchain will do for transactions what the internet did for information” [1]. Blockchain has a feature that limits the range of its applications: each blockchain full client has to keep the whole blockchain starting from the genesis block; this blockchain gets longer and longer with the operation of the blockchain network. For this reason, a blockchain full client is not suitable to be deployed to personal computers and mobile devices. It is desirable to find solutions to tackle the above problem so that the data size of a blockchain client can be reduced. Such kind of solutions are hard to find because this problem comes with the essential nature of blockchain. Blockchain data itself is the heart of the blockchain technology; the data size of a blockchain client is inherently big and inherently keeps increasing. For some cryptocurrency systems, such as Bitcoin and Ethereum, their blockchains already have huge amount of data; a quite powerful computer is needed to run a full client. To make these cryptocurrency systems accessible by users, blockchain lightweight clients were developed and are widely used. These lightweight clients do not need to keep the whole blockchain data so that they can be deployed to personal computers and mobile devices. These lightweight clients include SPV (Simple Payment Verification) wallets, such as Electrum, Copay, and so on. All the lightweight clients are not qualified as full clients. They do whatever the majority of mining power says. They rely on the support provided by full clients. These lightweight clients are necessary and they are playing important roles in the cryptocurrency systems, but the goal of this paper is not to find another lightweight client.