LightChain:A Lightweight Blockchain System for Industrial Internet of Things

警告
本文最后更新于 2019-03-19,文中内容可能已过时。

Author: Yinqiu Liu, Kun Wang, Yun Lin, and Wenyao Xu

Published in:IEEE Transactions on Industrial Informatics

State:Early Access

Index Terms:Blockchain, Industrial Internet of Things, Distributed System, Consensus Mechanism, Data Filter.

Abstract

虽然区块链和IIoT之间的结合得到了广泛的关注,但区块链的高资源需求和IIoT设备的有限性能之间的矛盾还无法较好的解决。一方面,由于公钥结构、默克尔树和PoW等数学概念的引入,部署区块链需要巨大的算力;另一方面,全节点应该能同步大量的区块数据和处理P2P网络中的大量交易。IIoT设备难以承受其对存储容量和带宽的占用。本文中,我们提出了名为LightChain的轻量级区块链使其适用于IIoT场景,提出了一个名为**Synergistic Multiple Proof(SMP)的共识机制来促进IIoT设备间的合作,提出了一种称为LightBlock(LB)**的轻量级数据结构,用于简化广播内容。此外,还设计了一种 **Unrelated Block Offloading Filter (UBOF)**以避免分类帐的无限增长,同时不影响区块链的可追溯性。实验表明,LightChain可以将计算成本降低39.32%,将块生成速度提高74.06%。在存储和网络使用方面,降幅分别为43.35%和90.55%。

一、Introduction

IIoT被大量采用,但有如下问题:

  • 拥有大量分散的设备,面对DDoS攻击是脆弱的
  • 中心化的管理结构无法自我认证,会产生隐私泄露问题
  • LPWAN的发展使大量IIoT设备在地理上是分离的,中心化服务的花费难以承受

最近大家都在研究如何将区块链部署在IIoT来解决上述问题。

  • 基于区块链不可否认和难以篡改的特性,在P2P网络中共同维持工业信息,可以实现数据追溯,并达成在非信任环境中的价值传递
  • 区块链能提供分布式的域名服务,有助于解决当前DNS的漏洞,诸如DDoS攻击和DNS欺骗

已有区块链和IoT/IIoT结合的例子如Ruffchain等。然而,IIoT设备无法满足区块链的高资源需求。有很多方案来优化区块链的资源消耗问题,如:

  • Ehmke[23],区块链协议PoP,允许不必下载整个区块而验证交易

  • Dorri[24],私有不可变分类账,中心化的管理

  • Li[25],DAG

  • Zamani[26],分片(Sharding)

  • Bitcoin-NG,leadership selection

  • Multichain,cross-chain mechanism

但它们都只优化一方面。

将区块链部署在IIoT场景面临的关键问题包括:

  • 打包区块有奖励,所以算力高的节点会持续增加算力,所有节点陷入算力竞争,最后由于马太效应,导致算力集中
  • 为了实现分布式的一致性,区块链需要参与者保存网络中产生的大量数据,所有的数据保存在本地并不断增长而没有减少,会占用大量存储空间
  • IIoT场景异构网络很常见,在高吞吐量的情况下,资源有限的节点无法支持区块链相关的操作

本文为了解决上述问题,本文提出一种轻量级区块链,资源问题和解决方案如下:

  • 算力—通过新的共识方案SMP
  • 存储空间—检测不相干块(UB),通过一个过滤器(UBOF)过滤它们,减少存储占用
  • 网络资源—广播数据结构LightBlock而不是整个块,减少广播时通信的冗余

二、Proposal

1. Framework

整个方案分四层,如图1所示,从上到下依次是:API层,LightChain层,Cache层,Storage层。

图1. Four-layer framework of LightChain

各层功能如下:

API层:提供各种操作的请求接口

LightChain层:即普遍意义上的区块链,包括共识机制等部分

Cache层:用了加速对调用操作的响应

Storage层:提供持久化的存储,通常只由资源富裕的节点提供此服务

如图1,以具体的工厂实例来说明,传感器发起的交易请求通过局域网发送到Node1,Node1的API层处理这些请求并发送到区块链(即LightChain层),在LightChain层完成验证。受限于存储问题,将数据存储分为两类,完整的区块链数据会存在云端数据库作为备份,Node1会对数据进行过滤缓存有效数据。

2. LightChain Layer

LightChain层的结构如图2,

图2. Architecture of LightChain layer,由Conchain,Webchain和Chainbase三部分组成。类似于C/S架构,Conchain/Webchain是Client端。模块间通信通过本地Socket完成。

Webchain:将API层发送的操作类型和JSON流转换称预定义的信息类型和二进制流

Conchain:在本地挖到新块或接受到块验证请求后,将消息发送到Chainbase

  • 共识机制—减少资源消耗
  • P2P网络—减少广播冗余

Chainbase:管理本地交易池,验证交易,拥有添加或过滤Cache layer数据缓存的权限

三、Evaluation

构建实验网络时模拟了IIoT的实际场景。主要考虑了IIoT场景的以下特征

  • 网络异构及地理分离
  • 资源限制
  • 复杂的网络拓扑

使用阿里云的10台ECS构建了一个P2P网络,ECSs作为全节点(矿工节点)工作,并且各ECS具有不同的CPU和内存,部署在亚洲多个地点,算力级别在MH/s,符合IIoT设备能力,每个ECS拥有自己的公网IP,同一地点的ECS在同一网段。

开发了一个自动交易生成器,控制几个交易并间隔固定的时间提交随机交易,这里的账户作为P2P网络中的轻量级节点。

每个矿工连接到一个交易生成器,设置两个参数,一个控制账户数量,决定P2P网络的规模;一个用于控制交易生成的间隔。

1. 安全分析

分析对几种攻击的抵御能力:

  • 双花攻击
  • 无厉害关系(PoS中同时在多个fork上投票以获取最大利益)

2. 结果分析

共识:

  • CPU使用率:减少
  • 块生成速度:增加
  • 算力消耗:减少

网络:通信冗余减少

存储:过滤区块,存储减少

四、Conclusion

为了使区块链适用于IIoT场景,提出共识算法SMP减少算力消耗,提出数据结构LB减少通信冗余,过滤区块减小存储负担。并通过实验证明了该方案的优越性。

支付宝
微信
0%