一种基于区块链的共识算法实现方法

文档序号:38329 发布日期:2021-09-24 浏览:22次 >En<

阅读说明:本技术 一种基于区块链的共识算法实现方法 (Consensus algorithm implementation method based on block chain ) 是由 路博 宋志明 戚惠敏 杨成林 白建武 严彪 吴金彪 唐迎旭 于 2021-08-30 设计创作,主要内容包括:本发明涉及一种基于区块链的共识算法实现方法,涉及数据处理技术领域。本发明所述基于区块链的共识算法实现方法,通过将区块链和共识算法结合,使分布式集群系统在进行数据处理时,具有区块链的特性,降低了共识算法的出错率,当各节点存储数据时,在数据进行共享的同时对各节点存储的数据进行一致性检查,以及对各节点建立信任机制,在该信任机制下,存储数据可以不被篡改,保证了各节点存储数据的一致性。并通过在区块链上设置节点响应时长,当节点未响应或响应时长较长时,选取对应的惩罚机制对该节点进行降低信任度惩罚,降低的数据出错率,从而进一步提高了共识算法的安全可靠性。(The invention relates to a block chain-based consensus algorithm implementation method, and relates to the technical field of data processing. The block chain and the consensus algorithm are combined, so that the distributed cluster system has the characteristics of the block chain when processing data, the error rate of the consensus algorithm is reduced, when each node stores data, the consistency of the data stored by each node is checked while the data is shared, and a trust mechanism is established for each node. And setting node response time length on the block chain, and selecting a corresponding punishment mechanism to carry out trust degree reduction punishment on the node when the node does not respond or the response time length is longer, so that the data error rate is reduced, and the safety and reliability of the consensus algorithm are further improved.)

一种基于区块链的共识算法实现方法

技术领域

本发明涉及数据处理

技术领域

,尤其涉及一种基于区块链的共识算法实现方法。

背景技术

区块链在实际应用层面作为一种分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点,从而保证了各区块之间的数据共享时的数据一致性,而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动因此,区块链被应用在了很多领域。

而共识算法在分布式集群系统中,最重要的一个难题就是集群系统中的各节点的数据一致性问题,一方面的原因是,数据对所有节点公开后,数据在某一个节点或者多个节点被非法篡改时,数据的一致性就很难保证,另一方面,节点支架的通讯并不可靠,导致数据传输时的延迟和阻塞,以及节点的处理时错误的或者节点宕机,都会造成数据不一致,从而进一步导致数据出错率高,数据处理性能较低,不够安全可靠。

发明内容

为此,本发明提供一种基于区块链的共识算法实现方法,用以克服现有技术中由于基于共识算法的数据处理系统的出错率高、数据易篡改导致数据不一致的问题。

为实现上述目的,本发明提供一种基于区块链的共识算法实现方法,包括:

步骤S1,将待存储的数据写入区块链并在写入数据完成时对区块链上的每个节点写入的数据进行检查以确保每个节点都存储了待存储数据且每个节点输入数据与待存储数据一致;

步骤S2,为区块链上的每个节点建立初始信任度Q0,并将该初始信任度作为该区块的唯一标识;

步骤S3,在区块链上建立定时抽查频率和/或在进行数据更新时对区块进行抽查;

在所述步骤S3中,在所述区块链上设置有预设抽查比例B0,当对区块链上节点进行抽查时,根据预设的抽查比例B0随机选取区块链上的节点进行抽查并比对所有节点的数据一致性,所有节点的数据一致,则结束此次抽查,若其中至少一个节点数据不一致,则获取该节点以往抽查记录,并调取该节点的实际信任度Q,若该节点的实际信任度Q低于初始信任度Q0,则根据该节点实际信任度Q所处的实际信任度范围选取对应的信任度调节系数对该节点作出惩罚,当该节点的实际信任度Q低于初始信任度Q0,区块链提取该节点不一致数据的数据量U,并根据不一致数据量U选取对应的信任度调节系数对该节点作出惩罚;

