文摘
实际拜占庭容错共识算法减少了操作的复杂性拜占庭协议从一个指数级多项式级别,这使得它可以应用拜占庭协议在分布式系统。然而,它仍然有一些问题,如高的通信开销,安全性低,可扩展性差,和跟踪困难。在本文中,我们提出一个拜占庭容错算法基于共识双重管理员短群签名(GPBFT)。首先,选择主节点的认证机构和集团管理员基于信用的价值。组管理员的节点组织成一个群体,和成员生成签名应用短群签名方案,任何集团成员可以代表该组织在GroupSign阶段。此外,GPBFT算法增加了跟踪阶段。根据会员和客户端身份验证信息,管理员可以追踪恶意节点的真实身份,识别恶意节点,并撤销它。实验结果表明,与PBFT算法相比,GPBFT算法可以减少网络通信开销,减少延迟的共识,极大地提高系统的安全与稳定。该算法可以有效地管理成员节点和启用跟踪识别恶意节点,同时保持匿名的节点跟踪。
1。介绍
在区块链的实际应用,存储可伸缩性和安全性研究人员面临的主要问题在现有的可持续制造领域。主要的安全问题包括私钥的生成和保护、签名算法的漏洞,共识的集中化过程,智能合同的漏洞,和分散的应用程序的漏洞。是具有挑战性的设计可伸缩的和高度安全的共识算法来帮助自适应协调有效地在每一个可持续制造系统(1,2]。算法中的核心机制的共识区块链系统,它旨在解决数据一致性问题的分布式系统中节点(3- - - - - -5]。拜占庭容错算法(BFT)是一个基于拜占庭容错算法的问题,与可靠通信地址如何达成共识但节点故障的可能性6]。然而,该算法的指数运算的复杂性使其在实践中难以实现。在裁判。7],卡斯特罗和Liskov PBFT算法,提出一种改进的算法BFT,这减少了操作的复杂性拜占庭协议从指数级多项式级别,允许拜占庭协议用于分布式系统。Hyperledger结构项目是第一个使用PBFT算法在该财团区块链8- - - - - -10]。宇宙的Tendermint算法区块链结合PBFT和PoS算法和使用令牌的抵押贷款来选择一些共识节点BFT共识。它削弱了异步的假设,并采用了锁的概念基于PBFT算法,通过两级通信允许节点共识达成共识部分同步网络(11,12]。基于Tendermint Hotstuff算法集成了每个阶段的区块链chained-block结构BFT,前面的块的签名确认,建设一个新的块同时执行节点之间在每个阶段,简化了算法的实现(13- - - - - -15]。MBFT算法结合了分层和切片技术。前者可以有效地减少单个节点的负载和提高共识效率。后者可以将事务分配给不同的节点组,来提高处理能力和降低延迟(16]。通过分组网络节点,RBFT采用改进的筏参与组内的共识。生成的领导人筏算法形成一个新组,和PBFT共识机制采用新组。算法解决问题,一些传统的PBFTs不能支持低延迟、高吞吐量、高安全的大规模网络(17]。上述共识算法主要使用替换整个网络节点的一个子集,这可以减少交通和提高算法效率。然而,在大规模网络中,只有少数节点参与的共识会影响系统的集中程度,和可伸缩性是有限的。另一方面,许多改进的算法是基于分组或层次的思考。虽然PBFT算法的交通可以减少将共识过程划分为多个水平,该算法仍然保持较高的复杂性。此外,不要把现有改进算法的安全性PBFT算法首先或提高处理恶意节点。
在本文中,我们提出一个实用的拜占庭容错算法基于共识双重管理员短群签名,客户端发起一个请求开始的共识过程选择主节点和后组管理员和短群签名。与PBFT算法相比,GPBFT算法添加GroupSign阶段和跟踪阶段。GroupSign阶段,集团管理员将副本节点组织成一个小组,一个小组成员可以代表集团只要完成共识的过程,这将减少通信开销,减少通信。在跟踪阶段,集团管理员可以跟踪跟踪的具体身份信息节点的身份验证失败,然后撤销成员,以确保系统的安全与稳定。
2。相关工作
Chaum和van黑斯介绍了群签名的概念,在1991年(18]。Camenish等人后来修改和细化的概念(19,20.]。群签名是广泛应用于管理、军事、政治和经济方面。群签名,和其他数字签名一样,可以公开验证,只有一个群公钥。组管理员在群签名确保签名是安全的和可追踪的,除了基本的匿名性。集团管理员可以寻找真正的签名者打开群签名(21]。
2.1。短群签名的基础
斯坦福大学教授Boneh首次提出短群签名在2004年国际会议密码(22]。这个签名方案的安全性是基于强大的diffie - hellman (SDH)和线性diffie - hellman (LDH)假设在密码学。使用双线性映射的签名 ,保证签名的长度而满足群签名的特点和符合安全标准。
2.1.1。双线性映射,SDH和LDH的假设
双线性映射:让 , ,和有三个乘法循环'命令组 ,和生成的元素是 。双线性映射是一个映射关系 定义在这三组、满足双线性非退化和可计算性。q-Strong diffie - hellman ( ):鉴于 元组 作为输入和一双 作为输出。线性diffie - hellman (LDH):决定线性问题 : 给出了作为输入,输出是肯定的如果 ;否则,输出是否定的。
2.1.2。短群签名技术
在短群签名方案,任何一个组的成员可以匿名消息签名代表整个群体。短群签名,像所有其他数字签名,是公开可验证的,可以验证只有一组公共密钥,如图1。
2.1.3。短群签名安全标准
假设小组成员和管理员之间的通信是保密的,短群签名方案应确保签名系统是有效的和长期的。属性需要满足如表所示1。
2.2。PBFT共识算法
实际拜占庭容错算法是一种分布式一致性算法基于共识状态机复制。它需要签署发送消息时,每个节点和其他节点不能修改其他节点的信息。接收客户端请求后,下一个请求将被发送后才执行的完成先前的请求进行广播。
PBFT算法,所有节点运行在相同的配置,只有一个主节点和其他节点作为副本节点。主节点负责处理来自客户的请求并将它们发送给复制节点。整个算法的基本过程如图2。
过程中有三个核心阶段PBFT算法:预先加工阶段,准备阶段,提交阶段。首先,客户端发送一个请求到主节点。然后,主节点后将向其他节点发送一个预先加工的信息接收客户端请求。其他节点启动核心三相共识过程在收到预先加工的信息。细节如下:(一)预先加工阶段:节点决定是否同意请求基于消息内容或请求数量订单在收到预先加工信息。(b)准备阶段:同意请求后,节点发送一个消息到其他节点做准备。如果超过(表示容错恶意节点)的最大数量不同的节点收到一个准备消息在一定时间内,准备阶段完成。(c)提交阶段:广播消息提交到其他节点。当 提交收到消息(包括自己的),大多数的节点进入提交阶段,在此阶段已经达成共识,所以节点执行请求,并写入数据。
节点发送一条消息到客户端在这个过程结束的时候。
3所示。双重管理员短群签名方案
当设计一个群签名方案,群签名的长度一直是一个重要因素。当网络带宽有限,短群签名是常用的。短群签名可以保证小组成员的隐私,这个方案的主要优点之一是,签名是短暂的。例如,当元素171位的字符串,签名的长度只有192字节,这可以减少系统的通信负载。此外,安全是大约一样的RSA签名算法与签名长度为1024位。确保稳定和安全的签名算法,双管理员短群签名方案在本文中必须满足以下三个条件:(一)一群签名方案可能需要加入会员撤销来简化管理。(b)鉴于区块链的存储资源有限,签名数据不能太大。(c)组成员管理员发起请求建立组,选择用户提供较高的声誉作为小组成员,并选择组追踪管理员负责确定成员,打开群签名,和跟踪恶意用户。
双重管理员短群签名方案如图3。
流程如下:(一)初始化初始化( ):初始化算法,也就是说,两组管理员建立一组根据相关参数。输入的参数是 ,在哪里是小组成员的数量(包括管理员)。输出是群公钥 ,跟踪私钥 ,和小组成员的私钥 。(b)加入加入( ):加入算法,即用户的过程 申请加入该组织。输入的参数是 。小组成员随机选择 用户的私钥。输出是小组成员的私钥的用户 。(c)标志号( ):签名的算法,也就是说,群签名的消息的过程小组成员。输入是群公钥 ,小组成员的私钥 ,和消息 。输出是签名 。(d)验证验证( ):验证算法,匹配使用的程序来确定是一个有效的签名。输入是群公钥 ,的消息 ,和群签名 。输出验证的结果,这是一个布尔类型是或否。(e)跟踪跟踪( ):跟踪算法,即可以追溯到根据缔约国成员签名。输入是群公钥 ,跟踪私钥 ,的消息 ,和签名 。输出参数的信息在小组成员的私钥。最后,小组成员撤销基于组成员信息。
3.1。双重管理员短群签名的安全分析
除了基本的群签名的安全标准,短群签名方案在本文主要关注以下几点:(一)正确性:验证签名的验证是一个过程数据记录是正确的。一个短群签名是一种数据记录在SDH假想的协议。在本文中,签名生成的短群签名方案必须验证验证算法。(b)匿名:短群签名的验证器使用群公钥验证签名,所以它是不可能确定小组成员签署的签名,从而确保该组织成员的匿名性。(c)可追溯性:该组织跟踪管理员打开签名的关键在任何时候获得组成员的身份验证失败的事件。(d)不能取代:每个小组成员都有自己的元组 ,除了几个公共参数,和的值由小组成员可以保密。结果,没有组的成员可以生成一个签名代表其他成员,包括组管理员。
4所示。实际拜占庭容错算法基于共识双重管理员短群签名
PBFT算法中存在一些问题,如高的通信开销,安全性低,可怜的可伸缩性和可追溯性。GPBFT算法解决这些问题,一个实际的拜占庭容错共识基于双重管理员短群签名算法,本文提出了。共识算法主要包括五个阶段:要求,预先加工,准备,GroupSign和跟踪。首先,客户端发起一个请求在请求阶段主节点。请求处理中预先加工和准备阶段。双重管理员短群签名方案提出了GroupSign阶段的算法,选择组成员管理员作为算法的主节点。它可以降低主节点的可能性是一个拜占庭节点和加快视图改变和“三相共识”过程。最后,与主管的参与,组织追踪管理员可以追踪签名者的身份得到签名者证书签署者证书和签名的信息跟踪阶段。流程图如图4。
GPBFT共识算法的流程如下:
4.1。准备
在GPBFT算法,主节点 ,组成员管理员,应该第一个管理员短群签名,谁负责节点的加入和撤销,和第二个节点 ,组追踪管理员,负责跟踪恶意节点。选择是基于CA认证从一个有信誉的组织。因此,在主节点拜占庭错误的概率很低,大大避免了查看交换机的数量,降低了成本和通信开销。此外,客户端作为短群签名的验证器。
4.2。请求阶段
客户端发送一个请求 到主节点 ,在哪里是请求的消息内容的实体,消息的消化吗 , 由客户端所请求的操作,是时间戳,是客户的标识符。
4.3。预先加工阶段
当主节点从客户端接收请求消息序列号首先是添加到消息中。消息摘要是获得并生成签名签署 。信息然后拼接在一起,其余副本节点广播。
4.4。准备阶段
从主节点接收预先加工的消息后,每个副本节点验证消息摘要 ,消息序号 ,和消息的签名预先加工的信息。必须匹配的消息摘要吗预先加工,消息序号必须在相同的观点吗 ,和也数量 。如果其中任何一个失败,准备广播将被拒绝。
非法请求就会被丢弃。如果请求是正确的,复制节点有自己的私钥签署消息然后准备消息发送给其他节点,包括主节点。
整个共识过程必须在相同的观点在预先加工和准备阶段。nonmalicious节点执行消息的顺序一致 ,用 ,在哪里序数是视图,消息,是一个序数,确认消息吗当 。
4.5。GroupSign阶段
准备阶段的消息验证了主节点和副本节点时,准备接收到消息。主要验证消息是否收到的每个节点在同一个视图 ,消息摘要是否和消息序列号码n都是一致的,是否准备复制节点的消息是正确的。非法请求消息被丢弃后验证,和法律请求消息在接下来的步骤进行。组管理员发起请求建立一个小组,每个小组成员加入,形成一个群体,从准备阶段接受消息,并执行短群签名操作。消息序列号仍然存在 。因为reauthentication群签名的观点改变的可能性大大降低。即使观点改变发生时,节点撤销可以可靠地执行。
组成员管理员和组追踪管理员将结合其他副本节点形成一组和生成一个短群签名本文通过短群签名方案中给出。在这里,所有的小组成员可以发送消息代表集团和集团的任何成员谁是第一个接收并验证请求消息可以立即发送的内容GroupSign消息到客户端验证。消息内容是 ,在哪里群公钥和吗消息签名生成的成员。与短群签名签署后,消息序列号仍然存在 。因为重新生效的新的签名方案中,节点可以执行撤销稳定即使视图改变发生。
GroupSign消息时收到一群成员,验证人首先验证消息摘要和消息内容 。然后,在短群签名的验证算法,消息内容 ,群公钥 ,和消息的签名作为输入参数来验证签名信息是否正确。如果消息是正确的,相应的信息被发送到组管理员完成阶段的基本共识。如果消息验证不正确,该消息 发送回的组成员管理员信息管理更新和跟踪集团管理员检查,进入跟踪阶段。
4.6。跟踪阶段
组追踪管理员检查是否验证消息和是正确的,是否是一个有效的签名吗收到错误信息反馈后的客户端验证。然后,小组成员根据反馈跟踪信息。跟踪算法需要跟踪的私钥 ,签名在反馈信息中,公钥作为输入并返回节点的身份在共识阶段,以及异常的身份和信息节点。
5。实验
GPBFT算法的性能进行评估,语言是用来模拟水流走GPBFT和PBFT算法。实验环境是一个AMD Ryzen 7 4800 h Radeon图形CPU、16 GB的内存和6 GB的视频内存。Ubuntu操作系统是64位的,语言版本是GO1.15.6去。共识的内容传播信息设置为48字节和384位。实验结果是由Python处理。
演示GPBFT算法的准确性和可靠性,本文从五个方面比较GPBFT和PBFT算法:通信开销,共识延迟,跟踪效率,签名一代时间变化与节点的数量,和基本算法的安全性。
5.1。通信开销分析
预先加工,准备和提交的三个主要阶段PBFT算法。因为三个阶段的交流时间, , ,和 ,总沟通时间 或 ,和算法复杂性 。
准备,预先加工的主要阶段和GroupSign GPBFT算法。在预先加工阶段,主节点预先加工广播消息到其他节点,所以沟通时间 。在准备阶段,每个节点后同意请求,其他节点广播准备消息,交流的时候 ,也就是说, 。在GroupSign阶段,组管理员和其他节点形成一个组后,只有一个节点收到准备的信息需要签短群签名然后回复客户。总沟通* GroupSign阶段 。因此,沟通时间 ,也就是说, ,和算法复杂性也 。它们之间的通信开销图所示5。
5.2。共识延迟
共识延迟是指时间的起始和完成一个请求的区别。这是一个共识的速度算法的重要指标。较低的共识延迟允许更快地确认请求,使blockchains更加安全和实用。的共识延迟测试的时间完成一个共识的过程,定义在以下公式: 在哪里当客户确认完成并吗是时候请求开始。
PBFT延迟的共识和GPBFT算法研究通过使用4,25岁,50岁,75,和100个节点,分别。每组实验的结果的平均30个不同的实验。共识推迟PBFT算法包括请求的时间,预先加工,准备、提交和回复阶段,加上RSA所花的时间为每个节点生成一个签名。GPBFT算法中的共识延迟请求的总时间,预先加工,准备,GroupSign,跟踪阶段,加上双重管理员的世代时间短群签名。因为短群签名的特点,GPBFT中的任何成员节点组可以匿名消息代表整个组,然后反馈给客户端。这个算法的总时间延迟的时差应该考虑的第一个节点发送消息和反馈。如果客户端验证正确,共识是完成了。如果验证是不正确的,跟踪跟踪阶段开始。组追踪管理员打开群签名和宣布恶意节点,和组成员管理员实现成员的取消。共识GPBFT之间的时间延迟和PBFT如图6。
5.3。算法跟踪效率
我们测试时间跟踪的群签名GPBFT当节点的数量是4,15日,25日,35岁,45岁,55岁,65,75,85,95,105。实验结果是50的平均为每组实验,排除异常数据。实验结果表明,大部分节点的跟踪时间介于1.5和2.5女士女士当节点的数量很小。跟踪时间变得更长随着节点的增加,但其中一些仍然女士1.5和2.5毫秒之间。当节点的数量达到75,超过三分之一的节点的跟踪时间增加到70 - 85毫秒;当节点的数量达到100多,至少一半的节点的跟踪时间超过100毫秒。组追踪管理员跟踪效率如图7。
5.4。签名生成不同数量的时间节点GPBFT算法
随着节点的增长,时间的签名算法为节点生成公钥和私钥GPBFT也将改变。我们比较之间的密钥生成的时间和不同的签名方案GPBFT PBFT算法。这表明短群签名算法的优越性在这个计划。
实验结果表明,GPBFT的短群签名方案的优点是生成时间。当节点的数量达到75多,这一优势就显现出来了。结果如图所示8。
5.5。算法的安全
关于安全问题,PDI框架提出了裁判。23)评论区块链安全三个方面的研究:流程级别,级别的数据,和基础设施水平。从数据层面,本文以达成共识算法,认证,签名方案,和其他方面突破解决区块链的安全问题。数据级安全是在过程和基础设施,所以本文中的优化算法也可以给其他两个带来有益的变化水平。共识的算法,考虑以下方面。
5.5.1。恶意节点的数量
随着模拟网络中的恶意节点数量的变化,我们测试是否达到共识GPBFT算法。如果有一个恶意节点GPBFT,可以达成共识。如果恶意节点的数量达到最大限度的恶意节点,不能达成共识。在GPBFT,预先加工和准备阶段必须满足拜占庭规则;也就是说,至少 消息必须被接受。的实验表明,容错率GPBFT PBFT算法的算法是一致的。正常的容错。
5.5.2。主节点问题
PBFT算法,主节点是由随机选择,具有高度的不确定性。相比之下,在GPBFT算法,它(即。,group membership administrator) is generated by the CA authentication institution, and the likelihood of Byzantine error is greatly reduced.
当主节点的恶意节点或失败GPBFT算法,它可以有效地识别和回应。如果恶意请求传播到主节点,系统将无法识别的共识请求信息,将无法达到共识。结果,共识系统将发送一个视图切换请求撤销恶意主节点,然后重新选择主节点(即。,集团管理员)。此外,当主节点,GPBFT不能达成共识。
测试表明,它具有良好的抵抗和响应能力主节点的问题。
5.5.3。女巫攻击
在一个没有信任的节点的P2P网络身份认证机构,很难保证多个备份节点是不同的实体。只通过部署一个实体网络广播多重身份标识,攻击者可以充当多个不同的节点,而这些伪造身份通常被称为女巫节点。因为没有上帝视角在一个完全分散的系统中,没有任何一个节点自然会知道节点的确切数字。他们只能通过他们收到的数据来判断大局。由于这个属性,攻击节点伪装自己是P2P网络中的多个节点和广播。拜占庭节点的数量,可以抵制在PBFT (是恶意节点的数量)。
双重管理员短群签名机制中引入GPBFT算法,在每个节点只需要签署本身,然后反馈消息当它进入GroupSign阶段。虽然每个节点是一个小组成员,每个节点相对独立,达成的共识是,当客户端验证器接收到一群成员的消息。如果攻击者使用了女巫攻击伪装节点,该节点将跟踪和撤销。
可以达成共识的共识中如果有一个伪装的恶意节点的节点。然而,不能达成共识,如果节点的总数不变,伪装的节点的数量超过了最大数量的恶意节点,系统所能承受的极限了。当攻击者模仿主节点和传播恶意请求,系统将无法完成的共识。同时,该系统将改变其观点推翻主节点恶意行为,然后重新选择一个新的主节点。
5.5.4。容错分析
容错的最大数量的节点PBFT算法 。
GPBFT算法,除了支持故障节点,它还需要支持错误节点。假设集群节点的数量和有问题的节点 。在有问题的节点,它可以是过失或错误或故障和错误。有两种极端。
在第一种情况下,有问题的节点故障和错误。根据群签名的特点,至少有一个节点完成共识GroupSign阶段。然后,集群可以达成共识。这意味着容错节点的最大数量在这种情况下。
在第二种情况下,故障节点和节点都是不同节点的错误。因此,将会有故障节点和错误的节点。当发现一个故障节点,节点集群中,它将被排除在外的错误节点依然存在。然后,根据群签名的特点,正常集群中的节点的数量至少有一个。因此,有一个正确的节点,故障节点,错误节点在所有节点, 。因此,容错节点的最大数量 在这种情况下。
由于 ,本文GPBFT算法有更高的比PBFT容错算法。
5.6。与其他文学研究比较
现有的共识算法优化方案,我们可以从四个维度评价在实际设计中,即分散、效率、安全性和容错。优化的想法通常是分为以下几方面:优化共识过程,选择主节点,并选择适当的签名算法或底层的通信方式
布赫曼(11]替换消息改变PBFT视图中的变量和删除垃圾收集机制。简化Tendermint算法只有三个阶段,这是比PBFT更简洁易懂的。
dBFT [24)和Tendermint选择节点基于PoS. dBFT AntChain提出的是一种算法(Neo)相结合的PoS PBFT机制。虽然它能提高性能,选举过程是静态的。因为选举方案和结果完全取决于项目方面,NEO也已通过集权。RBFT使用散列算法组节点首先,和筏机制用于选举领导人团体之一。然后,领导人聚集运行PBFT算法(17]。
RBFT, SBFT [25],HotStuff [13)减少系统通信复杂性通过引入阈值签名。Jalalzai等人提出了Fast-HotStuff算法通过使用聚合签名NewView阶段的共识,提高效率的共识。
GBC共识算法(26),基于流言协议,提高系统的容错 来 。
与上述文献相比,短群签名作为底层签名算法在这篇文章中,可以保持一定的匿名性,快速而有效地跟踪恶意成员恶意组,并增加算法的稳定和安全。另一方面,GPBFT简化了算法过程,减少了通信开销的算法,并介绍了GroupSign阶段共识失败时可以输入跟踪阶段。使用证书颁发机构选择本文主节点,从而降低拜占庭错误节点的概率,提高了算法的可扩展性。此外,该算法更安全与容错和稳定的女巫攻击 。
6。结论
算法在本文中,我们提出了PBFT共识(GPBFT)基于双管理员短群签名相结合的优势短群签名长度较短,适用性高、算法复杂度低、可追踪节点管理员。实验结果表明,它不仅可以降低通信开销,大大减少网络流量,并提高沟通效率,还被应用于共识计划有更多的节点,更高的可伸缩性、延迟和更低的共识。跟踪、双重管理机制GPBFT算法可以使算法更安全,更有控制利率恶意节点。GPBFT是弱集中式算法,可用于实际应用,包括电子商务、电子银行、网上投票,e-auction。主节点的选择和组管理员是一个重要的未来工作重点,因为它将使所选管理员更合适和权威,使其更适用于联盟链。此外,量子计算的快速发展,目前区块链平台,依靠群签名和哈希算法容易受到量子攻击。我们可以使用多链同步和优化群签名为了解决这个问题,如侧链技术或一组签名方案在晶格23]。
数据可用性
使用的数据来支持本研究的发现可以从相应的作者。
的利益冲突
作者宣称没有利益冲突。
确认
作者感谢大数据团队的中国三峡大学计算机与信息学院提供实验所需的环境。这项研究得到了湖北科技重大项目(批准号2020 aea012)和中国国家重点研究和发展计划(批准号2016 yfc0802500)。