一种基于器件无关量子随机数信标的区块链共识方法与流程

专利2024-06-22  66



1.本发明涉及区块链技术领域,具体涉及一种基于器件无关量子随机数信标服务的区块链共识方法。


背景技术:

2.区块链是一个分布式账本,每一个交易参与者都是区块链网络的节点,每个节点都有一份完整的公共账簿备份,上面记载着交易历史信息。任何一个节点发起交易行为都需要将相关信息更新到区块网络中的每一个节点的账簿,从而所有节点均可参与对这一笔交易的验证。
3.共识机制的基本思路是每次临时选择一个节点作为记账节点,其他节点核实记账节点记录的每一笔交易是否真实有效。由于安全性问题,区块链设计时规定每次记账都需要重新选择记账节点,而现有的共识机制的区别主要是在记账节点的选取方式。共识机制的一个重要特质是为所有节点提供同等机会的公平性和去中心化,以此来保护共识节点免受攻击并防止篡改总账。
4.现有的区块链系统中,主流的共识机制包括工作量证明(pow)、权益证明(pos)、授权权益证明(dp0s)、拜占庭共识算法(pbft);每一种共识机制都有其优缺点。例如,pow机制需要大量的算力和能源浪费,出块效率低。pos和dpos机制公正性不高。pbft实现复杂度高,不利用网络拓展。随着区块链技术的发展,如何找到新的共识算法,保证共识机制的公平性、安全性和高效性,且有利于网络扩展,成为亟待解决的问题。


技术实现要素:

5.本发明提出一种基于器件无关量子随机数信标服务的区块链共识机制。器件无关的量子随机数产生器利用量子物理特有的性质,通过检测无漏洞贝尔不等式,可以不对器件做任何假设地验证是否存在量子纠缠态,而量子纠缠态可以作为产生量子随机性的最基本资源,用来进行随机数的生成。器件无关的量子随机数安全性仅仅依赖于贝尔不等式的破坏,对采用的器件的来源及工作原理不作要求,因此被认为是安全性最高的随机数产生装置。
6.器件无关量子随机数信标服务是将新产生的具有均匀随机性的随机数块发送给目标用户。每个随机数块包含新产生的器件无关量子随机数、同时还具有时间戳和信标的数字签名,以及前一个随机数块的哈希值,从而防止对已生成数据的篡改。合法用户可通过信标服务网络获取实时产生的随机数块,并获取相关的哈希值、签名等信息,亦可对先前数据进行验证。本发明基于信标服务网络生成的随机数块具有不可预测、不可篡改、且可验证等特点,提出一种新的共识机制,通过此共识机制选出记账节点,保证共识算法的快速高效性、安全性和公平性。
7.一种基于器件无关量子随机数信标的区块链共识方法,包括如下步骤:
8.步骤一:节点排序。
9.在共识过程开始时,根据各个节点的id,利用区块链排序算法对参与共识的各个节点进行排序。
10.步骤二:各个节点按顺序申请私有的随机数块。
11.各个节点根据排序列表的顺序向信标服务网络申请获取私有的器件无关量子随机数块,每一个节点获取的器件无关量子随机数块都是不同的;所述器件无关量子随机数块值包含:新产生的具有均匀随机性的器件无关量子随机数、时间戳、信标的数字签名、以及前一个随机数块的哈希值;
12.步骤三:各个节点对随机数块进行验证。
13.各个节点接收到器件无关量子随机数块后,各个节点保存各自的随机数块且不对外进行公布,并对所述信标的数字签名进行验证,通过验证的节点参与本次共识过程;
14.步骤四:选取记账节点或见证节点。
15.所有节点对上一个区块的交易数据取哈希值,得到第一散列值,所有节点将当前交易数据和第一散列值组合在一起得到一组交易数据包,对该交易数据包取哈希,得到第二散列值,每个节点公布得到的第二散列值。由于每一个节点记录的当前的交易数据和上一区块的交易数据是相同的,故每个节点得到的第二散列值应该是相同的,以此也来验证各自节点记录的当前交易数据的准确性和一致性。
16.验证通过的节点,根据前期约定的算法,对分配给各个节点的随机数块与第二散列值进行运算,运算结果满足阈值条件的节点作为选定节点;
17.步骤五:验证各个节点随机数块的真实性、记账节点或认证节点的有效性。
18.所有节点公布各自分配的随机数块,根据排序列表和已公布的随机数块,并根据每个随机数块带有的时间戳、数字签名、上一个随机数块的哈希值,来验证其他节点的随机数块的真实性。如果各个节点的随机数块的真实性验证通过,进一步验证选定节点公布的运算结果是否符合阈值要求,如符合阈值条件,则确定该记账节点为有效的记账节点或认证节点,则本轮共识完成。
19.进一步地,所述步骤一中,采用fisher-yates shuffle洗牌算法打乱所有参与共识节点的顺序,并给出排序列表。
20.进一步地,通过所述排序列表,将区块链节点随机且等概率排序。
21.进一步地,每一轮共识中,信标服务网络只为每一个节点发送一次随机数块。
22.进一步地,所述步骤四中,所述前期约定的算法为:计算随机数块与新的散列值的差值;或者,阈值条件为:选择差值最小或者最大的节点为记账节点。
23.进一步地,所述步骤四中,所述前期约定的算法是差值、和值或者其他约定的算法。阈值条件作为后续确定记账节点的判断条件。
24.进一步地,所述步骤五中,如果验证通过,进一步验证记账节点公布的运算结果是否符合阈值要求,如验证通过,则确定该记账节点为有效的记账节点或认证节点。
25.进一步地,在新一轮共识之前,所有区块链节点接入信标服务网络,信标服务网络对各个节点进行身份认证,信标服务网络为身份认证通过的每一个节点分配合法的域名,每个节点均可实时从信标网络中申请到私有的器件无关量子随机数块;同时,节点从信标网络中申请到信标的公钥。
26.进一步地,所述公钥通过安全的加密方式获取。
27.有益技术效果:
28.1.本发明提出一种基于器件无关量子随机数信标服务的区块链共识机制,通过此共识机制可以选出记账节点或认证节点。信标服务网络生成的随机数块包含器件无关量子随机数、时间戳、数字签名、上一个随机数的哈希值。器件无关量子随机数被认为是安全性最高的随机数,且具有不可预测、不可篡改、且可验证等特点。本方案提出的基于器件无关随机数信标服务的共识机制具有较高安全性和公平性。
29.2.本发明区块链中所有节点接入信标服务网络,可以通过信标服务网络申请到私有的器件无关随机数块。
30.3.本发明通过器件无关量子随机数与交易数据选出见证节点中满足预设条件的节点作为记账节点或见证节点,选举过程功耗低、更为高效,且更利于网络拓展。
31.4.本发明区块链节点可以通过验证数字签名,来确认是否参加次轮共识,所有节点根据排序顺序和随机数块可验证记账节点的随机数的有效性和真实性,进一步保障了共识过程的安全性和公平性。
附图说明
32.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
33.附图1为本发明的区块链节点接入信标服务网络架构示意图;
34.附图2为本发明的区块链共识机制实现过程的具体步骤流程图;
35.附图3为本发明的随机数块数据示意图。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.区块链节点接入信标服务网络架构图如图1所示。
38.共识之前准备:在新一轮共识之前,所有区块链节点接入信标服务网络,信标服务网络对各个节点进行身份认证,信标服务网络为身份认证通过的每一个节点分配合法的域名,每个节点均可实时从信标网络中申请到私有的器件无关量子随机数块。同时,节点从信标网络中申请到信标的公钥。优选的,此公钥可以通过安全的加密方式获取。
39.所有节点对共识过程中用到的算法和相关阈值条件进行约定,该算法可以是差值、和值或者其他约定的算法。阈值条件作为后续确定记账节点的判断条件。
40.附图2为区块链共识机制实现过程的具体步骤流程图,包括如下步骤:
41.步骤一:对所有的共识节点进行排序。在共识过程开始时,根据各个节点的id,利用区块链排序算法对参与共识的各个节点进行排序。
42.在优选实施例中,采用fisher-yates shuffle洗牌算法打乱所有参与共识节点的
顺序,并给出排序列表。
43.具体地,fisher-yates shuffle是一种标准的算法,是一个用来将一个有限集合生成一个随机排列的算法,这个算法生成的随机排列是等概率的,同时也是非常高效的,可以用于区块链各个节点的排序。通过这种个排序,可以将区块链节点随机排序,并且是等概率的,保证排序的公平性。
44.步骤二:各个节点根据排序列表的顺序向信标服务网络申请获取私有的器件无关量子随机数块,每一个节点的随机数块都是不同的,是各个区块链节点按照顺序分别申请到的。
45.每个随机数块值包含:新产生的具有均匀随机性的器件无关量子随机数、时间戳、信标的数字签名、以及前一个随机数块的哈希值。需要说明的是,由于步骤一对各个节点进行了排序,按照排序顺序申请相应的随机数块,因此,后一个随机数块会带有前一个随机数块的哈希值,以此类推,就如一个链条一样环环相扣,且任何一个节点都不能对随机数块进行造假,如果第一个节点对随机数块进行造假,因为第二个节点带有信标发出的第一随机数块的哈希值,所以第二个节点就很容易判断第一个节点的造假行为。因此,前一个随机数块的哈希值是一个很关键的验证参数。
46.随机数块数据格式如图3所示,但不限于图3所示。每一轮共识中,信标服务网络只为每一个节点发送一次随机数块。
47.步骤三:通过验证随机数块中数字签名来确认参与共识的节点。各个节点接收到随机数块后,对随机数块中的数字签名进行验证,确定此随机数块为信标服务网络发出,以此来验证各个节点随机数块的合法性,通过验证的节点参与本次共识过程。
48.步骤四:确定记账节点或见证节点。所有节点将当前交易数据和上一个区块的交易数据的散列值组合在一起计算新的散列值,即哈希值,每个节点公布该新的散列值。通过前期约定的算法,分配给该节点的随机数块与新的散列值进行运算,得到一个运算结果,各个节点将随机数块和运算结果广播给其他节点。运算结果满足阈值条件的节点可作为选定节点。
49.在优选的实施例中,前期约定的算法为:计算随机数块与新的散列值的差值;阈值条件为:选择差值最小的节点为选定节点。
50.步骤五:验证各个节点随机数块的真实性、记账节点或认证节点的有效性。
51.所有节点公布各自分配的随机数块,根据排序和已公布的随机数块,并根据每个随机数块带有的时间戳、数字签名、上一个随机数块的哈希值,来验证其他节点的随机数块的真实性,如果各个节点的随机数块的真实性和有效性验证通过,进一步验证选定节点公布的运算结果是否符合阈值要求,如符合阈值条件,则确定该记账节点为有效的记账节点或认证节点,则本轮共识完成。
52.本发明各个节点通过信标服务网络申请的私有量子器件无关随机数块,通过该随机数块与交易数据进行运算选出预设条件的节点作为记账节点。每个随机数块值包含:新产生的具有均匀随机性的随机数块、时间戳、信标网络的数字签名、以及前一个随机数块的哈希值,由此,节点之间可以验证各个节点随机数块的有效性和真实性,避免对随机数块进行篡改。进一步保证了共识机制的安全性和公平性。
53.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实
现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
54.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种基于器件无关量子随机数信标的区块链共识方法,其特征在于,包括如下步骤:步骤一,在共识过程开始时,根据各个节点的id,利用区块链排序算法对参与共识的各个节点进行排序;步骤二,各个节点按顺序向信标服务网络申请获取私有的器件无关量子随机数块,每一个节点获取的器件无关量子随机数块都是不同的;所述器件无关量子随机数块值包含:新产生的具有均匀随机性的器件无关量子随机数、时间戳、信标的数字签名、以及前一个随机数块的哈希值;步骤三,各个节点接收到所述器件无关量子随机数块后,保存各自的随机数块且不对外进行公布,并对所述信标的数字签名进行验证,通过验证的节点参与本次共识过程;步骤四,所有节点对上一个区块的交易数据取哈希值,得到第一散列值,所有节点将当前交易数据和第一散列值组合在一起得到一组交易数据包,对所述交易数据包取哈希值,得到第二散列值,每个节点公布得到的第二散列值;若所述第二散列值与所述第一散列值相同,则该节点通过验证;根据约定的算法,对分配给通过验证的各个节点的随机数块与第二散列值进行运算,运算结果满足阈值条件的节点作为选定节点;步骤五:验证各个节点随机数块的真实性、记账节点或认证节点的有效性;所有节点公布各自分配的随机数块,根据排序和已公布的随机数块,并根据每个随机数块带有的时间戳、数字签名、上一个随机数块的哈希值,来验证其他节点的随机数块的真实性,如果各个节点的随机数块的真实性验证通过,进一步验证选定节点公布的运算结果是否符合阈值要求,如符合阈值条件,则确定该记账节点为有效的记账节点或认证节点,则本轮共识完成。2.根据权利要求1所述的基于器件无关量子随机数信标的区块链共识方法,其特征在于,采用fisher-yates shuffle洗牌算法打乱所有参与共识节点的顺序,并给出排序列表。3.根据权利要求2所述的基于器件无关量子随机数信标的区块链共识方法,其特征在于,通过所述排序列表,将区块链节点随机且等概率排序。4.根据权利要求1所述的基于器件无关量子随机数信标的区块链共识方法,其特征在于,每一轮共识中,信标服务网络只为每一个节点发送一次随机数块。5.根据权利要求1所述的基于器件无关量子随机数信标的区块链共识方法,其特征在于,所述步骤四中,所述约定的算法为:计算随机数块与新的散列值的差值;所述阈值条件为:选择差值最小或者最大的节点为记账节点或见证节点。6.根据权利要求1所述的基于器件无关量子随机数信标的区块链共识方法,其特征在于,所述步骤四中,所述约定的算法是计算随机数块与新的散列值的差值或和值,所述阈值条件作为后续确定记账节点或见证节点的判断条件。7.根据权利要求6所述的基于器件无关量子随机数信标的区块链共识方法,其特征在于,所述步骤五中,如果验证通过,则进一步验证记账节点或见证节点公布的运算结果是否符合阈值要求,如验证通过,则确定该记账节点为有效的记账节点或见证节点。8.根据权利要求1所述的基于器件无关量子随机数信标的区块链共识方法,其特征在于,在新一轮共识之前,所有区块链节点接入信标服务网络,所述信标服务网络对各个节点进行身份认证,所述信标服务网络为身份认证通过的每一个节点分配合法的域名,每个节点均能够实时从所述信标服务网络中申请到私有的器件无关量子随机数块;同时,节点从所述信标服务网络中申请信标的公钥。
9.根据权利要求8所述的基于器件无关量子随机数信标的区块链共识方法,其特征在于,所述公钥通过安全的加密方式获取。

技术总结
本发明提出一种基于器件无关量子随机数信标的区块链共识方法,利用区块链排序算法对参与共识的各个节点进行排序,各个节点按顺序向信标服务网络申请获取私有的器件无关量子随机数块,对信标的数字签名进行验证,通过验证的节点参与本次共识过程,根据约定的算法,对分配给通过验证的各个节点的随机数块与第二散列值进行运算,运算结果满足阈值条件的节点作为选定节点,验证其他节点的随机数块的真实性和有效性,若验证通过,则本轮共识完成。本发明提出的基于器件无关随机数信标服务的共识机制具有较高安全性和公平性,可以通过信标服务网络申请到私有的器件无关随机数块,选举过程功耗低、更为高效,且更利于网络拓展。且更利于网络拓展。且更利于网络拓展。


技术研发人员:周飞 高洁 王琳
受保护的技术使用者:济南量子技术研究院
技术研发日:2022.06.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-8246.html

最新回复(0)