在所述步骤S3中,当对各节点进行抽查时,区块链还根据被抽查节点是否响应以及响应时长t对被检查节点进行对应的信任度降低惩罚,在被抽查节点未响应或响应时长t超出预设响应时长t0时,获取该节点的实际信任度Q,并将该节点实际响应时长t和预设响应时长t0的进行比对,根据比对结果选取对应的信任度范围修正系数对预设信任度范围进行修正,在修正完成时选取修正后的预设信任度范围对应的信任度调节系数范围中的信任度调节系数对该节点进行降低信任度惩罚。

进一步地,当对所述区块链的节点按照预设的抽查比例B0进行抽查且其中一个节点数据不一致且该节点的实际信任度Q低于初始信任度Q0时,将该节点的实际信任度与预设信任度范围进行比对并根据比对结果选取对应的信任度调节系数范围以对节点进行降低信任度惩罚,

其中,所述区块链上还设置有第一预设信任度范围F1、第二预设信任度范围F2、第三预设信任度范围F3、第一信任度调节系数范围K1、第二信任度调节系数范围K2以及第三信任度调节系数范围K3,其中F1>F2>F3,设定1>K1>K2>K3>0.5,

当Q∈F1时,选取第一信任度调节系数范围K1以对节点进行降低信任度惩罚;

当Q∈F2时,选取第二信任度调节系数范围K2以对节点进行降低信任度惩罚;

当Q∈F3时,选取第三信任度调节系数范围K3以对节点进行降低信任度惩罚。

进一步地,当选取第i信任度调节系数范围Ki对节点进行降低信任度惩罚时,设定i=1,2,3,所述区块链计算该节点的实际信任度Q与对应的实际信任度范围内的信任度最大值Qmax的差值ΔQ,并根据该差值选取对应的信任度调节系数范围内的信任度调节系数对该节点进行降低信任度惩罚,

其中,所述区块链上还设有第一信任度差值ΔQ1、第二信任度差值ΔQ2、第三信任度差值ΔQ3、第一信任度调节系数k1、第二信任度调节系数k2以及第三信任度调节系数k3,其中ΔQ1<ΔQ2<ΔQ3,k1<k2<k3,

当ΔQ1≤ΔQ<ΔQ2时,选取第i信任度调节系数范围Ki内的第一信任度调节系数k1对节点进行降低信任度惩罚;

当ΔQ2≤ΔQ<ΔQ3时,选取第i信任度调节系数范围Ki内的第二信任度调节系数k2对节点进行降低信任度惩罚;

当ΔQ≥ΔQ3时,选取第i信任度调节系数范围Ki内的第三信任度调节系数k3对节点进行降低信任度惩罚。

进一步地,当选取第i信任度调节系数范围Ki对节点进行降低信任度惩罚且获取不一致数据量时,将获取的不一致数据量U与预设不一致数据量进行比对,根据比对结果选取对应的信任度范围调节系数对预设信任度范围进行调节,

其中,所述区块链上还设有第一不一致数据量U1、第二不一致数据量U2、第三不一致数据量U3、第一信任度范围调节系数D1、第二信任度范围调节系数D2以及信任度范围调节系数D3,其中U1<U2<U3,0.8>D1>D2>D3>0.5,

当U1≤U<U2时,选取第一信任度范围调节系数D1对预设信任度范围进行调节;

当U2≤U<U3时,选取第二信任度范围调节系数D2对预设信任度范围进行调节;

当U≥U3时,选取第三信任度范围调节系数D3对预设信任度范围进行调节;

当选取第j信任度范围调节系数Dj对预设信任度范围进行调节时,设定i=1,2,3,将调节完成的预设信任度范围设置为F',设定F'=Fi×Dj。

进一步地,当获取不一致数据量时,所述区块链上还设有预设最大不一致数据量Umax,在获取不一致数据量完成时,将实际获取的不一致数据量U与预设最大不一致数据量Umax进行比对,若U≥Umax,区块链选取该节点信任度Q所在预设信任度范围的下一预设信任度范围对应的信任度调节系数范围中的第二信任度调节系数对节点进行降低信任度惩罚。

