一种区块链网络及其共识算法制造技术

技术编号:32210073 阅读:15 留言:0更新日期:2022-02-09 17:15
本发明专利技术提供一种区块链网络及其共识算法,算法包括:A、设置节点的初始信任度值;B、进行数据上传测试,若共识验证通过,分别将正常节点和异常节点的信任度增加和减少设定值;C、通过本地节点上传数据,若判定该节点为高信任度节点,进入步骤D;若判定该节点为低信任度节点,进入步骤E;D、对上传的数据进行交易认定,并进入步骤F;E、对上传的数据进行共识验证,通过后,分别将正常节点和异常节点的信任度增加和减少设定值m,并进入步骤D;F、对于高信任度节点上传并已进行交易认定的数据,进行共识验证,若验证不通过,则将该高信任度节点降低为低信任度节点,并将对应的交易标为异常。本发明专利技术能够实现同时提高效率与数据上传规模。明能够实现同时提高效率与数据上传规模。明能够实现同时提高效率与数据上传规模。

【技术实现步骤摘要】
一种区块链网络及其共识算法


[0001]本专利技术涉及一种区块链网络及其共识算法。

技术介绍

[0002]随着信息化与智能化的普及,大数据时代正在走进社会生活的方方面面。相比以往,数据在日常生产、生活中扮演着更加重要的角色,从生产过程的衍生品向生产资料进行逐步转化,拥有大数据资源的商业主体,亦可以将数据作为核心商品进行一定的商业转化,以此来获取利润。在以大数据信息化资源为代表的商业模式转变过程中,数据隐私与安全问题成为了日益突出的生产矛盾,数据安全与不可篡改性是多方商业模式的互信基础。为了保障多方之间的商业互信基础,银行或政府监管机构通常作为第三方监督者介入到日常的商业行为中,对可能存在违规的商业行为进行及时制止。但随着社会经济的快速发展,传统机构并不能很好的覆盖所有新兴行业,区块链技术针对该问题应运而生。作为一种去中心化的分布式数据库,区块链可以从技术的角度保证数据的不可篡改性和一定的安全性,为多方之间的交易行为提供很好的互信基础。
[0003]区块链的本质就是一个去中心化的分布式数据库,多个参与节点通过共识协议达到共识并进行同步。由于每个全节点(或超级节点)都会在本地留存有完整的数据备份信息,因此攻击者想要通过外部修改某一节点内的数据库来达到篡改数据的效果是很难实现的。
[0004]目前,区块链技术的发展更多处在理论研究和实验室阶段,距离现实的大规模应用还有一定的距离,而阻碍这一进程的根本原因在于区块链网络理论中的不可能三角。现有的区块链网络无法在满足去中心化条件的同时保证效率与规模。现有的技术只能在这三者之间找到一个平衡,在尽量保证三者特性的基础上提供更高的可用性,但这样的做法治标不治本,只能满足特定商业形态的某阶段需求,无法随着业务地发展而升级,为后续的运维工作带来了很大的隐患。
[0005]商业应用的场景需要将数据安全提高到非常重要的层次,区块链网络中的每个节点在真实的生产环境中都会面临恶意攻击的风险,如果没有很好的纠错机制,就只能依靠节点规模的增加来提高容错阈值,这属于被动防御策略,并且容错能力根据共识算法的不同有很大的不同,缺少主动纠错能力。

技术实现思路

