一种基于区块链的高效安全的信任共识方法
文献发布时间:2023-06-19 18:35:48
技术领域
本发明属于区块链技术领域,具体涉及一种基于区块链的高效安全的信任共识方法。
背景技术
信任管理通过迭代过程对收集的有用数据进行信任评估、建立、控制、增强和保证,已被广泛应用在云计算、社交网络、多代理系统、移动网络、无线通信等各个领域,能够维护系统实体之间的信任关系,为决策提供支持,增强系统的安全性,是保护网络系统安全的有效方法之一。零信任模型的提出旨在应对各种安全威胁特别是内部攻击,其基本概念是:系统不存在安全边界且不保证任何可信方的存在。系统的安全是通过严格的认证、访问控制和其他可靠技术来保证的。目前,关于零信任模型下安全性和信任问题的研究已经成为本领域的研究热点,其中没有任何系统实体可以被完全信任。
信任管理的研究已经持续了几十年,许多之前的研究都不是基于零信任模型,这些方法无法直接应用于现代分布式网络系统如异构集成网络、众包/众包感知、物联网等,这些系统中没有实体可以被完全信任。传统的集中式信任管理系统依赖于可信实体来执行收集数据、评估信任和管理信任的任务,因此不适用在零信任模型之下。分布式信任管理方法被寄予厚望,但现有的分布式信任管理方法在信任评估和公开验证方面缺乏共识。
区块链是实现去中心化的关键技术,其基于密码学、博弈论和点对点的网络通信,具有开放性、防篡改性、信息一致性和透明性等特点,在区块链中,多个节点之间通过统一的共识机制相互协作,以自组织的方式来管理整个网络,从而摆脱对单个节点的依赖。然而,在区块链的许多应用场景中,安全性成为信任共识主要考虑的问题,这给分布式信任管理带来了巨大的挑战。
现有技术中,Yang等人提出了一种支持车辆信任查询的分布式车辆网络信任管理系统来评估接收信息的信任值,通过将PoW和PoS相结合的共识机制来选举合适的矿工以降低共识的计算成本,但是,该方法未对其安全性和适用性进行分析。Mao等人引入了基于区块链的信誉系统,提高了供应链管理和监督的有效性,该系统采用深度学习来评估信任,评估结果分为信任和不信任两种,但上述方法未采用分布式的信任评估和共识,也没有提及其效率和安全性。
因此,如何在零信任模型下高效、安全地达成信任共识成为本领域技术人员亟待解决的技术问题。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于区块链的高效安全的信任共识方法。本发明要解决的技术问题通过以下技术方案实现:
本发明提供一种基于区块链的高效安全的信任共识方法,包括:
请求方向信任评估方发起信任评估请求;
响应于所述信任评估请求,所述信任评估方将云服务器中所存储数据对应的实体确定为待评估实体,并由各云服务器并行处理信任评估任务,生成该待评估实体的信任评估结果和验证标签;所述验证标签包括所述待评估实体的公钥和签名;
区块链获取所有共识节点的信任值,根据第一预设阈值及所述信任值,对所有共识节点进行随机性分片;
请求方向区块链中的所有共识节点发起信任评估验证请求,并从所有共识节点中确定出第一轮共识节点之后,所述第一轮共识节点根据所述验证标签对所述信任评估结果进行正确性验证;
当所述信任评估结果通过第一轮共识节点的正确性验证时,所述第一轮共识节点对经过自身验证的信任评估结果和验证标签进行签名后,公布所述签名、所述信任评估结果和验证标签,以使自身所在分片上的其他共识节点进行审批,并达成第一轮共识;
请求方利用可验证随机函数生成随机数种子,发送所述随机数种子至区块链的所有分片,并从每个分片中确定出第二轮共识节点;
所述第二轮共识节点根据所述验证标签对所述信任评估结果进行正确性验证,并在达成第二轮共识后,生成一个新的区块公布经过验证的信任评估结果。
在本发明的一个实施例中,所述区块链获取所有共识节点的信任值,根据第一预设阈值及所述信任值,对所有共识节点进行随机性分片的步骤,包括:
确定区块链共识系统中所有共识节点的分片数量N;
将信任值范围[0,1]均分为Q个区域;
根据Q个区域对应的信任值范围,将区块链共识系统中的多个共识节点划分为Q组;
生成随机数种子,并利用所述随机数种子分别对Q组共识节点进行排序;
针对第q组共识节点,若其中的共识节点数量小于N,则跳过该组共识节点,否则,从该组中选取
在本发明的一个实施例中,
在本发明的一个实施例中,所述请求方向区块链中的所有共识节点发起信任评估验证请求,并从每个分片中确定出符合第一预设条件的第一轮共识节点之后,所述第一轮共识节点根据所述验证标签对所述信任评估结果进行正确性验证的步骤,包括:
请求方向区块链中的所有共识节点发起信任评估验证请求,并从所有共识节点中确定出符合第一预设条件的第一轮共识节点;
请求方授予所述第一轮共识节点访问所述信任评估结果和验证标签的权限;
第一轮共识节点向所述信任评估方请求获得所述信任评估结果和验证标签,并根据所述验证标签对所述信任评估结果进行正确性验证。
在本发明的一个实施例中,当所述信任评估结果通过第一轮共识节点的正确性验证时,所述第一轮共识节点对经过自身验证的信任评估结果和验证标签进行签名后,公布所述签名、所述信任评估结果和验证标签,以使自身所在分片上的其他共识节点进行审批,并达成第一轮共识的步骤,包括:
当所述信任评估结果通过第一轮共识节点的正确性验证时,所述第一轮共识节点对经过自身验证的信任评估结果和验证标签进行签名,并公布所述签名、所述信任评估结果和验证标签;
所述第一轮共识节点所在分片的其他共识节点利用验证标签对所述信任评估结果进行审批;
若所述信任评估结果获得第一预设数量以上的其他共识节点的正确性验证、且其他共识节点的信任值之和大于等于第二预设阈值,则达成第一轮共识。
在本发明的一个实施例中,
其中,Thr
在本发明的一个实施例中,所述请求方利用可验证随机函数生成随机数种子,发送所述随机数种子至区块链的所有分片,并从每个分片中确定出第二轮共识节点的步骤,包括:
请求方利用可验证随机函数生成随机数种子,并将其发送至区块链的每个分片中;
从每个分片中选取
在本发明的一个实施例中,当存在多个第二轮共识节点对同一待评估实体的信任评估结果进行正确性验证时,以时间戳在后的正确性验证结果为准进行聚合。
在本发明的一个实施例中,各所述云服务器中部署有可信运行环境。
与现有技术相比,本发明的有益效果在于:
本发明提供了一种基于区块链的高效安全的信任共识方法,通过在链下并行执行信任评估任务、并在分片后并行对待评估实体的信任评估结果进行正确性验证,进而在第一轮共识节点所在的分片内达成第一轮共识、在第二轮共识节点之间跨分片达成第二轮共识,具备高效性。其次,本发明的分片过程具有随机性,能够避免分叉的唯一的区块生成、避免集中化的利润均衡,从而防止DDoS攻击和对某些特定节点的入侵,具备安全性。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的基于区块链的高效安全的信任共识方法的一种示意图;
图2是本发明实施例提供的基于区块链的高效安全的信任共识方法的一种流程图;
图3是本发明实施例提供的基于区块链的高效安全的信任共识方法的一种交互示意图;
图4是本实施例提供的多项式转化为算术电路的计算示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
图1是本发明实施例提供的基于区块链的高效安全的信任共识方法的一种示意图,图2是本发明实施例提供的基于区块链的高效安全的信任共识方法的一种流程图。图1中包括实体:信任评估方、请求方和多个共识节点,每个信任评估方包括请求方租用的多个云服务器。请参见图1-2,本发明实施例提供一种基于区块链的高效安全的信任共识方法,包括:
S1、请求方向信任评估方发起信任评估请求;
S2、响应于信任评估请求,信任评估方将云服务器中所存储数据对应的实体确定为待评估实体,并由各服务器并行处理信任评估任务,生成该待评估实体的信任评估结果和验证标签;验证标签包括待评估实体的公钥和签名;
S3、区块链获取所有共识节点的信任值,根据第一预设阈值及信任值,对所有共识节点进行随机性分片;
S4、请求方向区块链中的所有共识节点发起信任评估验证请求,并从所有共识节点中确定出第一轮共识节点之后,第一轮共识节点根据验证标签对信任评估结果进行正确性验证;
S5、当信任评估结果通过第一轮共识节点的正确性验证时,第一轮共识节点对经过自身验证的信任评估结果和验证标签进行签名后,公布签名、信任评估结果和验证标签,以使自身所在分片上的其他共识节点进行审批,并达成第一轮共识;
S6、请求方利用可验证随机函数生成随机数种子,发送随机数种子至区块链的所有分片,并从每个分片中确定出第二轮共识节点;
S7、第二轮共识节点根据验证标签对信任评估结果进行正确性验证,并在达成第二轮共识后,生成一个新的区块公布经过验证的信任评估结果。
本实施例中,为了减少区块链的工作负载,可根据请求方的信任评估请求在链下的云服务器上并行执行信任评估任务;具体地,各云服务器中部署有可信运行环境以保护隐私,例如Intel SGX enclave,链下信任评估的流程如下:
(1)密钥初始化:
生成公共参数(e,p,G
请求方R和信任评估方TE
R选取一个随机数y
每个待评估实体i生成对称密钥symK
(2)数据采集:
每轮信任评估任务执行前,TE
(3)更新访问控制策略:
每轮信任评估任务执行前,R从链上获得{eid
(4)信任评估:
R向TE
E
进一步地,如果验证通过,E
图3是本发明实施例提供的基于区块链的高效安全的信任共识方法的一种交互示意图。请结合图1-3,上述步骤S3中,区块链获取所有共识节点的信任值,根据第一预设阈值及信任值,对所有共识节点进行随机性分片的步骤,包括:
S301、确定区块链共识系统中所有共识节点的分片数量N;
S302、将信任值范围[0,1]均分为Q个区域;
S303、根据Q个区域对应的信任值范围,将区块链共识系统中的多个共识节点划分为Q组;
S304、生成随机数种子,并利用随机数种子分别对Q组共识节点进行排序;
S305、针对第q组共识节点,若其中的共识节点数量小于N,则跳过该组共识节点,否则,从该组中选取
本实施例中,分片数量
需要说明的是,在上述步骤S305中,若第q组共识节点的节点数量大于等于N,则从中选取
可选地,上述步骤S4中,请求方向区块链中的所有共识节点发起信任评估验证请求,并从每个分片中确定出符合第一预设条件的第一轮共识节点之后,第一轮共识节点根据验证标签对信任评估结果进行正确性验证的步骤,包括:
S401、请求方向区块链中的所有共识节点发起信任评估验证请求,并从所有共识节点中确定出符合第一预设条件的第一轮共识节点;
S402、请求方授予第一轮共识节点访问信任评估结果和验证标签的权限;
S403、第一轮共识节点向信任评估方请求获得信任评估结果和验证标签,并根据验证标签对信任评估结果进行正确性验证。
为了快速达成共识,本实施例使用多个分片并行验证信任评估结果。具体而言,请求方给每个分片中满足预设条件的第一轮共识节点发布访问信任评估结果和验证标签的权限,通过访问控制策略,每个分片中的第一轮共识节点只能访问分配给自身的信任评估结果和验证标签。可选地,预设条件为:每个分片中信任值高于预设信任阈值的共识节点为第一轮共识节点。
当所述信任评估结果通过第一轮共识节点的正确性验证时,所述第一轮共识节点对经过自身验证的信任评估结果和验证标签进行签名后,公布所述签名、所述信任评估结果和验证标签,以使自身所在分片上的其他共识节点进行审批,并达成第一轮共识的步骤,包括:
当信任评估结果通过第一轮共识节点的正确性验证时,第一轮共识节点对经过自身验证的信任评估结果和验证标签进行签名,并公布签名、信任评估结果和验证标签;
第一轮共识节点所在分片的其他共识节点利用验证标签对信任评估结果进行审批;
若信任评估结果获得第一预设数量以上的其他共识节点的正确性验证、且其他共识节点的信任值之和大于等于第二预设阈值,则达成第一轮共识。
具体地,当信任评估结果通过第一轮共识节点的正确性验证时,第一轮共识节点对其验证后的信任评估结果进行签名及公布,公布后,分片中的其他共识节点继续对其进行审批,如果通过了第一预设数量Thr
本实施例中,按照如下公式确定第一预设数量Thr
若Thr
其中,Thr
可选地,上述步骤S6中,请求方利用可验证随机函数生成随机数种子,发送随机数种子至区块链的所有分片,并从每个分片中确定出第二轮共识节点的步骤,包括:
请求方利用可验证随机函数生成随机数种子,并将其发送至区块链的每个分片中;
从每个分片中选取
本实施例中,请求方使用可验证随机函数VRF来生成一个随机数种子,并将其发送到每个分片中,每个分片选取符合预设条件的
可选地,当存在多个第二轮共识节点对同一待评估实体的信任评估结果进行正确性验证时,以时间戳在后的正确性验证结果为准进行聚合。
为了增强安全性,如果存在不同的第二轮共识节点验证了同一待评估实体的信任评估结果的情况,每个分片会以时间戳在后的正确性验证结果为准执行信任聚合,进而来确认所有分片的共识结果。达成第二轮共识后,生成一个新的区块,并向所有贡献方即信任评估方和共识节点发放利润代币。
请求方根据节点的信任值来确定每个分片的第一轮共识和跨分片的第二轮共识的最小共识节点数,详见算法2。算法2给出了一种方法来确定期望的审批节点的信任值总和Thr
需要说明的是,本发明提供的共识方法在片内进行第一轮共识、跨片进行第二轮共识,此种设计可以保证分片内部和跨分片的共识安全,也有利于降低区块链的通信开销。
图4是本实施例提供的多项式转化为算术电路的计算示意图。下面,结合图4对算术电路的计算过程进行说明。
具体而言,算术电路由边和顶点组成,顶点称为门,通常包括加法门和乘法门,乘法门用于计算输入的积,加法门用于计算输入的和,加法门的优先级一般低于乘法门的优先级;边为每个门的输入和输出,每个门有两个输入,可以是一个常量系数c或变量x
示例性地,算术电路按门对门的方式执行,最后输出包括了多项式的计算结果和证明信息。图3是一个只包含乘法门的电路,该电路计算一个常量系数c和变量x
本实施例中,共识节点对信任评估结果的验证过程如下:
R向CN
进一步地,E
具体验证过程如下:
首先,将验证标签δ
门运算过程中,可以在验证得到运算信任评估结果的同时转化验证标签,具体来说,一阶标签转化为一阶标签:
对于乘法门1,输入为:
进一步地,一阶标签转化为二阶标签,对于加法门2输入为:x
接着,二阶标签转化为二阶标签,对于加法门4,输入为:
验证过程包括一阶标签的验证和二阶标签的验证,示例性地,分别按照公式
通过上述各实施例可知,本发明的有益效果在于:
本发明提供了一种基于区块链的高效安全的共识方法,通过在链下并行执行信任评估任务、并在分片后并行对待评估实体的信任评估结果进行正确性验证,进而在第一类共识节点所在的分片内达成第一轮共识、在第二类共识节点之间跨分片达成第二轮共识,具备高效性。其次,本发明的分片过程具有随机性,能够避免分叉的唯一的区块生成、避免集中化的利润均衡,从而防止DDoS攻击和对某些特定节点的入侵,具备安全性。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。