进一步地,所述预设响应时长t0包括第一预设响应时长t1,第二预设响应时长t2以及第三预设响应时长t3,当对所述节点进行抽查时,若该节点在第三预设响应时长内未响应,则直接选取第三信任度调节系数范围中的第三信任度调节系数对节点进行信任度降低惩罚,若该节点在第三预设时长内响应,则获取该节点的实际响应时长t并将该实际响应时长与预设响应时长进行比对,根据比对结果选取对应的信任度范围修正系数对预设信任度范围进行修正,在修正完成时选取修正后的预设信任度范围对应的信任度调节系数范围中的信任度调节系数对该节点进行降低信任度惩罚。

进一步地,当对预设信任度范围进行修正时,所述区块链上还设有第一预设预设信任度范围修正系数x1、第二预设信任度范围修正系数x2以及第三预设信任度范围修正系数,设定1<x2<x3<0.8,

当t<t1时,选取第一预设信任度范围修正系数x1对预设信任度范围进行修正;

当t1≤t<t2时,选取第一预设信任度范围修正系数x1对预设信任度范围进行修正;

当t<2t≤t3时,选取第一预设信任度范围修正系数x1对预设信任度范围进行修正;

当选取第s预设信任度范围修正系数xs对预设信任度范围进行修正时,设定s=1,2,3,将修正完成的预设信任度范围设置为F'',设定F''=F×xs。

进一步地,所述区块链上还设有预设信任度下限Qmin,当所述节点的实际信任度低于预设信任度下限时,将该节点从区块链上剔除。

与现有技术相比,本发明的有益效果在于,通过将区块链和共识算法结合,使分布式集群系统在进行数据处理时,具有区块链的特性,降低了共识算法的出错率,当各节点存储数据时,在数据进行共享的同时对各节点存储的数据进行一致性检查,以及对各节点建立信任机制,在该信任机制下,存储数据可以不被篡改,保证了各节点存储数据的一致性。

尤其,在该区块链上设置抽查比例,定期或者在进行数据更新时对所有节点数据一致性进行抽查,并在抽查过程中,获取该节点的实际信任度,当某一个节点的数据不一致时,对该节点作出信任度降低惩罚,在进行信任度降低惩罚时,根据节点的实际信任度所处的预设信任度范围的比对结果选取对应的信任度调节系数进行惩罚,降低了因数据被篡改导致数据不一致的可能性,从而提高了共识算法的安全可靠性。

尤其,通过在区块链上设置节点响应时长,当节点未响应或响应时长较长时,选取对应的惩罚机制对该节点进行降低信任度惩罚,降低的数据出错率,从而进一步提高了共识算法的安全可靠性。

进一步地,通过预设信任度范围和信任度范围调节系数,并当该节点的实际信任度低于初始信任度时,根据实际信任度所处预设设信任度范围选取对应的信任度调节系数范围对数据不一致的节点进行降低信任度惩罚,提高了对信任机制的控制精度,进一步降低了引出数据被篡改导致数据不一致的可能性,从而进一步提高了共识算法的安全可靠性。

进一步地,通过设置信任度差值和信任度调节系数,并当某一节点的实际信任度低于初始信任度且其数据不一致时,计算实际信任度和初始信任度的差值并根据该差值选取对应的信任度调节系数范围内的信任度调节系数以对该节点进行降低信任度惩罚,进一步提高了对信任机制的控制精度,进一步降低了引出数据被篡改导致数据不一致的可能性,从而进一步提高了共识算法的安全可靠性。

进一步地,通过设置不一致数据量和信任度范围调节系数,并当抽查时某一节点的数据不一致时,通过计算实际不一致的数据量对信任度范围进行调节,并在调节完成时,以调节后的信任度范围对应的信任度调节系数范围对该节点进行降低信任度惩罚,进一步提高了对信任机制的控制精度,进一步降低了引出数据被篡改导致数据不一致的可能性,从而进一步提高了共识算法的安全可靠性。

