IIOT区块链的强化学习优化
DRL in BlockChain
总体结构
- abstract 摘要
- introduction 绪论
- related works 相关工作
- system model 系统模型
- performance analysis 性能分析
- DRL-based performance optimization framework
- simulation result and discussions 实验结果与讨论
摘要
在区块链环境下,为了满足高吞吐量的需求。
本文提出了一种基于强化学习的基于区块链的工业物联网系统性能优化框架。其目标有三个:
- 提供一种从可扩展性、去中心化、延迟和安全性方面评估系统的方法。
- 在不影响系统去中心化、延迟和安全性的前提下,提高底层区块链的可扩展性(吞吐量)
- 为工业物联网系统设计一个可模块化的区块链,其中区块生产者、共识算法、区块大小和区块间隔可以使用DRL技术选择/调整。
绪论
从工业网联网的广泛应用,到区块链帮助工业物联网建立一个安全、高效的数据存储/处理/共享环境。然后引出,对于传统区块链系统来说,在为工业物联网提供高交易吞吐量需求时存在挑战。
从比特币到以太坊TPS仍然很低,然后介绍,目前对高吞吐量的研究主要分为两种:
- on-chain scaling:调整区块大小、和出块间隔、以及改变出块流程、引入新的共识机制、分片等。
- off-chainscaling:减少主区块链上的冗余,使用侧链、多链等。
很多新兴的区块链都通过牺牲一些其他重要的性能指标来换取交易的高吞吐量,如:(去中心化程度、安全或延迟)。
引出一个区块链中知名的三元悖论:
a blockchain system can only at most have two of the following three properties: decentralization, scalability, and security.
一个区块链系统最多只能具有以下三个属性中的两个:去中心化、可扩展性和安全性。
但是我们都应该有所考虑。
所以,本文提出了一个基于区块链的工业物联网系统的性能优化框架,以提高数据安全和效率的性能,在考虑系统去中心化、安全性和延迟的同时,优化可扩展性/吞吐量。因为DRL在处理动态、复杂问题时具有很好的优越性,所以选用DRL为处理工业物联网系统的动态、高维特征。
本文的主要贡献:
第一个区块链支持的物联网系统性能优化框架,以提高数据安全和效率的性能,其中四个方面的权衡,即:、可伸缩性、去中心化、安全性和延迟。
为了促进性能优化,我们从可伸缩性、去中心化、延迟和安全性方面量化区块链系统的性能。
- 针对工业物联网系统的动态和高维特征,我们设计了一种基于drl的算法,动态选择/调整块生成节点、共识算法、块大小和块间隔,以提高性能。
- 仿真结果表明,提出的性能优化框架可以很好地解决基于区块链的工业物联网系统的可扩展性问题,同时保证其他性能,并可以促进在基于区块链的工业物联网系统中的广泛应用。
相关工作
介绍了一些关于区块链支持的工业物联网系统和区块链系统的四向权衡的相关工作。
区块链与工业物联网的融合与发展。引出:区块链系统的性能(可伸缩性、去中心化、安全性或延迟)在这些工作中还没有得到很好的研究。
类似分布式系统对:一致性、可用性、分区容忍性的三选二。区块链系统也可以看作是一个四向权衡,涉及以下四个特性:
- Scalability(可伸缩性):可伸缩性问题指的是区块链系统处理交易的能力。为了使区块链技术更加普及,系统应该能够在广泛的应用程序中处理不断增加的交易量。
- Decentralization(去中心化):去中心化反映了对整个系统控制的碎片化,这使得系统可以实现其他目标:抵制审查、公开参与、免受某些攻击、消除单点故障。
- Security(安全性):区块链系统应保证分类帐的不变性,对51%攻击、Sybil攻击、分布式拒绝服务等攻击的一般鲁棒性。
- Latency(时延):区块链的延迟是通过到结束的时间(TTF)来衡量的,TTF定义为交易完成/确认并变为不可逆的时间。
举例说明:
- 比特币以太坊:实现良好的去中心化和安全性,但存在扩展性和终结性不足的问题
- Cardano和EOS:牺牲区块生产者的去中心化来实现可扩展性(高吞吐量)
- Cosmos和AION:以承担额外的攻击风险为代价,获得了可扩展性、去中心化和快速TTF
性能分析的相关工作,包括对以太坊、Fabric的测量、对比特币等的测量…..总之就是他们的方法不全面、且通用,所以我们提出新的评价方案。
系统模型
我们考虑一个基于区块链的工业物联网系统,该系统由两部分组成,即生成数据存储/处理和数据共享交易的工业物联网网络,以及以不可信和安全的方式处理交易的区块链系统。这两部分的模型如下所示。
工业物联网部分
工业物联网网络中:通过不同的传感器收集数据,设备通过两种Transaction(数据存储、数据共享)将transaction传输到区块链系统中进行存储。
区块链部分
区块生产者
区块生产者需要完成以下步骤:
- 生成一个区块:收集、验证和打包交易到一个区块;
- 将块追加到区块链:将生成的块广播给其他的块生产者,在对新块达成一致后,将块添加到他们本地的区块链中。
因此,有两个关键因素,即区块生产者(也称为验证者),其模型如下所示。
本文中假设,区块链系统中存在N个IIoT节点和K 个块生产者。
节点的集合称为:ΦS = {z1,z2,…,zN}
节点 zN 的 stake 用 Υn (in token)来表示
节点 zN 的 计算资源 用 cn (in GHz)来表示
根据一定规则从ΦS中得到这K个block producer,用ΦB={zb1,…,zbk,…,zbK}表示
假设区块生产者按照密度λ(x)的非齐次泊松点过程(PPP)聚集在R中的独立随机位置,其中节点zn的位置用二维坐标xn∈R表示,X={xn}为位置集。其中λ(x)定义为:
其中A∈R,x是位置的集合,num(A)的意思是在区域A节点的数量。
在IIOT中,我们假设K个区块生产者轮流生产区块,且区块大小为S,时间间隔为T。
共识模型
没有一个共识协议可以适用于所有的系统环境。
我们使用三种共识算法作为备选:PBFT、Zyzzyva、Quorum。具体使用还得看具体的使用环境。
简要介绍三种协议:
- PBFT: 一种具有强鲁棒性的协议,只要保证2/3以上的节点是诚实的,就可以得到共识。但是其也具有显著性能缺陷。
- Zyzzyva:一种投机的拜占庭容错协议,如果节点全是诚实的那只需要一阶段提交,大大减少计算量。但如果存在不诚实的节点,那将会进行二阶段提交,性能开销会很大。
- Quorum,一种被认为是“最快”的BFT协议。clinet只需要广播,并且等待回复。但是其缺点是过于脆弱,容易受到攻击,且不支持批处理。
在系统中我们考虑有K个出块节点,用Zb表示。client产生大量Transaction并且广播给验证节点达成共识,再协商的过程中,有一个副本被指定为主副本。
在拜占庭容错协议中,我们假设:
- client和primary节点都是诚实的,并且有f个错误的节点
- 错误的节点可以是任意错误:如网络过慢、过快或者发送不正确的数据
- 一致性系统是一个异步网络,其中同步间隔无限发生,任何信息都在超时时间T内传递
- 正确的节点通过循环的方式调度其他节点的信息
共识过程主要涉及交换和验证消息
使用R(i,j)(t)表示验证节点zi,zj之间的数据传输速率,并将其划分为L个等级,r = {r1,r2..rL}。
L L的概率转移矩阵R(i,j)(t)表示为 *p(t)
其中y1,y2∈r.
对于消息验证,我们只考虑加密操作的计算成本,如:签名验证、生产消息验证码和验证
性能分析
我们首先使用交易吞吐量来度量系统的可伸缩性。然后,其他属性,例如去中心化、延迟和安全性,被用作可伸缩性约束,以解决四向权衡问题。
Scalability 可伸缩性
可伸缩性可以通过交易的吞吐量来评估,交易吞吐量直接取决于两个与性能相关的参数:
- 一个是块大小,即每个块中可以包含的字节数,它决定了一个块中可以包含多少个交易;
- 一个是区块间隔,即区块生产者生产一个新区块所需的平均时间,它捕获了区块释放速率。
考虑到这两个因素,可以计算出交易吞吐量
其中S表示块大小(每个块可以包含的字节数),T块间隔(块生成器生成新块所需的平均时间),χ表示交易的平均大小。
直观来看,直接增加块大小,或者缩短块间隔时间就能提高吞吐量。但是由于生成的区块必须在基于共识机制的验证节点之间进行验证,因此验证节点和共识算法的选择也非常重要。
从四维权衡中可以看出,区块链系统的可扩展性还受到其他三个因素的影响,即去中心化、延迟和安全性,也就是说不能随意调整块的大小、块的间隔、块生产者的选择和共识算法。为此我们将量化了区块链系统中的这些因素。
可伸缩性限制
Decentralization 去中心化
为了测量区块链系统的去中心化,我们使用了基尼系数,它可以很好地作为财富或收入不平等的测量。由于基尼系数在评价“不平等”方面的优势,基尼系数被广泛应用于许多领域,如衡量“制度公平”[47]、“对比强度”[48]、“资源差异程度”[49]等。在本文中,我们关注区块生产者的分散,并考虑两个典型因素(即股权分布和地理位置)。区块生产者权益的基尼系数可计算为:
详细的基尼系数就不展开了,对于之前的地理位置的去中心化,我们之前有定义块生产者的分布是满足密度λ(x)的非齐次PPP分布,x∈
R。且密度分布函数是一个连续函数,所以区块生产者地理位置的基尼系数的计算方法如下:
其中区块生产者的密度集 λ={λ(x)} , x∈R。
注意,基尼系数的值在[0,1]范围内,其中0和1分别表示最高的分散和最高的集中。换句话说,权益/地点的分布越均匀或分散,系数越接近于0。为了从权益分配和地理位置上保证区块生产者的分散化,需要满足以下约束条件:
其中,η s,ηl∈[0,1]分别是去中心化的权益分布和地理位置的阈值。
Latency/TTF 时延
延迟衡量的是需要多长时间才能收到以区块链书写的交易最终完成。
之前说,交易的处理分两个步骤:生产区块(块间隔)、并在验证节点之间达成共识。再次细分,将验证过程分为两个部分:消息传递和消息验证。
综上,我们提出时延的定义为:
其中δ=0,1,2表示三种不同的共识协议。
在工业物联网网络中,智能设备通常期望在短时间内收到交易的最终结果。为了满足工业物联网网络的延迟要求,我们假设一个块的发布和验证应该在多个连续的块间隔内进行,即ω(ω >1)块间隔。即,TTF满足以下约束条件:
Security 安全性
对于bft类型的协议,只要有一部分参与者是诚实的[42],就可以在所有网络条件下达到明确的最终结果。因此,验证者的忠诚度对于bft类型的一致性算法非常关键。为了保证采用共识算法δ的区块链系统的安全性,恶意验证者的数量f应受到以下约束:
- PBFT和Zyzzyva的f应该满足:f ≤ [K-1]/3
- Quorum的 f = 0
结论
可以看出,块大小和块间隔的影响有两种作用方式。一方面,增加块大小或减少块间隔可以提高事务吞吐量。另一方面,随着块大小的增大,交易结束的时间(即TTF)也会增加,因为一次需要验证的交易越多。同时,区块间隔的减小对一致性延迟的约束更加严格。此外,与共识延迟是密切相关的是共识协议的选择和出块节点的选择。因此,块大小和块间隔的调整或出块节点和共识算法的选择应尽可能以达到四权衡。
DRL-based performance optimization framework
为了处理工业物联网系统的动态和多维特征,我们采用DRL方法去解决。
DRL框架包含一个离线深度神经网络(DNN)构建阶段,可以用相应的状态和动作逼近动作价值函数,
以及一个在线动态DQN阶段,用于动作选择、系统控制和动态网络更新。
状态空间
我们定义状态空间在阶段 t(t=1,2,…) 的交易规模为 χ 、权益分布为 Υ、IIOT节点地理位置为 x、IOOT节点计算能力为 c={ck}。以及每对IIOT节点之间链路的数据传输速率为 r ={Ri,j}的联合,记为:
动作空间
为了使吞吐量最大化,区块链系统的几个部分需要进行调整以适应动态环境,包括区块生产者a、共识算法δ、区块大小S和区块间隔T。记作:
节点记为 a={an},an∈{0,1},并且满足只有K个节点 = 1,即只有K个出块节点。三种不同共识的协议记作 δ={0,1,2},使用有限的小数表示区块大小 S∈{0.2,0.4,…,˙S} 和出块间隔 T ∈ {0.5,1,…,˙T}
奖励函数
奖励函数被定义为最大化交易吞吐量,同时保证区块链系统的去中心化、终结性和安全性,即。所以,每个阶段都应该做出决定来解决下面的问题:
其中动作价值函数Q(S,A),其奖励衰减 μ∈(0,1],其反应了短期和长期奖励的权衡。我们定义其立即奖励为:
请注意,如果约束C1−C3不能得到满足,则意味着调制后的区块链系统在去中心化、TTF或安全性方面的性能较差。因此,我们将这种情况的奖励设置为0,以避免这种无效的情况。
参数表
详细算法流程:
实验结果与讨论
在模拟中,我们考虑了一个基于区块链的工业物联网系统,该系统拥有100个工业物联网节点和21个区块生产者,分布在1公里× 1公里的区域内。初始参数见上表。仿真部分考虑四种基线方案:
- Proposed scheme without CAS:验证节点使用PBFT协议达成共识。
- Proposed scheme with fixed block size:出块节点在不同出块时间生成的区块大小相同(4mb)。
- Proposed scheme with fixedblockinterval:出块的频率是固定的(每1秒)。
- Existing static scheme:决策是通过最大化即时回报来决定的。
收敛性能
可以观察到,在学习过程的开始阶段,交易吞吐量非常低。然而,随着剧集数量的增加,吞吐量也会增加,在4000集左右时达到稳定状态,这也验证了我们所提方案的收敛性能。此外,我们还可以发现,所提出的方案比其他三个基于drl的基线具有更高的吞吐量,这显示了我们所提出的框架的优势。
去中心化性能
我们使用了一个更通用的指标,即基尼系数,来获取区块链系统权益分布和地理位置的去中心化。可以看到,随着基尼系数阈值的降低,Lorenz曲线逐渐向理想分散曲线(红线)靠拢,即区块链系统变得更加分散。揭示了基尼系数是一个有效的度量指标,能够从不同方面定量地衡量区块链系统的分散性。
与基线的性能对比
图中探讨了不同参数对启用区块链的物联网网络性能的影响。使用具有不同TTF阈值、平均交易大小、验证节点的平均计算资源和块大小限制的基线。
图7,随着TTF阈值的增加,所有方案都获得了更高的交易吞吐量。这是因为验证节点可以在一个块中处理更多交易,延迟约束更宽松。此外,可以观察到,我们提出的方案可以达到比基线更高的一致性吞吐量。同时需要注意的是,在严格的TTF约束下,固定块大小方案的效果要优于固定块间隔方案。一个合理的解释是,固定块大小方案可以调整块间隔来应对低ttf -threshold的情况。此外,我们可以发现现有的静态方案表现出最差的性能,这揭示了基于drl的解决方案的优越性。
图8,可以观察到,区块链系统对所有方案的吞吐量都随着交易大小的增加而降低。背后的原因很明显,对于较大的交易,一个块可以容纳更少的交易。从图9,与基线相比,所提议的方案确认交易所需的时间最少(最低平均TTF)。
图10,随着区块大小限制的增加,启用区块链的物联网网络可以处理更多的交易。然而,吞吐量并不是无限增加的,因为TTF约束限制了一个块中的最大交易数量。这也为区块链系统在实际场景中的设计提供了一些见解,考虑到其他属性,如延迟,增加块大小限制并不总是有帮助的。
结论
在本文中,我们为区块链支持的工业物联网系统提出了一种新的基于drl的性能优化框架,在保证系统去中心化、延迟和安全性的同时,区块链的可扩展性得到了提高。在我们提出的框架中,我们首先提供了区块链系统性能的定量度量。然后,通过选择区块生产者和共识算法,利用DRL技术调整区块大小和区块间隔,最大限度地提高区块链系统的链上事务吞吐量。仿真结果表明,在不同的系统参数下,该框架能够实现比基线更高的吞吐量。未来的工作是从其他方面考虑其他共识算法和区块链系统的去中心化。
参考: