一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的新闻信息信用积分系统的制作方法

2022-03-05 02:46:48 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,具体涉及一种基于区块链的新闻信息信用积分系统。


背景技术:

2.区块链是一种在互联网规模上支持安全、去中心化和共识的分布式账本技术,它能够安全的存储网络上的交易信息,并保证信息不可伪造和篡改。区块链对密码学、共识算法、分布式技术和智能合约四大技术进行了整合和创新,使其更加符合区块链系统去中心化和安全可靠的特点。在这些基础技术中,共识算法在很大程度上决定了区块链系统的性能,如事务吞吐量、延迟、节点可伸缩性、安全级别等。因此需要根据不同的应用场景和网络规模以及性能要求,在系统的不同阶段使用不同的共识算法。目前常见的共识算法有两种:一种是应用于公有链的基于证明的算法,例如比特币和以太坊所采用的pow工作量证明算法,还有常见的pos权益证明算法、poa权威证明算法以及poc信用共识算法;另一种是应用于联盟链的bft类算法,例如pbft实用拜占庭容错算法。这些共识算法各有其优点,但也面临应用场景限制。因此如何将这些共识算法进行组合,使其真正能够适用于一个完整的区块链系统不同阶段,发挥其共识算法优势,这是区块链技术发展的一个关键性问题。
3.随着互联网与新媒体的快速发展,公众参与新闻传播方式变得更加简单,新闻信息传播的速度也加快,这给新闻的真实性带来了很大的挑战,此外,由于新闻信息通常存储在单独的一家媒体机构的服务器上,因此容易出现信息丢失的问题。区块链技术由于其去中心化和公开可验证的特点可以很好的解决上述问题,媒体机构或者个人用户向区块链发送的新闻消息会经过验证后存储在区块中,并且被添加到区块链中,以此来保证新闻的真实性和不可篡改性。


技术实现要素:

4.针对现有技术中的上述不足,本发明提供了一种基于区块链的新闻信息信用积分系统。
5.为了达到上述发明目的,本发明采用的技术方案为:
6.一种基于区块链的新闻信息信用积分系统,其特征在于,包括节点管理模块、共识管理模块以及信用积分计算模块;
7.所述节点管理模块用于执行节点管理,对拟加入新闻信息信用积分系统的用户进行准入管理、初始化设置以及权限管理;
8.所述共识管理模块用时执行共识建立,根据系统运行状态和网络规模来切换不同的共识机制以及提供实现信息区块上链的共识算法,包括poa算法、poc算法和bft算法;
9.所述信用积分计算模块用于执行信用积分计算,对系统中所有节点依据其在区块上链时所做的工作进行信用值计算。
10.上述方案的有益效果是,
11.本发明提供了一种基于区块链的新闻信息信用积分系统,主要包括三个模块:节点管理模块、共识管理模块以及信用积分计算模块。节点管理模块主要负责对拟加入网络中的用户进行身份验证和节点创建以及权限管理等事务;共识管理模块主要负责依据系统运行状态和网络中节点的规模来切换不同的共识机制和提供相应的共识算法;信用积分计算模块主要负责计算网络中节点在每一轮中所获得的信用积分值。通过以上设计,本发明所设计的系统层次结构分明,各功能模块相互独立,能够实现较高的性能,可以实现新闻信息高效快速的上链,有效解决了传统互联网模式中存在的新闻信息易丢失、新闻真实性难以判断、热点新闻被恶意打压的问题,有利于维护一个更加公正可靠的网络信息环境,为用户提供更好的使用体验。
12.进一步的,所述节点管理模块具体采用如下方式执行节点管理:
13.a1、在新闻信息信用积分系统初始运行阶段对待加入网络中的用户进行身份验证和准入管理,验证通过后将被允许加入网络;
14.a2、对被允许加入网络的用户创建节点并进行数据同步;
15.a3、对创建的节点根据其节点身份标识符和信用积分值进行权限划分;
16.所述共识管理模块采用如下方式执行共识建立:
17.b1、在新闻信息信用积分系统运行的第一阶段,区块链网络采用具有准入机制的poa共识算法来完成信息区块的打包以及上链的过程,当网络中节点数量以及信用积分值总额达到n1和s1时,新闻信息信用积分系统执行共识机制切换操作,然后进入步骤b2;
18.b2、在新闻信息信用积分系统运行的第二阶段,区块链网络采用具有投票机制poa poc的混合共识算法来完成信息区块的打包以及上链的过程,当网络中节点数量n2和信用积分值总额达到s2时,系统执行共识机制切换操作,然后进入步骤b3;
19.b3、在新闻信息信用积分系统运行的第三阶段,区块链网络采用poc bft的混合共识算法来完成信息区块的打包以及上链的过程;
20.所述信用积分计算模块采用如下方式执行信用积分计算:
21.c1、在新闻信息信用积分系统运行的第一阶段,区块链网络中的节点按照其身份信息以及完成的工作来获得相应的信用积分值;
22.c2、在新闻信息信用积分系统运行的第二、三阶段,区块链网络中的节点按照其在区块打包和区块上链时所做的工作来动态获得信用积分。
23.上述进一步方案的有益效果是,
24.(1)本发明通过在系统运行初始阶段采用准入管理来确保区块链网络的安全性。在区块链网络初始搭建阶段,网络中节点的数量较少,此时需要保证网络中各节点均为诚实节点才能有效的完成共识过程。本系统通过对拟加入网络的节点进行审核可以有效避免恶意节点的出现,这保证了区块链网络的平稳运行,为区块链网络的进一步扩展奠定了基础。
25.(2)本发明提供一种多阶段混合共识机制,可以有效发挥各共识算法的优点,解决了单一共识算法在应用场景方面受限的问题。在系统运行初期,由于网络中的节点数量较少,此时采用poa共识算法可保证系统的安全性以及打包区块的效率;在系统运行中期,网络中的节点数量虽已逐步增多,但系统安全性仍无法得到保障,此时采用poa poc的混合共识方法可以让非权威节点也拥有打包区块的权利,进而获得相应的出块奖励,同时也可以
减轻权威节点的计算压力,使其将更多的精力用于维护系统安全方面;在系统运行稳定期,网络中的节点数量已足够多且趋于稳定,此时系统的安全性已得到足够的保障,此时采用poc bft混合共识方法可以极大提高系统打包区块的效率。
26.(3)本发明提供了一种分阶段信用积分值计算的方法,每个阶段采用不同的计算方法和奖励系数,确保了网络中的大多数节点均可以获得区块上链的奖励,提高了各节点参与网络运行的积极性,极大的提高了网络运行的安全性和活跃性。
27.进一步的,所述a1中节点管理模块执行用户身份验证和准入的方式为:
28.a101、新闻信息信用积分系统收集拟加入区块链网络的媒体机构和普通用户的官方认证信息,并对其进行合法性验证;
29.a102、对拟成为poa共识算法中的权威节点的媒体机构和个人用户,验证其所提交的身份证明信息和相关的从业资质许可证明,若合法,则进入步骤a201,否则,拒绝该用户加入网络;
30.a103、对加入网络的普通用户,验证其所提交的身份证明是否包含一个超过50%权威节点签名的担保证书,若是,则进入步骤a201,否则,拒绝该用户加入网络。
31.上述进一步方案的有益效果是,
32.本发明提供了一种区块链网络节点准入的审查规则。在使用poa共识算法搭建区块链网络时,其网络的安全性是由权威节点来决定的,因此需要对权威节点进行严格审查,而普通用户节点由于不参与区块上链的过程,因此其对网络安全性影响较小,但由于网络初始规模较小,因此仍需对普通用户节点进行审核以保证网络能够安全运行。本发明所采用的对权威节点的审查方式可以有效的确保媒体机构和个人节点不会作恶,对普通用户节点的审查方式可以实现在保护用户隐私的情况下完成对该用户身份的核验,进而确保区块链网络运行的安全性和稳定性。
33.进一步的,所述节点管理模块执行节点创建和数据同步的方式为:
34.a201、为用户创建节点并加入到网络中,同时按照用户身份验证结果为节点设置身份标识符;
35.a202、新加入的节点通过查询系统预存的网络节点ip地址连接到网络,并进行区块链数据同步,若节点成功连接到区块链网络,则进入步骤a301,否则,删除该节点,结束流程。
36.上述进一步方案的有益效果是,
37.本发明提供了一种网络节点创建和节点发现的方法。系统根据用户验证通过的信息自动为用户创建一个网络节点并自动完成节点发现和数据同步的任务。该设计简化了用户的操作步骤,使得用户可以关注系统的核心功能。
38.进一步的,所述节点管理模块执行节点类型划分的方式为:
39.a301、在新闻信息信用积分系统运行的第一阶段,网络中的节点依据身份标识符被划分为权威节点和普通节点;
40.a302、在新闻信息信用积分系统运行的第二阶段,网络中的节点依据身份标识符和信用积分值被划分为权威节点、出块节点和普通节点。
41.上述进一步方案的有益效果是,
42.本发明提供了一种网络节点类型划分规则,该设计按照系统不同运行阶段将网络
中的节点划分为不同的角色,使绝大多数节点能够参与区块上链的过程,一方面增加了网络的活跃性,有助于保障网络的安全,另一方面增加了节点的信用积分值,使其能够获得本系统提供的更多服务。
43.进一步的,所述共识管理模块在第一阶段执行具有准入机制的poa共识算法来完成信息区块的打包以及上链的过程为:
44.b101、每一轮使用vrf函数在权威节点集合中进行选择领导节点,并发送被成功选中的vrf哈希值以及vrf证明给其余的权威节点;
45.b102、其余节点对收到的哈希值以及相应的证明进行验证,验证通过后即承认该节点为本轮领导节点;
46.b103、领导节点选取网络中待审查的新闻信息构成新的区块,然后对此区块数据和区块哈希进行签名,同时在权威节点集合中广播此区块;
47.b104、其余权威节点对本轮领导者广播的区块进行新闻信息真实性验证,验证通过后会对该区块哈希值进行签名,然后将签名信息发送回当前的领导节点;
48.b105、领导节点在接收到超过个验证者的有效签名时提交该区块到链上,同时将新的区块广播到整个区块链网络;
49.b106、判断网络中节点数量以及信用积分值总额是否触发系统第二阶段切换阈值n1和s1,若是,则执行共识机制切换操作,然后进入到步骤b201,否则,重复执行步骤b1。
50.上述进一步方案的有益效果是,
51.本发明提供了一种基于vrf函数的poa共识算法,可以有效防止领导节点遭受拒绝服务攻击。传统poa算法按照集合中各节点的顺序依次当选领导者,这会让其他节点提前知道下一轮的领导节点,进而向该领导节点发动拒绝服务攻击,造成区块链网络瘫痪。本发明采用的vrf函数可以在每一轮生成一个可验证随机数,进而在该轮选择序号为该随机数的节点作为本轮的领导节点来执行共识过程,这可以有效抵御拒绝服务攻击,降低网络发生故障的可能性。
52.进一步的,所述共识管理模块在第二阶段执行具有投票机制poa poc的混合共识算法来完成信息区块的打包以及上链的过程为:
53.b201、普通节点为具有出块资格的节点进行投票,然后将所得票数和节点具有的信用积分值按不同加成比例计算得到节点的投票积分;
54.b202、根据每个节点拥有的投票积分,进行领导节点选取,并发送被成功选中的vrf哈希值以及vrf证明给其余出块节点;
55.b203、其余节点对收到的哈希值以及相应的证明进行验证,验证通过后即承认该节点为本轮领导节点;
56.b204、领导节点选取网络中的待审查的新闻信息构成新的区块,然后对此区块数据和区块哈希进行签名,同时将区块和签名向网络中的所有权威节点广播;
57.b205、所有权威节点将对该区块进行新闻信息真实性验证,验证通过后会生成一个聚合签名发送给领导节点;
58.b206、领导节点在接收到该聚合签名后,将本轮产生的区块进行上链,同时将该签名和区块进行组合,在区块链网络中广播该消息;
59.b207、判断网络中节点数量以及信用积分值总额是否触发系统第三阶段切换阈值n2和s2,若是,则执行共识机制切换操作,然后进入到步骤b301,否则,重复执行步骤b2。
60.上述进一步方案的有益效果是,
61.本发明提供了一种具有投票机制的poa poc的混合共识算法,可以在保证区块链网络安全的情况下实现更加均衡的激励,进而提高网络中各节点的参与度。在poa共识算法中,网络中的事务均由权威节点进行处理,普通节点仅同步区块信息,这导致普通节点参与网络运行的积极度较差。当网络中节点数量增多时,会影响网络的安全性,同时也会增加权威节点的计算压力。本发明所设计的混合共识算法将区块打包上链的过程进行解耦,将区块打包的操作交给由poc共识算法计算得到的节点进行处理,将区块验证的操作交给权威节点进行处理,这样使得更多的节点可以获得区块上链的奖励,同时也能够减轻权威节点的计算压力,增加网络的安全性。
62.进一步的,所述公式管理模块在第三阶段执行poc bft的混合共识算法来完成区块的打包以及上链的过程为:
63.b301、从系统中随机选取多个信用积分值高于设定阈值的节点形成随机数生成节点集合,然后使用基于可验证秘密分享的随机信标生成协议产生n个随机数;
64.b302、将n个随机数发放给网络中的n个节点,然后将n个节点划分为m个分区,每个节点通过n mod m的方式获取本节点所在的分区;
65.b303、每个分区中的节点集合使用vrf函数计算得到每一轮的领导节点,当选的领导节点发送vrf哈希值以及vrf证明给其余节点;
66.b304、其余节点对收到的哈希值以及相应的证明进行验证,验证通过后即承认该节点为本轮领导节点;
67.b305、领导节点选取分区内的新闻信息进行区块打包,然后将该区块在分区节点集合中广播;
68.b306、分区中的节点分别对分区内的新闻信息进行真实性验证,然后使用pbft算法完成区块的共识;
69.b307、领导节点在接收到分区中超过三分之二节点的有效签名时提交该区块到链上。
70.上述进一步方案的有益效果是,
71.本发明提供了一种poc bft的混合共识算法,能够有效提升大规模区块链网络的吞吐量。传统的bft算法由于其通信复杂度太高而难以应用于大规模的区块链网络中,针对此问题,本发明将大规模的区块链网络分割成不同的网络分区,通过使用基于可验证秘密分享的随机信标协议来为每个节点分配分区号,各节点只需与分区中的其余节点达成共识,不必与网络中所有的节点进行通信,这减轻了区块链网络的通信压力,使得bft算法能够成功的应用于大规模的区块链网络。
72.进一步的,所述信用积分计算模块计算在第一阶段计算信用积分值的方式为:
73.c101、权威节点产生新的信息区块,同时将新区块广播至全网络中,完成该过程后权威节点集合中每个节点可增加信用值c1;
74.c102、普通节点同步权威节点产生的新区块,然后每接收到10个区块就向任一权威节点发送这10个区块哈希值的merkle树根值以及对应的merkle证明;
75.c103、权威节点验证通过后为该节点增加信用值10*c2,同时将账本广播至权威节点的集合中。
76.上述进一步方案的有益效果是,
77.本发明提供了一种基于poa共识算法的激励机制。网络中的普通节点可通过同步权威节点打包的区块信息来获得奖励,这样做可以吸引更多的网络节点加入到网络的运行中,提高系统的活跃性,避免网络中的普通节点因无法获得收益而长时间离线的情况发生,同时也为网络规模的进一步扩大奠定良好的安全基础。
78.进一步的,所述信用积分计算模块在第二、第三阶段计算信用积分的方式为:
79.c201、根据最长链原则判断新产生的区块是否是合法区块,若是,则进入步骤202,否则进入步骤204;
80.c202、区块链网络按照如下公式计算每一个合法信息区块所产生的信用值:
[0081][0082]
其中,αi表示每个阶段的奖励系数,b
tn
表示单个区块包含的事务数量,b
ti
表示连续的两个区块出块间隔时间,b
ta
表示平均出块间隔时间。
[0083]
c203、网络中的节点分别根据其在产生区块时所做的贡献,依据下式计算得到本节点所获得的信用积分值:
[0084][0085]
其中,n
l
,nv,no分别表示领导节点、验证节点和普通节点,bi和di分别表示对领导节点和验证节点的额外奖励系数,cj表示参与此次共识过程中各节点的信用积分值。
[0086]
c204、针对恶意节点产生的无效区块,区块链网络基于下式对参与区块打包的节点进行信用惩罚:
[0087][0088]
其中,fn表示节点累计生成的无效区块数量。
[0089]
上述进一步方案的有益效果是,
[0090]
本发明提供了一种基于混合共识算法的均衡激励机制。该机制按照公式计算每一个合法区块产生的信用积分值,并按照节点角色将其分发给网络的每个节点,同时也会对产出无效区块的节点进行惩罚。通过这种奖惩机制可以充分调动网络中各节点的积极性,使得网络中的节点难以作恶,进而维护网络的平稳运行。
附图说明
[0091]
图1为本发明基于多阶段共识机制的新闻信息信用积分系统的结构示意图。
[0092]
图2为本发明基于多阶段共识机制的新闻信息信用积分系统方法流程示意图。
[0093]
图3为本实施例中节点管理活动图。
[0094]
图4为本实施例中用户参与共识活动图。
[0095]
图5为本实施例中poa共识算法流程图。
[0096]
图6为本实施例中poa poc混合共识算法流程图。
[0097]
图7为本实施例中poc bft混合共识算法流程图。
具体实施方式
[0098]
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
[0099]
实施例1
[0100]
如图1所示,本发明提供了一种基于区块链的新闻信息信用积分系统,包括节点管理模块、共识管理模块以及信用积分模块;节点管理模块,用于对拟加入新闻信息信用积分系统的用户进行准入管理、初始化设置以及权限管理;共识管理模块,用于根据系统运行状态和网络节点规模来切换不同的共识机制以及提供实现区块上链的共识算法,包括poa算法、poc算法和bft算法;信用积分计算模块,用于对系统中所有节点依据其在区块上链时所做的工作进行信用值计算。
[0101]
实施例2
[0102]
如图2所示,本发明还提供了的一种基于区块链的新闻信息信用积分方法,包括节点管理阶段、层级划分阶段以及共识过程阶段;
[0103]
所述节点管理阶段包括以下步骤:
[0104]
a1、在系统初始运行阶段对拟加入网络中的用户进行身份验证和准入管理,验证通过后将被允许加入网络,其具体步骤为:
[0105]
a101、新闻信息信用积分系统收集拟加入区块链网络的媒体机构和普通用户的官方认证信息,并对其进行合法性验证;
[0106]
a102、对拟成为poa共识算法中的权威节点的媒体机构和个人用户,验证其所提交的身份证明信息和相关的从业资质许可证明,若合法,则进入步骤a201,否则,拒绝该用户加入网络;
[0107]
a103、对加入网络的普通用户,验证其所提交的身份证明是否包含一个超过50%权威节点签名的担保证书,若是,则进入步骤a201,否则,拒绝该用户加入网络;
[0108]
a2、对被允许加入网络的用户进行节点的创建以及数据同步操作,其具体步骤为:
[0109]
a201、为用户创建节点并加入到网络中,同时按照用户身份验证结果为节点设置身份标识符
[0110]
a202、新加入的节点通过查询系统预存的网络节点ip地址连接到网络,并进行区块链数据同步,若节点成功连接到区块链网络,则进入步骤a301,否则,删除该节点,结束流
程;
[0111]
a3、对创建的节点根据其节点身份标识符和信用积分值进行权限划分,其具体做法为:
[0112]
a301、在新闻信息信用积分系统运行的第一阶段,网络中的节点依据身份标识符被划分为权威节点和普通节点;
[0113]
a302、在系统运行的第二阶段,网络中的节点依据身份标识符和信用积分值被划分为权威节点、出块节点和普通节点
[0114]
所述共识阶段包括以下步骤:
[0115]
b1、在新闻信息信用积分系统运行的第一阶段,区块链网络采用具有准入机制的poa共识算法来完成信息区块的打包以及上链的过程,如图5所示,其实现方法如下:
[0116]
b101、每一轮使用vrf函数在权威节点集合中进行领导节点选取,并发送被成功选中的vrf哈希值以及vrf证明给其余的权威节点,其中,vrf函数公式如下所示:
[0117]
<hash,π>=vrf
sk
(seed||role)
[0118]
其中,hash表示该函数生成的一个哈希值,π是一个零知识证明,用于证明hash是正确输出,sk表示节点私钥,seed表示每一轮中产生的公共随机数,在本实例中采用上一轮vrf函数生成的哈希值和生成区块的哈希值的异或作为本轮的公共随机数,role表示节点的身份信息。
[0119]
其余节点接收到该节点的vrf函数输出结果后会使用下式进行验证,验证通过后即可成为本轮的领导节点;
[0120]
verifyvrf
pk
(hash,π,seed||role)
[0121]
其中,pk表示生成该vrf函数结果的节点的公钥。
[0122]
b102、其余节点对收到的哈希值以及相应的证明进行验证,验证通过后即承认该节点为本轮领导节点;
[0123]
b103、领导节点选取网络中待审查的新闻信息构成新的区块,然后对此区块数据和区块哈希进行签名,同时在权威节点集合中广播此区块;
[0124]
b104、其余权威节点对本轮领导者广播的区块进行新闻信息真实性验证,验证通过后会对该区块哈希值进行签名,然后将签名信息发送回当前的领导节点;
[0125]
b105、领导节点在接收到超过个验证者的有效签名时提交该区块到链上,同时将新的区块广播到整个区块链网络;
[0126]
b106、判断网络中节点数量以及信用积分值总额是否触发系统第二阶段切换阈值n1和s1,若是,则执行共识机制切换操作,然后进入到步骤b201,否则,重复执行步骤b1。
[0127]
b2、在系统运行的第二阶段,区块链网络采用具有投票机制poa poc的混合共识算法来完成信息区块的打包以及上链的过程,如图6所示,其实现方法如下:
[0128]
b201、普通节点为具有出块资格的节点进行投票,然后将所得票数和节点具有的信用积分值按不同加成比例计算得到节点的投票积分,其具体计算公式如下所示:
[0129]
score=α*votes β*c
cur
[0130]
b202、根据每个节点拥有的投票积分,进行领导节点选取,并发送被成功选中的vrf哈希值以及vrf证明给其余出块节点;
[0131]
b203、其余节点对收到的哈希值以及相应的证明进行验证,验证通过后即承认该节点为本轮领导节点;
[0132]
b204、领导节点选取网络中的待审查的新闻信息构成新的区块,然后对此区块数据和区块哈希进行签名,同时将区块和签名向网络中的所有权威节点广播;
[0133]
b205、所有权威节点将对该区块进行新闻信息真实性验证,验证通过后会生成一个聚合签名发送给领导节点;
[0134]
b206、领导节点在接收到该聚合签名后,将本轮产生的区块进行上链,同时将该签名和区块进行组合,在区块链网络中广播该消息;
[0135]
b207、判断网络中节点数量以及信用积分值总额是否触发系统第三阶段切换阈值n2和s2,若是,则执行共识机制切换操作,然后进入到步骤b301,否则,重复执行步骤b2;
[0136]
b3、在系统运行的第三阶段,区块链网络采用poc bft的混合共识算法来完成区块的信息打包以及上链的过程,如图7所示,其实现方法如下:
[0137]
b301、从系统中随机选取多个信用积分值高于设定阈值的节点形成随机数生成节点集合,然后使用基于可验证秘密分享的随机信标生成协议产生n个随机数。其产生随机数的过程具体为:
[0138]
首先,集合中的每个节点在本地生成一个随机数,同时随机选取n个不同的非零元素{x1,x2,...,xn}用来标识集合中的其余节点,然后使用下式将本节点生成的随机数作为秘密值分给n个节点保存
[0139][0140]
其中,sr表示单个节点持有的秘密值份额,ai为有限域gf(p)中任意的一个数,p是一个大素数。
[0141]
然后,集合中的节点每次任意选择一个节点随机数作为本轮的随机数,若被选出的节点掉线或故意不公布它所产生的随机数,则由其余t个节点使用下式进行恢复:
[0142][0143]
其中,s即为本轮选中节点的所产生的随机数。
[0144]
最后,单个节点在成功完成一轮随机数提供服务后,会重新生成一个新的随机数,然后将该随机数作为秘密值重新发送给集合中其余节点保存。
[0145]
b302、将n个随机数发放给网络中的n个节点,然后将n个节点划分为m个分区,每个节点通过n mod m的方式获取本节点所在的分区;
[0146]
b303、每个分区中的节点集合使用vrf函数计算得到每一轮的领导节点,当选的领导节点发送vrf哈希值以及vrf证明给其余节点;
[0147]
b304、其余节点对收到的哈希值以及相应的证明进行验证,验证通过后即承认该节点为本轮领导节点;
[0148]
b305、领导节点选取分区内的新闻信息进行区块打包,然后将该区块在分区节点
集合中广播;
[0149]
b306、分区中的节点分别对分区内的新闻信息进行真实性验证,然后使用pbft算法完成区块的共识;其中,
[0150]
对区块达成共识的过程如下:
[0151]
首先,分区中各节点接收领导节点发送pre-prepare消息,检查消息合法性,进入准备阶段,同时广播相应的prepare消息给分区中的其余节点;
[0152]
然后,分区中各节点收集prepare消息,检查消息合法性,当收集到的有效的prepare消息大于等于2f 1(包括节点本身,其中f表示网络中可容忍恶意节点的数量)时,区块进入commit阶段;
[0153]
最后,分区中的节点本轮所产生的区块进行合法性验证,验证通过则发送commit消息给其余节点,同时等待其余节点发送的commit消息,若收到有效的commit消息大于等于2f 1,则本次pbft共识完成,节点更新本地状态并进入下一轮;
[0154]
b307、领导节点在接收到分区中超过三分之二节点的有效签名时提交该区块到链上;
[0155]
所述信用积分计算阶段包括以下步骤:
[0156]
c1、在系统运行的第一阶段,区块链网络中的节点被分为权威节点和普通节点,权威节点每提交一个信息区块可获得信用值c1,普通节点每同步一个区块可获得信用值c2,其实现方法如下:
[0157]
c101、权威节点产生新的信息区块,同时将新区块广播至全网络中,完成该过程后权威节点集合中每个节点可增加信用值c1[0158]
c102、普通节点同步权威节点产生的新区块,然后每接收到10个区块就向任一权威节点发送这10个区块哈希值的merkle树根值以及对应的merkle证明;
[0159]
c103、权威节点验证通过后为该节点增加信用值10*c2,同时将账本广播至权威节点的集合中;
[0160]
c2、在新闻信息信用积分系统运行的第二、三阶段,区块链网络中的节点按照其在区块打包和区块上链时所做的贡献来动态获得信用积分,其实现方法如下:
[0161]
c201、根据最长链原则判断新产生的区块是否是合法区块,若是,则进入步骤202,否则进入步骤204;
[0162]
c202、区块链网络按照如下公式计算每一个合法信息区块所产生的信用值:
[0163][0164]
其中,αi表示每个阶段的奖励系数,b
tn
表示单个区块包含的事务数量,b
ti
表示连续的两个区块出块间隔时间,bta表示平均出块间隔时间。
[0165]
c203、网络中的节点分别根据其在产生区块时所做的贡献,依据下式计算得到本节点所获得的信用积分值:
[0166][0167]
其中,n
l
,nv,no分别表示领导节点、验证节点和普通节点,bi和di分别表示对领导节点和验证节点的额外奖励系数,cj表示参与此次共识过程中各节点的信用积分值。
[0168]
c204、针对恶意节点产生的无效区块,区块链网络基于下式对参与区块打包的节点进行信用惩罚:
[0169][0170]
其中,fn表示节点累计生成的无效区块数量。
[0171]
在本实施例中,如图2所示,包括节点管理阶段、共识管理阶段和信用积分计算阶段。用户首先获得系统运行阶段信息,然后根据系统要求来完成网络中节点的创建和节点权限的设置,在完成节点创建并成功连接到网络中后,用户获取本阶段运行的共识机制并参与到区块的打包与上链的过程,在成功完成一个区块的上链过程后,用户依据系统奖励机制获得相应的信用积分。
[0172]
在本实施例中,用户想要加入到本系统中,其具体过程如图3所示。首先用户需要进入系统进行账户注册,此时系统会根据当前区块链网络运行状态判断新加入节点是否需要提供身份信息,若是,则会将在前端界面中显示用户所需提供的身份证明要求,否则,直接为该用户创建网络节点并进行节点连接和网络数据同步的过程。当用户成功创建节点并加入到网络中以后,系统将根据其是否提供身份证明以及其所认证的身份进行节点权限设置,至此完成网络节点的创建与管理,用户可以使用该节点参与区块的共识过程。
[0173]
在本实施例中,用户想要执行区块的共识操作,其具体过程如图4所示。用户首先需要获知系统当前所运行的共识机制,然后同步网络中目前已产生区块的数据。接着用户会加入到新一轮的区块共识过程,判断自己能够成为新一轮的领导节点,若可以,则发送相关的验证信息给其余节点并构建新的区块,否则,验证本轮产生的领导节点是否合法,然后对该领导节点产生的新区块进行验证。当本轮所产生的区块得到大多数节点的验证通过后,系统中各节点会判断当前网络规模以及信用积分值总额是否触发共识机制切换阈值,若是,则执行共识机制切换操作,否则,结束本次共识过程。
[0174]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0175]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0176]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0177]
本发明仅就区块链技术在新闻信息信用积分系统中的使用方法进行了阐述,但应注意本发明所设计的多阶段共识算法不仅局限于新闻信息信用积分系统中,其可以作为一个通用的共识机制应用于诸如涉及金融、政务以及身份认证的信息系统中,可以将其中的权威节点由媒体机构替换为相应的金融机构或政府部门,将区块中存储的新闻信息替换为用户的消费信息或行为信息,然后通过本发明所设计的共识机制和信用积分计算方法来构建一个完整的区块链系统。
[0178]
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
[0179]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献