基于区块链声誉管理的拜占庭机器人识别方法
2024-04-26曾佳洲
黄 捷 曾佳洲
群机器人作为近年来发展迅速的人工智能技术领域之一,广泛应用于仓储物流[1-2]、工业技术[3-4]、勘探[5-6]等诸多场景.群机器人研究通常假设每个机器人都可以完全按照预设算法行动,但当机器人受到恶意攻击时可能成为恶意机器人,产生非预期的行为,进而干扰集群任务的执行.由于恶意攻击导致出现非预期行为的机器人称为拜占庭机器人(Byzantine Robots),是来自群机器人内部的安全威胁.Mokhtar等[7]针对群机器人执行探索任务场景,提出一种基于区块链的信息共享系统.然而该系统未考虑安全问题,当系统内部存在拜占庭机器人恶意上传错误信息时,会导致错误信息在群机器人内传播.因此,对群机器人系统而言,识别、管理拜占庭机器人是一个关键安全问题.
声誉值是对系统中机器人连续行为的数值评价,声誉管理系统(Reputation Management System, RMS)建立实体行为到数值的映射机理,定量评估系统中实体的可信度,管理系统中的实体.在群机器人领域,RMS可用于检测拜占庭节点[8].传统RMS实现方法是建立一个集中式的中央节点,对系统中节点的声誉值评分,然而集中式的方案效率较低,并且RMS系统依赖中央节点运行,一旦中央节点故障,会导致系统瘫痪.分布式RMS可克服传统集中式RMS的缺陷,Zikratov等[9]提出能有效减少拜占庭节点对系统影响的群机器人分布式信任模型.
近些年,区块链技术逐渐成为构建分布式RMS的主流方案.由于区块链不依靠第三方信任,并附带一个去中心化的架构[8],为群机器人系统构建可信RMS提供技术支撑.区块链可在没有第三方的情况下确保多个实体之间的信任,避免单点故障和集中式中央节点恶意篡改、泄露系统数据等问题,并确保交易的透明度和可追溯性[10-11].已有学者尝试使用区块链设计群机器人RMS.Strobel等[12-13]在群机器人共识场景下使用区块链智能合约,设计一种群机器人RMS,实现群机器人的信息共享,并通过声誉值识别和管理拜占庭机器人.Luo等[14]在文献[12]和文献[13]的基础上,提出一种利用区块链过滤群机器人集体决策中不一致故障的方法.Strobel等[15]进一步优化文献[13]中的RMS,将区块链平台以太坊(Ethereum)使用的虚拟货币,即以太币应用于RMS,通过以太币的管理使拜占庭机器人因缺少以太币无法发起交易,从而制约拜占庭机器人.
在上述工作中,研究者总体技术路线是设计RMS中计算机器人的声誉值,从而识别和管理拜占庭机器人.此外,在群机器人系统中使用区块链的另一个挑战是延迟问题.Ferrer等[16]借助区块链技术,解决领航-跟随者编队场景下拜占庭领航机器人导致跟随机器人无法正确前往目标点的问题.文献[16]引入区块链,导致通信延迟,使系统成为异步系统.通常群机器人系统对实时性要求较高,要在群机器人中应用区块链,需要解决区块链带来的通信延迟问题,以免影响群机器人的正常工作.
综上所述,为了减少识别群机器人系统中拜占庭个体所需的时间,本文在文献[12]~文献[15]的基础上,提出具有身份认证和任务监管的声誉管理系统(RMS with Identity Authentication and Task Su- pervisor, RMS-IATS).同时,为了解决区块链带来的通信延迟问题,设计一种双层通信网络,应对群机器人执行任务过程中的高实时性任务要求.首先,受行为控制[17]思想启发,设计一种群机器人声誉管理系统,将综合的机器人任务分解成4类子任务,根据机器人的子任务执行情况,计算机器人任务执行过程中的声誉值.此外,在机器人声誉值计算过程中引入惩罚因子,对长期存在拜占庭行为的机器人进行更严厉的声誉值惩罚,减少识别拜占庭机器人所需时间.其次,设计一种身份认证协议,部署于区块链上,使用机器人的身份信息和在区块链上的地址信息对机器人进行身份认证,身份非法的机器人将被给予较低的初始声誉值,从而减少系统识别拜占庭机器人所需的时间.最后,在基于区块链的RMS-IATS内设计双层通信网络,用于机器人节点间的通信.在区块链系统内额外引入一条高速通信网络,解决群机器人系统中因引入区块链带来的通信延迟问题.
1 相关概念及设计目标
1.1 相关概念
拜占庭机器人是指无论其根本原因如何,表现出与预设行为不一致行为的机器人.如果机器人偏离它的预设行为或出现随意行动,则具有拜占庭行为[16].本文将拜占庭机器人分为两类.1)恶意机器人.这类拜占庭机器人不会按照预设任务去行动.2)传感器或执行器故障的机器人,在机器人运行过程中,传感器或执行器的故障可能会导致机器人出现异常行为.当群机器人执行任务时,其内部的拜占庭机器人将由于恶意或因故障而不执行预设任务.
区块链技术是一种将数据块按时间顺序组合成链状的技术[18].在区块链上,数据按照特定的时间顺序组织起来,并使用密码学原理进行加密,从而使数据可追溯、不可篡改.区块链不仅可为群机器人提供可靠的点对点通信渠道,还是一种克服潜在威胁、漏洞和攻击的方法[19].
智能合约是存储在区块链上自动运行的独立于节点的第三方脚本程序,并在部署后强制执行,当触发编程预设条件时,智能合约执行相应的合约功能.通过设计不同的智能合约,可使区块链系统实现不同的功能.
RMS目标是保证系统中实体的声誉值准确反映其采取的行动[20].一般来说,为了评估系统中一个实体的声誉值,需要通过交互或第三方提供的实体信息,通过预定义的映射函数和聚合函数,将收集到的实体信息从证据空间(Evidence Space)映射到信任空间(Trust Space)[21].
身份认证是网络安全中的一项关键技术,防止未经授权的用户访问并占用网络资源.在群机器人系统引入身份认证可有效提高系统识别拜占庭机器人的能力.基于区块链的身份认证技术可为分布式环境下信任关系的构建提供有效思路[18].
1.2 设计目标及假设
本文的设计目标是为群机器人系统设计一种具有身份认证和任务监管功能的RMS,在满足假设的条件下,使用机器人的身份认证结果和任务执行信息计算机器人的声誉值,通过对比设定的声誉值阈值,快速识别群机器人内部的拜占庭机器人.此外,设计一种双层通信网络,缓解将区块链引入群机器人系统带来的延迟问题.本文给出如下假设.
假设 1机器人的算力相同,即n+1个机器人的算力总是强于n个机器人.
假设 2机器人节点在任一时刻都有足够的虚拟货币进行交易,不会因为虚拟货币数量不足而无法发起交易.
假设 3拜占庭机器人的数量L小于群体中机器人数量N的一半,即L 注 1RMS-IATS的可靠性依赖于区块链的安全性,一般假设攻击者不能控制区块链系统中超过一半的计算节点,只要这个条件成立,区块链就是安全的. 基于区块链技术,本文设计具有身份认证和任务监管的声誉管理系统(RMS-IATS),框图如图1所示. 图1 基于区块链的RMS-IATS框架图 RMS-IATS由如下3部分组成. 1)身份管理中心(Identity Management Center, IMC).负责存储和管理合法身份信息.在区块链初始化阶段,IMC将合法的身份信息发送给身份认证模块.系统管理员(System Administrator, SA)具有添加、修改、删除身份信息的权限. 2)身份认证模块(Identity Authentication Modu- le).运行在智能合约(Smart Contract, SC)中,作用是接收机器人的认证请求和认证信息,判断机器人的身份是否合法. 3)任务监管模块(Task Supervisor Module).运行在智能合约中,作用是对群机器人的任务执行状态进行监督和评分,评分会影响机器人的声誉值. 此外,群机器人中的机器人节点由控制模块和通信模块组成.通信模块负责机器人与其它机器人的通信以及与区块链进行交互.控制模块负责控制机器人移动,并控制机器人使用执行器、传感器完成任务.机器人节点之间是全连通的. 对于系统内的机器人Ri(i=0,1,…,n-1),n为系统内机器人的数量,其认证过程分为如下3个阶段. 1)系统初始化阶段. step 1 SA生成全局密钥Ks,并将Ks存储在IMC中. step 2 IMC生成一组区块链账户信息,每个账户信息包含区块链地址A及密码P,随后,IMC将全局密钥Ks写入SC. 2)机器人注册阶段.机器人Ri注册流程如下. step 3 IMC生成身份标志IDi,通过安全信道将一个区块链地址Ai和密码Pi,以及IDi发送至Ri,Ri将(IDi,Ai,Pi)存储在内存中,其中,密码Pi和身份标志IDi为秘密参数. step 4 IMC使用哈希函数h(·)计算 3)机器人认证阶段.机器人Ri身份认证流程如下. step 5Ri生成时间戳t1和随机数n1,计算 M1=IDi⊕h(Pi),M2=h(M1,t1,n1), 发送信息(M1,M2,t1,n1)给SC. step 6 SC收到(M1,M2,t1,n1)后,首先验证 tnow-t1<Δt 验证 是否成立,若成立,则SC成功认证Ri,Γi=1,否则Γi=0. step 7 认证成功后,SC计算 发送(M3,M4)给Ri,Ri收到M3后,计算 本文改进文献[15]中的RMS框架,基于行为[17]将综合的群机器人任务分解为4类子任务,通过部署在智能合约内的计机器人任务监管模块对机器人的子任务进行监管.在身份认证结束后,群机器人开始执行预设任务,间隔固定的时间ΔT,任务监管模块会对机器人的子任务执行情况进行一轮评分,得到的评分将用于迭代机器人声誉值,具体过程如下. 在每个机器人加入编队执行任务前,任务监管模块会根据身份认证结果,为每个机器人设定一个初始声誉值: 其中,i=1,2,…,n,Γi为机器人Ri的身份认证结果,κ为系统管理员设定的通过身份认证的机器人的初始声誉值. 随后,间隔固定时间ΔT,任务监管模块对机器人的任务执行进行一轮评分.第k轮对机器人Ri的评分过程如下. 定义ρ∈Rm为任务变量,σ∈Rn为机器人配置[17].ρ与σ相关,ρi(i=1,2,…,n)为机器人Ri的任务变量,机器人的任务函数如下: ρi=f(σi), 其中,f(·)为从σ到ρ的映射关系,表示不同配置的机器人的任务差异. 注 2RMS-IATS可推广至一般群机器人多任务场景,若存在任务超出本文给出的4个子任务分类,则沿用本文子任务评价函数设计逻辑关系.首先分析对应子任务的评价指标,如本文避障、避碰子任务ρi,o的评价指标为机器人与障碍、其它机器人的距离di,o.然后根据对评价指标的需求在声誉管理系统中设计对应的子任务评价函数,如子任务ρi,o的评价指标di,o,本文希望di,o大于设定的安全距离dsafe,当di,o 在第k轮评分中,任务监管模块对子任务ρi,m的评分与当前Ri的目标点Pi,m的距离相关,系统通过传感器采集机器人的任务执行信息infi的目标点与机器人的任务执行状态函数相关,即 Pi,m=λ(infi), 其中λ(·)为Pi,m和infi之间的映射关系. Ri当前位置与目标点的距离误差如下: di,m=‖Pi,d-Pi,m‖, 其中,‖·‖为两点间的距离,Pi,d为Ri当前位置. 对于子任务ρi,m,评分 在第k轮评分及对子任务ρi,o评分的设计中,机器人需实时获取与最近障碍物、其它机器人的距离信息且给定避障的安全范围dsafe.机器人突破安全范围时,越靠近障碍物的惩罚越大,距离为 0 时碰撞发生,惩罚接近-∞.Ri当前位置与目标点的距离误差为: di,o=‖Pi,d-Pi,o‖ , 本文定义在系统中的非拜占庭机器人为良性机器人,对于任一机器人,即使其存在拜占庭行为,在被识别为拜占庭机器人前,也认定为良性机器人,计算良性机器人声誉值的平均值: (1) 其中N为良性机器人的数量. 注 3静态阈值τ的具体数值设置应大于未通过身份认证机器人的初始声誉值κ,从而使未通过认证的机器人在实验开始时即被识别为拜占庭机器人.动态阈值参数的具体数值设置应大于对子任务ρi,a的奖励β,以防止多数机器人抵达目标位置并执行子任务ρi,a,而部分良性机器人由于暂时未达到目标点而未执行子任务ρi,a,导致其声誉值低于动态阈值,被误识别为拜占庭机器人的情况发生. 当Ri在时刻t被识别为拜占庭机器人后,根据式(1)计算群机器人平均声誉值时,将已识别为拜占庭机器人的Ri排除在外,从而防止Ri对后续群机器人系统内拜占庭机器人的识别造成影响. 由于区块链的特性,在群机器人系统引入区块链会导致节点间的通信延迟.在时刻t,区块链上的节点进行交易,矿工节点进行挖矿并将交易打包进区块链中,区块链的状态会发生变化,即 Yt+td=Ω(Yt,T), 其中,Ω为区块链的状态转移函数,Y为区块链状态,T为交易信息.当节点在时刻t发起一次交易,需要等待一个延迟时间td,节点挖矿成功、节点间形成共识、交易被打包上链后,交易才会生效,即从交易发起到交易生效需要等待一个延迟时间. 由于节点挖矿所需的时间以及形成共识的时间是随机的,即一笔交易从发起到生效的所需时间是随机的,系统中使用区块链的部分变成一个异步系统,故完全基于区块链的通信网络存在较大的通信延迟,无法满足群机器人的通信延迟要求[22]. 为了解决引入区块链带来的通信延迟问题,本文设计一种双层通信网络,框架如图2所示.区块链通信网络(如图中蓝线所示)完成对实时性要求不高的通信任务.高速通信网络(如图中红线所示),使用无线网络(如WiFi、蜂窝网络等)进行通信. 图2 双层通信网络框架图 在高速通信网络中,节点间借助在身份认证step 7获取的全局密钥Ks,生成会话密钥,用于加密信道中的信息.对于每个机器人节点而言,Ri与Rj均完成认证后,在一次会话中,机器人Ri需要发送明文信息M给Rj,在会话过程中Ri和Rj会分别使用计数器cnti和cntj,当一次信息传输完成后,计数器的值将会增加,传输M的具体过程如下. step 1 对于机器人Ri,计算 其中,enc(m,s)为加密函数,m为待加密的明文信息,s为加密使用的密钥.完成加密后Ri生成时间戳t2和随机数n2,计算 M5=h(EM,t2,n2), 将(EM,M5,t2,n2)发送给Rj.发送后,计数器的值 cnti=cnti+1. step 2Rj收到信息后,首先验证 tnow-t2<Δt 是否成立,若不成立,结束当前会话.其次,计算 其中,dec(m,s)为解密函数,m为待解密的密文,s为解密使用的密钥.完成后,计数器的值 cntj=cntj+1. 本节使用ROR(Real-or-Random)模型[23]和自动安全验证工具PV(ProVerif)[24]验证本文的身份认证协议的安全性. 敌手A能够窃取和修改在非安全信道中的信息传输,可向非安全信道内注入伪造的信息.敌手A可执行如下请求(Query). 1)Execute(Λv,Λw):敌手A可获取到在信道中的传输信息. 2)Reveal(Λv):敌手A可获取到当前会话中Λv生成的会话密钥. 3)Send(Λv,m):敌手A向Λv发送一条消息,若消息正确,A将收到相应的响应信息. 4)Test(Λv):该请求是通信密钥的安全模型,在实验开始前将随机生成一个比特c,敌手A发起请求后,当c=1时,Λv将返回真实的会话密钥,当c=0时,Λv将返回一个和会话密钥等长的随机数,随后,A需要猜测c. 若敌手A在Test(Λv)请求中猜对c,则敌手赢得游戏(Succ).在ROR模型中,敌手获得胜利的概率表示为 advp=|2Pr[Succ]-1|, 其中Pr[E]表示事件E发生的概率.若advp<,其中>0足够小,则会话密钥是安全的. 证明定义3个游戏(Game)分别为Gi(i=0,1,2),使用Succi表示在Gi中敌手成功猜对比特c. 1)G0.在G0中,A在ROR模型下,对协议进行原始攻击.A在游戏开始前比特c就被选择完毕.因此,在协议中可得 advp=|2Pr[Succ0]-1|. (2) 2)G1.G0被转化为G1.在G1中,敌手A执行Execute请求,然后执行Test请求,最后,敌手A根据Execute和Test查询的结果猜测比特c.敌手A猜对比特c的概率不会因执行Execute和Test查询而增加,则 Pr[Succ1]=Pr[Succ0]. (3) (4) 由于会话密钥的生成过程中包含短期秘密cnti和cntj,敌手A无法通过多次执行请求增加猜对比特c的概率,敌手A只能在执行Test请求时猜测比特c以赢得游戏,因此 Pr[Succ2]=0.5. (5) 由式(3)~式(5)可得 (6) 最后,根据式(2)和式(6),可得 ProVerif是一种广泛使用的安全验证工具,可处理密码学算法,包括对称加密和签名函数、哈希函数等[24].身份认证协议的身份认证及密钥协商涉及3个参与者:智能合约SC、机器人Ri、机器人Rj.为了验证协议的安全性与可靠性,需要验证机器人Ri、Rj的秘密参数Pi、Pj、IDi、IDj,系统主密钥Ks及所需传输的明文信息M不被敌手获取.同时验证及认证过程中的流程机器人注册、机器人身份认证、机器人获取密钥参数、机器人生成会话密钥、机器人结束会话能按流程正常执行. 在PV中定义如下7个事件: 1)RiRegistrationSucc,表示Ri注册完成,对应机器人身份认证step 3与step 4. 2)RiAuthenticationSucc,表示SC成功认证Ri,对应机器人身份认证step 6. 3)RiGetSessionKey,表示Ri成功获取通信密钥,对应机器人身份认证step 7. 4)RjRegistrationSucc,表示Rj注册完成,对应机器人身份认证step 3与step 4. 5)RjAuthenticationSucc,表示SC成功认证Rj,对应机器人身份认证step 6. 6)RjGetSessionKey,表示Rj成功获取通信密钥,对应机器人身份认证step 7. 7)End,表示Ri和Rj成功使用通信密钥完成一次信息传输,对应机器人密钥协商step 1与step 2. 此外,定义如下6个参数: 1)IDi,对应机器人Ri秘密参数IDi; 2)IDj,对应机器人Rj秘密参数IDj; 3)Pi,对应机器人Ri秘密参数Pi; 4)Pj,对应机器人Rj秘密参数Pj; 5)Ks,对应系统主密钥Ks; 6)M,对应明文信息M. 根据对上述事件与参数的安全验证需求,PV输出如下12条安全验证结果: 1)Query not attacker(IDi[]) is true,表示敌手无法获取秘密参数IDi; 2)Query not attacker(IDj[]) is true,表示敌手无法获取秘密参数IDj; 3)Query not attacker(Pi[]) is true,表示敌手无法获取秘密参数Pi; 4)Query not attacker(Pj[]) is true,表示敌手无法获取秘密参数Pj; 5)Query not attacker(Ks[]) is true,表示敌手无法获取系统主密钥Ks; 6)Query not attacker(M[]) is true,表示敌手无法获取明文信息M; 7)Query inj-event(End)⟹inj-event(RiGetSessionKey) is true,表示事件End发生前一定会发生一次事件RiGetSessionKey; 8)Query inj-event(End)⟹inj-event(RjGetSessionKey) is true,表示事件End发生前一定会发生一次事件RjGetSessionKey; 9)Query inj-event(RiGetSessionKey)⟹inj-event(RiAuthenticationSucc) is true,表示事件RiGetSessionKey发生前一定会发生一次事件RiAuthenticationSucc; 10)Query inj-event(RjGetSessionKey)⟹inj-event(RjAuthenticationSucc) is true,表示事件RjGetSessionKey发生前一定会发生一次事件RjAuthenticationSucc; 11)Query event(RiAuthenticationSucc)⟹event(RiRegistrationSucc) is true,表示事件RiAuthenticationSucc发生前一定会发生一次事件RiRegistrationSucc; 12)Query event(RjAuthenticationSucc)⟹event(RjRegistrationSucc) is true,表示事件RjAuthenticationSucc发生前一定会发生一次事件RjRegistrationSucc. PV验证结果意味着本文的身份认证协议在经过PV的分析后是安全可靠的,输出结果1)~6)说明敌手无法获取会话双方的身份参数IDi、IDj、Pi、Pj、系统主密钥Ks及所要传输的明文信息M,输出结果7)~12)说明对Rj、Rj的认证能按照设定流程顺序执行. 注 4基于ROR模型和PV安全工具的安全验证可推广至多机器人的认证与密钥协商安全,对于多机器人的身份认证及密钥协商过程,可拆分群机器人为多组(两个单位为一组)的形式,分别进行安全验证. 为了验证基于区块链的RMS-IATS与双层通信网络的有效性,与经典的群机器人RMS进行对比.仿真设置群机器人货运任务场景,分别考虑3台、5台、7台移动机器人在二维平面上执行货运任务,机器人采用领航-跟随者编队法[25].群机器人系统的任务是编队前往设定的取货点取货,并将货物运送到设定的卸货点,仿真场景如图3(a)所示,良性机器人任务设置如图3(b)所示、恶意机器人任务设置如图3(c)所示. (a)仿真场景设置 在仿真中,对比分析使用一种经典的基于区块链的群机器人RMS[15](简称为经典RMS)时和使用RMS-IATS时的仿真结果. 本节考虑5台机器人时的仿真结果,当机器人被识别为拜占庭机器人后停止运动.仿真参数如表1所示. 表1 仿真参数 使用的区块链平台为以太坊(Ethereum),哈希函数为SHA256.仿真使用群机器人仿真平台ARGoS[26]和e_puck插件[27].在Docker容器中部署以太坊,机器人使用C++接口程序、shell脚本和JavaScript脚本连接以太坊,机器人拥有足够数量的以太币,如假设2,机器人总能与智能合约进行交互. 在仿真中,为机器人运动子任务ρi,m设置惩罚因子: 仿真中未注册身份的机器人身份信息非法;否则,机器人身份信息合法.仿真考虑3类拜占庭机器人:故障机器人、身份信息合法的恶意机器人、身份信息非法的恶意机器人.故障机器人在执行预设任务过程中将由于故障而停止运动;恶意机器人由于受到攻击,被设定为将货物送至非预设卸货点P3.考虑3台、5台、7台机器人时的9种仿真设置如表2所示. 表2 仿真设置 图4、图5、图6、图7分别表示无拜占庭机器人、机器人5设为故障机器人(对应表2中case4)、机器人5设为身份合法的拜占庭机器人(对应表2中case5)、机器人5设为身份非法的拜占庭机器人(对应表2中case6)时的仿真结果. (a)群机器人轨迹 (a)群机器人声誉值 (a1)群机器人轨迹 (a2)群机器人声誉值 (a1)群机器人轨迹 (a2)群机器人声誉值 (a1)群机器人轨迹 (a2)群机器人声誉值 当机器人5身份合法时,机器人通过身份认证,此时,相比经典RMS,由于引入惩罚因子,当系统检测到机器人存在拜占庭行为时,声誉值很快降至阈值下;当机器人5非法时,由于未通过认证,被给予一个较低的初始声誉值,声誉值很快降至阈值以下.由于经典RMS没有使用身份认证,仅根据任务执行情况改变机器人5的声誉值,仅在机器人5执行拜占庭行为的情况下,声誉值才会下降. 在考虑3台、5台、7台机器人时的9种仿真设置下识别拜占庭机器人所需时间如图8所示.计算识别拜占庭时间时,从设定的机器人异常时间开始算起,直到机器人被识别为拜占庭机器人. 图8 识别拜占庭机器人所需时间 相比经典RMS,RMS-IATS能减少识别拜占庭所需的时间,缩减量超过14.29%. 使用文献[16]中的领航-跟随者场景进行仿真实验,验证本文的双层通信网络的有效性.具体场景如图9所示,设置1个领航者与2个跟随者,领航者机器人采集环境信息后进行运动,并将控制指令发送给跟随者,跟随者执行接收到的控制指令,从而实现编队效果.当领航者与跟随者之间无通信延迟时,跟随者能立刻收到来自领航者的控制指令,跟随者与领航者的运动始终保持一致,跟随者与期望位置的距离误差总为0.领航者与跟随者之间的通信延迟越大,跟随者越迟收到领航者的控制指令,跟随者与其期望位置之间的距离误差随通信延迟的增大而增大. 图9 双层通信网络仿真场景 仿真对比使用区块链作为通信网络[16]和使用双层通信网络中的高速通信网络作为通信网络时跟随者1与期望位置之间的距离误差.设定系统通信延迟为0~200 ms,领航者运动20 s后停止运动.在高速通信网络中,分别考虑不使用加密算法(即仅考虑系统的物理通信延迟)、使用本文的密钥协商协议、使用RSA(Rivest-Shamir-Adleman)非对称加密3种情况.进行20次仿真实验,机器人运动速度为1 m/s,控制频率为100 Hz,仿真结果如图10所示,图中使用的误差棒上下分别为数据的最大值和最小值,表征数据的分布情况,编队过程中跟随者与期望位置的最大误差由2.103 m减少至0.118 m(约94.38%). 图10 仿真中跟随者1与期望位置之间的距离误差 本文探索区块链在群机器人任务执行场景下的应用,解决群机器人在执行任务过程中拜占庭机器人带来的安全问题.改进一种经典区块链RMS[15],进一步提出具有身份认证和任务监管的RMS(RMS-IATS).一方面,对机器人进行任务监管,对长期执行拜占庭行为的机器人进行更严厉的声誉值惩罚,另一方面,构建一种身份认证协议,在群机器人开始执行任务前,根据身份认证结果赋予每个机器人不同的初始声誉值,实现机器人节点的身份认证与任务监管.此外,设计一种双层通信网络,用于机器人节点间的通信,缓解区块链带来的通信延迟问题.最后,在一种货运场景的仿真中验证方案的有效性,相比经典RMS,RMS-IATS识别不同类型拜占庭机器人所需的时间缩短14.29%以上.此外,在领航-跟随者编队仿真中验证双层通信网络的有效性,与使用区块链[16]时相比,系统的最大通信延迟减少94.38%,因此能有效减少系统通信延迟. 文中RMS-IATS采用单区块链模型,所有机器人设备均处于同一区块链下,当机器人设备增多时,系统身份认证与任务监管效率降低,并伴随所需存储资源增多.今后将进一步研究多区块链系统,并尝试设计多链模型下的群机器人身份认证与任务监管方案.2 基于区块链的具有身份认证和任务监管的声誉管理系统
2.1 框架设计
2.2 身份认证
2.3 任务监管
2.4 双层通信网络与密钥协商
3 安全性分析
3.1 使用ROR模型进行形式化安全分析
3.2 基于PV工具的安全验证
4 仿真实验及结果分析
4.1 实验设置
4.2 身份认证与任务监管
4.3 双层通信网络
5 结 束 语