一种基于区块链技术一致性算法的数据管理方法及系统技术方案

技术编号:14484445 阅读:126 留言:0更新日期:2017-01-26 16:18
本发明专利技术公开了一种基于区块链技术一致性算法的数据管理方法及系统,所述的方法包括:所有参与的服务器组成一个网络成为网络中的节点;初始化区块链,每一个节点中均配置有该区块链,区块链中包含多个区块,整个区块链中存储有整套数据;从所有的节点中确定代表节点,并配置代表节点产生区块的顺序和时间段;当节点产生新区块后,广播到全网中,当确定该新区块为有效时,全网中的节点根据该新区块,对初始区块链进行更新。本发明专利技术描述了一种可应用到区块链中的数据一致性算法规则:公益参与证明机制,简称PPOPG,其定义了一种网络中节点产生区块的规则,提高了区块链的整体效率,另外,构建了有效的正向激励措施,保证整个网络系统良好运行。

【技术实现步骤摘要】

本专利技术涉及区块链
,具体涉及一种基于区块链技术一致性算法的数据管理方法及系统
技术介绍
目前区块链常用于交易型数据的存储,其常用的一致性算法如工作量证明(POW)、股权证明(POS)、授权股权证明(DPOS)等均以交易型数据的应用场景来考虑,依据交易本身带有的货币价值属性,从中得到利益分成,使得整个系统持续正向的运行下去。但当区块链应用到非交易型数据中时,由于没有直接体现货币价值,以往的如工作量证明、股权证明、授权股权证明等常用的一致性算法由于不能直接按照之前的挖矿、交易分成等方式进行有效的货币激励,所以受到了局限,同时之前的交易分成的机制原理也成为了系统的冗余。
技术实现思路
本专利技术提供了一种基于区块链技术一致性算法的数据管理方法及系统,对区块链中的区块进行有效性验证,构建了一套有效的正向激励措施。本专利技术解决上述技术问题的技术方案如下:提供了一种基于区块链技术一致性算法的数据管理方法,包括:S1,所有参与的服务器组成一个网络,每一个服务器作为网络中的一个节点,从网络中所有节点中确定一个作为维护节点,其它的作为普通节点;S2,初始化区块链,每一个节点中均配置有该区块链,区块链中包含多个区块,每个区块中存储有一部分数据,整个区块链中存储有整套数据;S3,维护节点从所有的节点中确定第一预定数量的节点作为网络中的代表节点,并配置所述代表节点产生区块的顺序和时间段;S4,当代表节点中的一个节点产生新区块后,广播到全网中,当确定该新区块为有效时,全网中的节点根据该新区块,对初始区块链进行更新。为了解决本专利技术的技术问题,还提供了一种基于区块链技术一致性算法的数据管理系统,包括多个服务器,所述多个服务器组成一个网络,每一个服务器作为网络中的一个节点,并从全网所有的节点中确定一个作为维护节点,其它的作为普通节点;每一个节点中均包括:初始化模块,用于初始化区块链,其中,每一个节点中均配置有该区块链,区块链中包含多个区块,每个区块中存储有一部分数据,整个区块链中存储有整套数据;更新模块,用于当接收到代表节点中的一个节点广播的新区块,且该新区块为有效时,根据该新区块对初始区块链进行更新;所述维护节点还包括:代表节点确定模块,用于从所有的节点中确定第一预定数量的节点作为网络中的代表节点;配置模块,用于配置所述代表节点产生区块的顺序和时间段。本专利技术提供的一种基于区块链技术一致性算法的数据管理方法及系统,对网络中的节点产生的区块进行有效性验证,保证了数据的安全性,另外,为了提高全网区块链的整体效率,描述了一种可应用到区块链中的数据一致性算法规则:公益参与证明机制Participatedproofofpublicgood(PPOPG),其定义了一种网络中节点产生区块的规则,提高了区块链的整体效率,构建了有效的正向激励措施,保证整个网络系统良好运行。附图说明图1为实施例1的一种基于区块链技术一致性算法的数据管理方法流程图;图2为实施例2的一种基于区块链技术一致性算法的数据管理系统框图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。实施例1、一种基于区块链技术一致性算法的数据管理方法。参见图1,本实施例提供的基于区块链技术一致性算法的数据管理方法包括:S1,所有参与的服务器组成一个网络,每一个服务器作为网络中的一个节点,从网络中所有节点中确定一个作为维护节点,其它的作为普通节点;S2,初始化区块链,每一个节点中均配置有该区块链,区块链中包含多个区块,每个区块中存储有一部分数据,整个区块链中存储有整套数据;S3,维护节点从所有的节点中确定第一预定数量的节点作为网络中的代表节点,并配置所述代表节点产生区块的顺序和时间段;S4,当代表节点中的一个节点产生新区块后,广播到全网中,当确定该新区块为有效时,全网中的节点根据该新区块,对初始区块链进行更新。下面对上述步骤进行具体介绍。初始将所有参与其中的服务器组成一个网络,每一个服务器作为网络中的一个节点,并从网络的所有节点中确定一个作为维护节点,其它的节点作为普通节点,维护节点主要负责对全网中所有节点的管理和维护。初始化区块链,网络中的每一个节点均配置有给初始化的区块链,区块链中包含有多个区块,每一个区块中存储有一部分数据,整个区块链中存储有整套数据。对于整个网络中的所有节点,维护节点将所有的节点按照节点的运算能力、网络传输状况、节点服务器的稳定性和安全性作为考量进行综合排序,将排序靠前的第一预定数量的节点作为整个网络中的代表节点。需要说明的是,本实施例设置代表节点的淘汰机制,即全网的代表节点不是一成不变的,而是动态变化的。网络中的维护节点会定期对所有的节点进行按照上述的条件进行综合排序,并确定其中排序靠前的第一预定数量的节点作为全网中的代表节点。比如,维护节点会每隔一小时对全网中的1000个节点进行排序,确定排序靠前的100个节点作为全网中的代表节点,那么,基本上每隔一小时,网络中的代表节点是变化的,这样可以保证整个网络中的代表节点的性能比较好,保证整个网络的稳定性,也保证整个网络的合理去中心化。当在某一时间段确定了网络中的代表节点后,维护节点配置这些代表节点产生区块的顺序和时间段。当代表节点中的一个节点产生新区块后,广播到全网中,当确定该新区块为有效时,全网中的节点根据该新区块,对初始区块链进行更新。确定新区块是否为有效的具体方法是:当在某一时刻某代表节点中的一个节点产生新区块后,广播到全网中,接收到该新区块的其它代表节点验证该新区块是否有效,比如,当前区块的产生者是否正确,包括产生该区块的节点是否为代表节点以及本时间段是否为该代表节点产生区块,区块本身的数据生成规则是否正确,包含数据的存储格式是否正确,加密验证规则是否正确,是否和上一个区块衔接正确。当验证有效时,代表节点存储该新区块;当其它代表节点中超过第二预定数量(通常为代表节点中的一半)的代表节点存储了该新区块后,该区块被确定为有效区块,全网中的节点均存储该新区块,对当前区块链进行更新。此外,对于一定时间段通过综合排序确定的代表节点,也会定期进行优化,比如,当代表节点经常出现异常,如产生错误区块、产生的区块广播不及时、节点服务器经常掉线或者存储新区块不及时等情况,维护节点会剔除该代表节点,重新选拨新代表节点将其替代,通常是选择第一预定数量的后面一个节点代替该代表节点,使得网络中保持第一预定数量的代表节点。同时,维护节点发送报警信息给被代替的节点,提醒其自身进行优化。本实施例为了激励网络中的每一个节点能够更好的参与网络,提升优化自身,计算全网中的每一个节点的贡献值,当节点的贡献值大时,能够促进节点的参与,当节点的贡献值小时,促进节点进行自身的提升优化。其中,计算全网的每一个节点的贡献值具体为:分别统计全网中每一个节点的在线时长,即节点加入网络的时刻到当前的总在线时长、该节点作为代表节点的在线时长,该节点被选为代表节点直至当次不再选为代表节点在线时长的总和、该节点产生的区块量,即节点作为代表节点时,产生的区块的总数量,以及该节点产生区块的数据量,节点作为代表节点时,产生的区块中存储数据的容量。每一个节点的贡献值为:节点贡献值=该节点在线时长/全网总时长*第一贡本文档来自技高网...
一种基于区块链技术一致性算法的数据管理方法及系统