进一步地,通过设置已损坏最大不一致数据量,当实际的不一致数据量超出预设最大不一致数据量时,选取该节点信任度Q所在预设信任度范围的下一预设信任度范围对应的信任度调节系数范围中的第二信任度调节系数对节点进行降低信任度惩罚,进一步提高了对信任机制的控制精度,进一步降低了引出数据被篡改导致数据不一致的可能性,从而进一步提高了共识算法的安全可靠性。

进一步地,通过设置预设响应时长,并根据某一节点的实际响应时长超出预设响应时长时,根据该节点的实际响应时长和预设响应时长的比对结果选取对应的预设信任度范围修正系数对预设信任度范围进行修正,并在修正完成时,确定实际信任度所在的修正后的预设信任度范围,并在确定完成时,选取对应的信任度调节系数范围以对节点进行降低信任度惩罚。

附图说明

图1为本发明所述一种基于区块链的共识算法实现方法的流程图。

具体实施方式

为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。

下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。

请参阅图1所示,为本发明所述一种基于区块链的共识算法实现方法的流程图。

本发明所述一种基于区块链的共识算法实现方法,包括:

步骤S1,将待存储的数据写入区块链并在写入数据完成时对区块链上的每个节点写入的数据进行检查以确保每个节点都存储了待存储数据且每个节点输入数据与待存储数据一致;

步骤S2,为区块链上的每个节点建立初始信任度Q0,并将该初始信任度作为该节点的唯一标识;

步骤S3,在区块链上建立定时抽查频率和/或在进行数据更新时对节点进行抽查;

在所述步骤S3中,在所述区块链上设置有预设抽查比例B0,当对区块链上节点进行抽查时,根据预设的抽查比例B0随机选取区块链上的节点进行抽查并比对所有节点的数据一致性,所有节点的数据一致,则结束此次抽查,若其中至少一个节点数据不一致,则获取该节点以往抽查记录,并调取该节点的实际信任度Q,若该节点的实际信任度Q低于初始信任度Q0,则根据该节点实际信任度Q所处的实际信任度范围选取对应的信任度调节系数对该节点作出惩罚,当该节点的实际信任度Q低于初始信任度Q0,区块链提取该节点不一致数据的数据量U,并根据不一致数据量U选取对应的信任度调节系数对该节点作出惩罚;

在所述步骤S3中,当对各节点进行抽查时,区块链还根据被抽查节点是否响应以及响应时长t对被检查节点进行对应的信任度降低惩罚,在被抽查节点未响应或响应时长t超出预设响应时长t0时,获取该节点的实际信任度Q,并根据该节点实际响应时长t和预设响应时长t0的进行比对,根据比对结果选取对应的信任度范围修正系数对预设信任度范围进行修正,在修正完成时选取修正后的预设信任度范围对应的信任度调节系数范围中的信任度调节系数对该节点进行降低信任度惩罚。

具体而言,通过将区块链和共识算法结合,使分布式集群系统在进行数据处理时,具有区块链的特性,降低了共识算法的出错率,当各节点存储数据时,在数据进行共享的同时对各节点存储的数据进行一致性检查,以及对各节点建立信任机制,在该信任机制下,存储数据可以不被篡改,保证了各节点存储数据的一致性。

尤其,在该区块链上设置抽查比例,定期或者在进行数据更新时对所有节点数据一致性进行抽查,并在抽查过程中,获取该节点的实际信任度,当某一个节点的数据不一致时,对该节点作出信任度降低惩罚,在进行信任度降低惩罚时,根据节点的实际信任度所处的预设信任度范围的比对结果选取对应的信任度调节系数进行惩罚,降低了因数据被篡改导致数据不一致的可能性,从而提高了共识算法的安全可靠性。