[0006]本专利技术提出一种区块链网络及其共识算法,根据节点的信任度等级选择是否先交易再验证,从而实现在保证节点安全性的情况下,大幅提高数据上传速度,且适用于大规模数据上传的场景,实现同时提高效率与数据上传规模。
[0007]本专利技术通过以下技术方案实现:
[0008]一种区块链网络的共识算法,包括如下步骤:
[0009]A、区块链网络首次启动,设置每个新参与节点的初始信任度值为a;
[0010]B、随机选择一节点作为Leader节点,由该Leader节点发起一次数据上传测试,由其他节点进行共识验证,若验证不通过,则重新选取Leader节点并进行数据上传,若验证通过,则将正常节点的信任度值增加设定值m,将异常节点的信任度值减少设定值m,N次重复上述测试过程后进入步骤C;
[0011]C、用户通过本地节点上传数据,当该节点的信任度值大于第一阈值M1时,判定该节点为高信任度节点,进入步骤D;当该节点的信任度小于第二阈值M2时,判定该节点为低信任度节点,进入步骤E;
[0012]D、对该节点上传的数据进行交易认定,记录到区块链网络中,并进入步骤F;
[0013]E、其他节点对该节点上传的数据进行共识验证,验证通过后,将正常节点的信任度值增加设定值m,将异常节点的信任度值减少设定值m,并进入步骤D;
[0014]F、对于高信任度节点上传并已进行交易认定的数据,当其他节点空闲时,对该数据进行共识验证,若验证通过,则区块链网络继续正常运行,若验证不通过,则将该高信任度节点的信任度值降低至第二阈值M2以下,并将该数据对应的交易标为异常,其中,a、m、M1和M2均为自然数,M1>M2,(M1

a)/m>10。
[0015]进一步的,所述步骤A中,设置每个新参与节点的投票权重比为b,所述步骤B中,若验证通过,将正常节点的投票权重比增加设定值n,将异常节点的投票权重比减少设定值n,其中,b和n为自然数。
[0016]进一步的,若某节点在连续N1次共识验证中均为异常节点,则将其判定为错误节点,设置其投票权重比为0,其中,N1为正整数。
[0017]进一步的,所述异常节点为在共识验证中不响应的节点,所述正常节点则为除去异常节点的其与节点。。
[0018]进一步的,所述步骤C中,用户上传数据时需要拥有双向验证的CA证书,基于CA证书向云端的区块链网络发起身份验证请求,通过后取得发送数据的权利。
[0019]进一步的,所述区块链网络包括底层数据库MySQL,各节点的信任度值记录在底层数据库MySQL中。
[0020]进一步的,进行所述共识验证时,若超过2/3的节点验证通过,则该次共识验证通过。
[0021]本专利技术还通过以下技术方案实现:
[0022]一种区块链网络,包括:
[0023]初始化模块:用于在区块链网络首次启动时,设置每个新参与节点的初始信任度值为a;随机选择一节点作为Leader节点,由该Leader节点发起一次数据上传测试,由其他节点进行共识验证,若验证不通过,则重新选取Leader节点并进行数据上传,若验证通过,更新各节点的信任度值,重复N次上述测试过程,各节点均得到自己对应的信任度值;
[0024]信任度判定模块:用于在用户通过本地节点上传数据时,根据该节点的信任度值判定其为高信任度节点或者低信任度节点,当该节点的信任度值大于第一阈值M1时,判定该节点为高信任度节点;当该节点的信任度小于第二阈值M2时,判定该节点为低信任度节点;
[0025]交易模块:对于高信任度节点,对其上传的数据进行交易认定,记录到区块链网络中;对于低信任度节点,其他节点对该其上传的数据进行共识验证,验证通过后,更新其他
各节点的信任度值;
[0026]验证模块:对于高信任度节点上传并已进行交易认定的数据,当其他节点空闲时,对该数据进行共识验证,若验证通过,则区块链网络继续正常运行,若验证不通过,则将该高信任度节点的信任度值降低至第二阈值M2以下,并将该数据对应的交易标为异常,其中,a、m、M1和M2均为自然数,M1>M2,(M1

a)/m>10。
[0027]进一步的,验证通过后,将正常节点的信任度值在当前值的基础上增加设定值m,将异常节点的信任度值在当前值的基础上减少设定值m。
[0028]进一步的,对于信任度值增加的节点,其投票权重比也增加,对于信任度减少的节点,其投票权重比也减少。
[0029]本专利技术具有如下有益效果:
[0030]1、当有节点需要上传数据时,区块链网络根据该节点的信任度值判定其为高信任度节点或者低信任度节点,若为高信任度节点,则其上传的数据直接进行交易认定,若为低信任度节点,则需要其他节点对其上传的数据进行共识验证,验证通过后,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链网络的共识算法,其特征在于:包括如下步骤:A、区块链网络首次启动,设置每个新参与节点的初始信任度值为a;B、随机选择一节点作为Leader节点,由该Leader节点发起一次数据上传测试,由其他节点进行共识验证,若验证不通过,则重新选取Leader节点并进行数据上传,若验证通过,则将正常节点的信任度值增加设定值m,将异常节点的信任度值减少设定值m,N次重复上述测试过程后进入步骤C;C、用户通过本地节点上传数据,当该节点的信任度值大于第一阈值M1时,判定该节点为高信任度节点,进入步骤D;当该节点的信任度小于第二阈值M2时,判定该节点为低信任度节点,进入步骤E;D、对该节点上传的数据进行交易认定,记录到区块链网络中,并进入步骤F;E、其他节点对该节点上传的数据进行共识验证,验证通过后,将正常节点的信任度值增加设定值m,将异常节点的信任度值减少设定值m,并进入步骤D;F、对于高信任度节点上传并已进行交易认定的数据,当其他节点空闲时,对该数据进行共识验证,若验证通过,则区块链网络继续正常运行,若验证不通过,则将该高信任度节点的信任度值降低至第二阈值M2以下,并将该数据对应的交易标为异常,其中,a、m、M1和M2均为自然数,M1>M2,(M1

a)/m>10。2.根据权利要求1所述的一种区块链网络的共识算法,其特征在于:所述步骤A中,设置每个新参与节点的投票权重比为b,所述步骤B中,若验证通过,将正常节点的投票权重比增加设定值n,将异常节点的投票权重比减少设定值n,其中,b和n为自然数。3.根据权利要求2所述的一种区块链网络的共识算法,其特征在于:若某节点在连续N1次共识验证中均为异常节点,则将其判定为错误节点,设置其投票权重比为0,其中,N1为正整数。4.根根据权利要求1或2或3所述的一种区块链网络的共识算法,其特征在于:所述异常节点为在共识验证中不响应的节点,所述正常节点则为除去异常节点的其与节点。5.据权利要求1或2或3所述的一种区块链网络的共识算法,其特征在于:所述步骤C中,用户上传数据时需要拥有双向验证的CA证书,基于CA证书向...

【专利技术属性】
技术研发人员:张锴王平江任金超苏德瑜何静张志旺
申请(专利权)人:泉州华中科技大学智能制造研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1