【技术保护点】
一种基于区块链技术一致性算法的数据管理方法,其特征在于,包括:S1,所有参与的服务器组成一个网络,每一个服务器作为网络中的一个节点,从网络中的所有节点中确定一个作为维护节点,其它的作为普通节点;S2,初始化区块链,每一个节点中均配置有该区块链,区块链中包含多个区块,每个区块中存储有一部分数据,整个区块链中存储有整套数据;S3,维护节点从所有的节点中确定第一预定数量的节点作为网络中的代表节点,并配置所述代表节点产生区块的顺序和时间段;S4,当代表节点中的一个节点产生新区块后,广播到全网中,当确定该新区块为有效时,全网中的节点根据该新区块,对初始区块链进行更新。

【技术特征摘要】
1.一种基于区块链技术一致性算法的数据管理方法,其特征在于,包括:S1,所有参与的服务器组成一个网络,每一个服务器作为网络中的一个节点,从网络中的所有节点中确定一个作为维护节点,其它的作为普通节点;S2,初始化区块链,每一个节点中均配置有该区块链,区块链中包含多个区块,每个区块中存储有一部分数据,整个区块链中存储有整套数据;S3,维护节点从所有的节点中确定第一预定数量的节点作为网络中的代表节点,并配置所述代表节点产生区块的顺序和时间段;S4,当代表节点中的一个节点产生新区块后,广播到全网中,当确定该新区块为有效时,全网中的节点根据该新区块,对初始区块链进行更新。2.如权利要求1所述的基于区块链技术一致性算法的数据管理方法,其特征在于,所述步骤S3从所有的节点中确定第一预定数量的节点作为网络中的代表节点具体包括:维护节点将全网中包括维护节点在内的所有节点按照运算能力、网络传输状况、服务器稳定性和安全性进行综合排序,将排序靠前的预定数量的节点作为网络中的代表节点。3.如权利要求2所述的基于区块链技术一致性算法的数据管理方法,其特征在于,维护节点定期对全网中所有的节点进行综合排序,并按照综合排序重新确定靠前的第一预定数量的节点作为网络中的代表节点。4.如权利要求3所述的基于区块链技术一致性算法的数据管理方法,其特征在于,所述步骤S4具体包括:当代表节点中的一个节点产生新区块后,广播到全网中,接收到该新区块的其它代表节点验证该新区块是否有效,当有效时,其它代表节点存储该新区块;当其它代表节点中超过第二预定数量的代表节点存储了该新区块后,该区块被确定为有效区块,全网中的节点均存储该新区块,对当前区块链进行更新。5.如权利要求1-4任一项所述的基于区块链技术一致性算法的数据管理方法,其特征在于,还包括:计算全网中的每一个节点的贡献值,其中,分别统计全网中每一个节点的在线时长、该节点作为代表节点的在线时长、该节点产生的区块量以及该节点产生区块的数据量;每一个节点的贡献值为:节点贡献值=该节点在线时长/全网总时长*第一贡献系数+该节点作为代表节点的在线时长/全网总时长*第二贡献系数+该节点产生的区块量/区块链中区块的总量*第三贡献系数+该节点产生区块的数据量/区块链中存储数据的总容量*第四贡献系数。6.如权利要求5所述的基于区块链技术一致性算法的数据管理...

【专利技术属性】
技术研发人员:王文欢尚书丞杨炯
申请(专利权)人:弗洛格武汉信息科技有限公司
类型:发明
国别省市:湖北;42

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

1