本发明专利技术公开了一种区块链共识机制运行方法、系统、计算机设备及存储介质,所述方法包括:为区块链系统配置排序节点列表,并通过区块链系统分别启动排序节点服务;在启动的排序节点中,采用Raft选举机制选举出主排序节点;将代理节点连接主排序节点,使主排序节点提供排序服务,并使其余排序节点对请求排序的报文统一拒绝或转发给主排序节点,完成共识的模式。本发明专利技术采用启动几个排序节点来进行选举,指定排序节点集群作为候选排序节点,候选排序节点共同选出主排序节点,由主排序节点提供排序服务,当主排序节点崩溃时,候选排序节点将再次选举,选举新的主排序节点取代已崩溃的排序节点从而提供排序服务,保障系统共识的正常进行。进行。进行。
【技术实现步骤摘要】
区块链共识机制运行方法、装置、计算机设备及存储介质
[0001]本专利技术涉及一种区块链共识机制运行方法、装置、计算机设备及存储介质,属于区块链
技术介绍
[0002]区块链主流共识机制采用静态指定的专用节点作为排序节点,从而完成共识的技术比较成熟、便捷,但也有如下不足:
[0003]1)排序节点没有容错能力。当排序节点宕机时,无法进行共识;
[0004]2)排序节点遭受攻击的概率变高。由于排序节点静态指定,并相对固定,使得攻击者很容易锁定到该排序节点,从而进行攻击。
技术实现思路
[0005]有鉴于此,本专利技术提供了一种区块链共识机制运行方法、装置、计算机设备及存储介质,其采用Raft选举机制对几个排序节点进行选举,从而提供排序服务,为所有区块确定顺序,从而确保整个区块链网络中各节点的账本达到一致性。
[0006]本专利技术的第一个目的在于提供一种区块链共识机制运行方法。
[0007]本专利技术的第二个目的在于提供一种区块链共识机制运行装置。
[0008]本专利技术的第三个目的在于提供一种计算机设备。
[0009]本专利技术的第四个目的在于提供一种存储介质。
[0010]本专利技术的第一个目的可以通过采取如下技术方案达到:
[0011]一种区块链共识机制运行方法,所述方法包括:
[0012]为区块链系统配置排序节点列表,并通过区块链系统分别启动排序节点服务;
[0013]在启动的排序节点中,采用Raft选举机制选举出主排序节点;
[0014]将代理节点连接主排序节点,使主排序节点提供排序服务,并使其余排序节点对请求排序的报文统一拒绝或转发给主排序节点,完成共识的模式。
[0015]进一步的,所述方法还包括:
[0016]通过代理节点将交易转发给主排序节点,使主排序节点将交易进行排序,并生成区块;
[0017]通过提交节点定期拉取主排序节点生成的区块列表;
[0018]通过提交节点验证区块列表中的每个交易,并将区块写入账本。
[0019]进一步的,所述通过代理节点将交易转发给主排序节点之前,还包括:
[0020]通过背书节点接收应用程序提交的交易提案;
[0021]通过背书节点执行智能合约,并在账本中模拟交易提案,得到读写集合;
[0022]通过背书节点返回包含读写集合的提案结果给应用程序;
[0023]通过代理节点接收应用程序提交的包含读写集合的交易。
[0024]进一步的,所述使主排序节点将交易进行排序,并生成区块,具体包括:
[0025]使主排序节点创建交易的批处理,将交易按网络接收的先后进行排序,并生成区块。
[0026]进一步的,所述代理节点和提交节点为Node节点。
[0027]进一步的,所述采用Raft选举机制选举出主排序节点,具体包括:
[0028]在Node节点中配置其中一部分作为候选排序节点;
[0029]对候选排序节点进行选举,选举出主排序节点。
[0030]本专利技术的第二个目的可以通过采取如下技术方案达到:
[0031]一种区块链共识机制运行装置,所述装置包括:
[0032]配置单元,用于为区块链系统配置排序节点列表,并通过区块链系统分别启动排序节点服务;
[0033]选举单元,用于在启动的排序节点中,采用Raft选举机制选举出主排序节点;
[0034]共识单元,用于将代理节点连接主排序节点,使主排序节点提供排序服务,并使其余排序节点对请求排序的报文统一拒绝或转发给主排序节点,完成共识的模式。
[0035]进一步的,所述装置还包括:
[0036]转发单元,用于通过代理节点将交易转发给主排序节点,使主排序节点将交易进行排序,并生成区块;
[0037]拉取单元,用于通过提交节点定期拉取主排序节点生成的区块列表;
[0038]验证单元,用于通过提交节点验证区块列表中的每个交易,并将区块写入账本。
[0039]本专利技术的第三个目的可以通过采取如下技术方案达到:
[0040]一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现上述的区块链共识机制运行方法。
[0041]本专利技术的第四个目的可以通过采取如下技术方案达到:
[0042]一种存储介质,存储有程序,所述程序被处理器执行时,实现上述的区块链共识机制运行方法。
[0043]本专利技术相对于现有技术具有如下的有益效果:
[0044]1、本专利技术改进了区块链采用单排序节点进行排序,从而完成共识,解决了排序节点没有容错能力,大大提升排序节点宕机时可选举新的排序节点,从而使共识服务可恢复的问题,将Raft动态选举机制选举出的排序节点替换单排序节点的方式,提高了排序节点的容错性,具有显著的隔离效果,避免单排序节点机宕机而造成的系统部可用,提升了共识的稳定性。
[0045]2、本专利技术解决排序节点遭受攻击的概率变高的问题,与现有只用一个指定的排序节点进行排序不同,将采用多个排序节点进行选举,使得排序节点并非固定,这样分散了攻击者的目标,使得遭受攻击的概率变低。
附图说明
[0046]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0047]图1为本专利技术实施例1的区块链共识机制运行方法的流程图。
[0048]图2为本专利技术实施例1的区块链共识机制运行方法中Raft选举机制选举的示意图。
[0049]图3为本专利技术实施例1的区块链共识机制运行方法中区块链共识中的交易流程示意图。
[0050]图4为本专利技术实施例2的区块链共识机制运行装置的结构框图。
[0051]图5为本专利技术实施例3的管理平台的结构框图。
具体实施方式
[0052]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0053]实施例1:
[0054]在阐述本实施例的具体内容之前,先对缩略语和关键术语进行定义,如下:
[0055]区块链:融合数学、密码学、互联网和计算机编程等领域技术,构造的一种具有去中心化、不可篡改、可追溯、集体维护等特性的分布式账本形式的数据库。
[0056]区块链节点:运行区块链的基本单位,根据节点角色的不同,具备提案、背书、达成共识、记账等不同功能。
[00本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种区块链共识机制运行方法,其特征在于,所述方法包括:为区块链系统配置排序节点列表,并通过区块链系统分别启动排序节点服务;在启动的排序节点中,采用Raft选举机制选举出主排序节点;将代理节点连接主排序节点,使主排序节点提供排序服务,并使其余排序节点对请求排序的报文统一拒绝或转发给主排序节点,完成共识的模式。2.根据权利要求1所述的区块链共识机制运行方法,其特征在于,所述方法还包括:通过代理节点将交易转发给主排序节点,使主排序节点将交易进行排序,并生成区块;通过提交节点定期拉取主排序节点生成的区块列表;通过提交节点验证区块列表中的每个交易,并将区块写入账本。3.根据权利要求2所述的区块链共识机制运行方法,其特征在于,所述通过代理节点将交易转发给主排序节点之前,还包括:通过背书节点接收应用程序提交的交易提案;通过背书节点执行智能合约,并在账本中模拟交易提案,得到读写集合;通过背书节点返回包含读写集合的提案结果给应用程序;通过代理节点接收应用程序提交的包含读写集合的交易。4.根据权利要求2所述的区块链共识机制运行方法,其特征在于,所述使主排序节点将交易进行排序,并生成区块,具体包括:使主排序节点创建交易的批处理,将交易按网络接收的先后进行排序,并生成区块。5.根据权利要求2
‑
4任一项所述的区块链共识机制运行方法,其特征在于,所述代理节点和提交节点为Node节点。6.根据权利要求1
...
【专利技术属性】
技术研发人员:周辉,苏年乐,何道敬,李大为,
申请(专利权)人:鼎链数字科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。