Recently, the emergence of blockchain has stirred great interests in the field of Internet of Things (IoT). However, numerous non-trivial problems in the current blockchain system prevent it from being used as a generic platform for large-scale services and applications in IoT. One notable drawback is the scalability problem. Lots of projects and researches have been done to solve this problem. Nevertheless, they do not consider different users' conditions, only using a single consensus protocol as the best fit one, as well as the IoT system is heavily constrained by computing and networking resources. In this article, we study a permissioned blockchain-based IoT architecture. In order to improve the scalability of the blockchain system and meet the needs of different users, we propose a service-oriented permissioned blockchain, where different consensus protocols are launched according to users' quality of service (QoS) requirements. Specially, we quantify a few popular consensus protocols. Additionally, we select block producers, which need a great number of computation resources, as well as dynamically allocate network bandwidth to the blockchain system. We formulate consensus protocols selection, block producers selection, and network bandwidth allocation as a joint optimization problem. We then use a dueling deep reinforcement learning approach to solve the problem. Simulation results demonstrate the effectiveness of our proposed scheme.

Additional Metadata
Keywords Byzantine fault tolerance, deep reinforcement learning, Internet of things (IoT), permissioned blockchain, service-oriented
Persistent URL dx.doi.org/10.1109/TSC.2019.2948870
Journal IEEE Transactions on Services Computing
Citation
Qiu, C. (Chao), Yao, H. (Haipeng), Yu, F.R, Jiang, C. (Chunxiao), & Guo, S. (Song). (2020). A Service-Oriented Permissioned Blockchain for the Internet of Things. IEEE Transactions on Services Computing, 13(2), 203–215. doi:10.1109/TSC.2019.2948870