尤其,通过在区块链上设置节点响应时长,当节点未响应或响应时长较长时,选取对应的惩罚机制对该节点进行降低信任度惩罚,降低的数据出错率,从而进一步提高了共识算法的安全可靠性。

请继续参阅图1所示,本发明所述一种基于区块链的共识算法实现方法,当对所述区块链的节点按照预设的抽查比例B0进行抽查且其中一个节点数据不一致且该节点的实际信任度Q低于初始信任度Q0时,将该节点的实际信任度与预设信任度范围进行比对并根据比对结果选取对应的信任度调节系数范围以对节点进行降低信任度惩罚,

其中,所述区块链上还设置有第一预设信任度范围F1、第二预设信任度范围F2、第三预设信任度范围F3、第一信任度调节系数范围K1、第二信任度调节系数范围K2以及第三信任度调节系数范围K3,其中F1>F2>F3,设定1>K1>K2>K3>0.5,

当Q∈F1时,选取第一信任度调节系数范围K1以对节点进行降低信任度惩罚;

当Q∈F2时,选取第二信任度调节系数范围K2以对节点进行降低信任度惩罚;

当Q∈F3时,选取第三信任度调节系数范围K3以对节点进行降低信任度惩罚。

具体而言,通过预设信任度范围和信任度范围调节系数,并当该节点的实际信任度低于初始信任度时,根据实际信任度所处预设设信任度范围选取对应的信任度调节系数范围对数据不一致的节点进行降低信任度惩罚,提高了对信任机制的控制精度,进一步降低了引出数据被篡改导致数据不一致的可能性,从而进一步提高了共识算法的安全可靠性。

请继续参阅图1所示,本发明所述一种基于区块链的共识算法实现方法,当选取第i信任度调节系数范围Ki对节点进行降低信任度惩罚时,设定i=1,2,3,所述区块链计算该节点的实际信任度Q与对应的实际信任度范围内的信任度最大值Qmax的差值ΔQ,并根据该差值选取对应的信任度调节系数范围内的信任度调节系数对该节点进行降低信任度惩罚,

其中,所述区块链上还设有第一信任度差值ΔQ1、第二信任度差值ΔQ2、第三信任度差值ΔQ3、第一信任度调节系数k1、第二信任度调节系数k2以及第三信任度调节系数k3,其中ΔQ1<ΔQ2<ΔQ3,k1<k2<k3,

当ΔQ1≤ΔQ<ΔQ2时,选取第i信任度调节系数范围Ki内的第一信任度调节系数k1对节点进行降低信任度惩罚;

当ΔQ2≤ΔQ<ΔQ3时,选取第i信任度调节系数范围Ki内的第二信任度调节系数k2对节点进行降低信任度惩罚;

当ΔQ≥ΔQ3时,选取第i信任度调节系数范围Ki内的第三信任度调节系数k3对节点进行降低信任度惩罚。

具体而言,通过设置信任度差值和信任度调节系数,并当某一节点的实际信任度低于初始信任度且其数据不一致时,计算实际信任度和初始信任度的差值并根据该差值选取对应的信任度调节系数范围内的信任度调节系数以对该节点进行降低信任度惩罚,进一步提高了对信任机制的控制精度,进一步降低了引出数据被篡改导致数据不一致的可能性,从而进一步提高了共识算法的安全可靠性。

请继续参阅图1所示,本发明所述一种基于区块链的共识算法实现方法,当选取第i信任度调节系数范围Ki对节点进行降低信任度惩罚且获取不一致数据量时,将获取的不一致数据量U与预设不一致数据量进行比对,根据比对结果选取对应的信任度范围调节系数对预设信任度范围进行调节,

其中,所述区块链上还设有第一不一致数据量U1、第二不一致数据量U2、第三不一致数据量U3、第一信任度范围调节系数D1、第二信任度范围调节系数D2以及信任度范围调节系数D3,其中U1<U2<U3,1<D1<D2<D3<0.5,

当U1≤U<U2时,选取第一信任度范围调节系数D1对预设信任度范围进行调节;

当U2≤U<U3时,选取第二信任度范围调节系数D2对预设信任度范围进行调节;

当U≥U3时,选取第三信任度范围调节系数D3对预设信任度范围进行调节;

当选取第j信任度范围调节系数Dj对预设信任度范围进行调节时,设定i=1,2,3,将调节完成的预设信任度范围设置为F',设定F'=Fi×Dj。

具体而言,通过设置不一致数据量和信任度范围调节系数,并当抽查时某一节点的数据不一致时,通过计算实际不一致的数据量对信任度范围进行调节,并在调节完成时,以调节后的信任度范围对应的信任度调节系数范围对该节点进行降低信任度惩罚,进一步提高了对信任机制的控制精度,进一步降低了引出数据被篡改导致数据不一致的可能性,从而进一步提高了共识算法的安全可靠性。

请继续参阅图1所示,本发明所述一种基于区块链的共识算法实现方法,当获取不一致数据量时,所述区块链上还设有预设最大不一致数据量Umax,在获取不一致数据量完成时,将实际获取的不一致数据量U与预设最大不一致数据量Umax进行比对,若U≥Umax,区块链选取该节点信任度Q所在预设信任度范围的下一预设信任度范围对应的信任度调节系数范围中的第二信任度调节系数对节点进行降低信任度惩罚。

具体而言,通过设置已损坏最大不一致数据量,当实际的不一致数据量超出预设最大不一致数据量时,选取该节点信任度Q所在预设信任度范围的下一预设信任度范围对应的信任度调节系数范围中的第二信任度调节系数对节点进行降低信任度惩罚,进一步提高了对信任机制的控制精度,进一步降低了引出数据被篡改导致数据不一致的可能性,从而进一步提高了共识算法的安全可靠性。

请继续参阅图1所示,本发明所述一种基于区块链的共识算法实现方法,所述预设响应时长t0包括第一预设响应时长t1,第二预设响应时长t2以及第三预设响应时长t3,当对所述节点进行抽查时,若该节点在第三预设响应时长内未响应,则直接选取第三信任度调节系数范围中的第三信任度调节系数对节点进行信任度降低惩罚,若该节点在第三预设时长内响应,则获取该节点的实际响应时长t并将该实际响应时长与预设响应时长进行比对,根据比对结果选取对应的信任度范围修正系数对预设信任度范围进行修正,在修正完后时选取修正后的预设信任度范围对应的信任度调节系数范围中的信任度调节系数对该节点进行降低信任度惩罚。

请继续参阅图1所示,本发明所述一种基于区块链的共识算法实现方法,当对预设信任度范围进行修正时,所述区块链上还设有第一预设预设信任度范围修正系数x1、第二预设信任度范围修正系数x2以及第三预设信任度范围修正系数,设定1<x1<x2<x3<0.8,

当t<t1时,选取第一预设信任度范围修正系数x1对预设信任度范围进行修正;

当t1≤t<t2时,选取第一预设信任度范围修正系数x1对预设信任度范围进行修正;

当t<2t≤t3时,选取第一预设信任度范围修正系数x1对预设信任度范围进行修正;

当选取第s预设信任度范围修正系数xs对预设信任度范围进行修正时,设定s=1,2,3,将修正完成的预设信任度范围设置为F'',设定F''=F×xs。

具体而言,通过设置预设响应时长,并根据某一节点的实际响应时长超出预设响应时长时,根据该节点的实际响应时长和预设响应时长的比对结果选取对应的预设信任度范围修正系数对预设信任度范围进行修正,并在修正完成时,确定实际信任度所在的修正后的预设信任度范围,并在确定完成时,选取对应的信任度调节系数范围以对节点进行降低信任度惩罚。

请继续参阅图1所示,本发明所述一种基于区块链的共识算法实现方法,所述区块链上还设有预设信任度下限Qmin,当所述节点的实际信任度低于预设信任度下限时,将该节点从区块链上剔除。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种低延迟终端同步系统及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类