CN113438109A - 一种基于网络节点的区块链协议升级方法及系统 - Google Patents

一种基于网络节点的区块链协议升级方法及系统 Download PDF

Info

Publication number
CN113438109A
CN113438109A CN202110695417.4A CN202110695417A CN113438109A CN 113438109 A CN113438109 A CN 113438109A CN 202110695417 A CN202110695417 A CN 202110695417A CN 113438109 A CN113438109 A CN 113438109A
Authority
CN
China
Prior art keywords
protocol
version
block chain
block
upgrading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110695417.4A
Other languages
English (en)
Other versions
CN113438109B (zh
Inventor
周利均
杨霖
冉小波
王志坚
李超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Prophecy Machine Chongqing Technology Co ltd
Original Assignee
Prophecy Machine Chongqing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Prophecy Machine Chongqing Technology Co ltd filed Critical Prophecy Machine Chongqing Technology Co ltd
Priority to CN202110695417.4A priority Critical patent/CN113438109B/zh
Publication of CN113438109A publication Critical patent/CN113438109A/zh
Application granted granted Critical
Publication of CN113438109B publication Critical patent/CN113438109B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Abstract

本发明公开一种基于网络节点的区块链协议升级方法及系统,方法包括,基于区块链底层设计,添加协议模块,将程序协议版本信息加入区块中,构建区块链;基于区块链,发布新版节点程序,采集区块链的每个节点服务器的升级进度以及区块链的出块数,获得区块链的版本升级进度;基于版本升级进度,通过拜占庭算法统计协议版本,对区块链进行协议升级;系统包括,区块链构建模块,版本升级进度跟踪模块,区块链协议升级模块;本发明提供的协议升级采用两个阶段的升级方式,具有更多的时间给予未升级的节点进行升级,在全网达成共识,同时保证在这个过程中全网正常记账出块,维持网络安全和稳定。

Description

一种基于网络节点的区块链协议升级方法及系统
技术领域
本发明涉及区块链领域,具体涉及一种基于网络节点的区块链协议升级方法及系统。
背景技术
随着区块链技术的发展,区块链节点的程序需要进行升级更新,来维护区块链的安全,满足新的业务需求和网络性能。区块链账本是多节点组成的网络共同维护的,区块链节点的程序升级不能像传统互联网产品那样,通过中心化的服务器对程序进行统一升级,需要各个节点的维护者通过各自的服务器对节点程序进行升级,程序升级后还要实现全网协议达成共识。现在在协议达成共识这一步,不同区块链实现方法不同,主要是通过不同的共识机制,或分批共识的方式实现,这些方式实现稍显复杂,异常情况处理成本高。
节点程序升级后还要实现全网协议达成共识,但是如果不能保证网络中所有的节点在同一时刻升级成功并且达成版本一致性,这容易导致有节点与整个网络协议不一致,无法形成数据共识导致连硬分叉,或者无法接入网络,在平滑完成协议升级的过程,是需要用户无感的,目前一些区块链协议升级时,会使用户暂时不能使用区块链业务。要进行平滑的对协议变更进行过度,急需一套协议升级的方法,实现在不停止网络的情况下,平滑的完成整个网络节点协议的变更。
发明内容
为了解决现有技术问题,本发明提供了一种基于网络节点的区块链协议升级方法,包括以下步骤:
基于区块链底层设计,添加协议模块,将程序协议版本信息加入区块中,构建区块链,其中,协议模块用于通过程序协议版本信息管理区块链的协议版本;
基于区块链,发布新版节点程序,采集区块链的每个节点服务器的升级进度以及区块链的出块数,获得区块链的版本升级进度,其中,出块数用于表示区块链根据新版节点程序生成新区块的数量;
基于版本升级进度,通过拜占庭算法统计协议版本,对区块链进行协议升级。
优选地,在构建区块链的过程中,在区块中添加的程序协议版本信息至少包括第一版本号、每个统计区间内的第一最小生效比例、协议生效要满足的第一连续区间数。
优选地,将第一版本号、第一最小生效比例、第一连续区间数添加到区块头的扩展字段中。
优选地,在获得区块链的版本升级进度的过程中,采集新版节点程序的第二版本号,与第一版本号进行比较,获得第一比较结果;
采集新区块的区块头的第二最小生效比例,与第一最小生效比例进行比较,获得第二比较结果;
采集新区块的区块头的第二连续区间数,与第一连续区间数进行比较,获得第三比较结果;
根据第一比较结果、第二比较结果、第三比较结果,获得版本升级进度。
优选地,如果第二版本号小于第一版本号,则拒绝更新新版节点程序;
如果第二版本号大于第一版本号,则同意更新新版节点程序。
优选地,在同意更新新版节点程序的过程后,
如果第二最小生效比例小于第一最小生效比例,则拒绝生成新区块;
如果第二最小生效比例大于第一最小生效比例,则同意生成新区块。
优选地,在同意生成新区块的过程时,
如果第二连续区间数小于第一连续区间数,则拒绝生成新区块;
如果第二连续区间数大于第一连续区间数,则同意生成新区块。
优选地,在对区块链进行协议升级的过程中,基于第二比较结果和第三比较结果,设置计数器;
当同时满足第二比较结果和第三比较结果时,计数器为1;
当计数器为100时,区块链升级成功。
优选地,在添加协议模块的过程中,基于协议模块,设置公共回调接口,区块链的每个业务模块以及新区块与公共回调接口连接,
其中,
公共回调接口用于根据第一比较结果、第二比较结果,对新版节点程序进行逻辑滚回;
公共回调接口用于在拒绝更新新版节点程序时,停止组装和发布新版节点程序;
公共回调接口用于清除旧协议缓存,重置待打包队列。
一种基于区块链的网络节点协议升级系统,包括,
区块链构建模块,用于基于区块链底层设计,添加协议模块,将程序协议版本信息加入区块中,构建区块链,其中,协议模块用于通过程序协议版本信息管理区块链的协议版本;
版本升级进度跟踪模块,用于基于区块链,发布新版节点程序,采集区块链的每个节点服务器的升级进度以及区块链的出块数,获得区块链的版本升级进度,其中,出块数用于表示区块链根据新版节点程序生成新区块的数量;
区块链协议升级模块,用于基于版本升级进度,通过拜占庭算法统计协议版本,对区块链进行协议升级。
本发明公开了以下技术效果:
本发明提供的方法相比普通的直接升级节点的方式,协议升级采用两个阶段的升级方式,其优点是有更多的时间给予未升级的节点进行升级,在全网达成共识,同时保证在这个过程中全网正常记账出块,维持网络安全和稳定。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还根据这些附图获得其他的附图。
图1为本发明实施例所述的技术流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供了一种基于网络节点的区块链协议升级方法,包括以下步骤:
基于区块链底层设计,添加协议模块,将程序协议版本信息加入区块中,构建区块链,其中,协议模块用于通过程序协议版本信息管理区块链的协议版本;
基于区块链,发布新版节点程序,采集区块链的每个节点服务器的升级进度以及区块链的出块数,获得区块链的版本升级进度,其中,出块数用于表示区块链根据新版节点程序生成新区块的数量;
基于版本升级进度,通过拜占庭算法统计协议版本,对区块链进行协议升级。
在构建区块链的过程中,在区块中添加的程序协议版本信息至少包括第一版本号、每个统计区间内的第一最小生效比例、协议生效要满足的第一连续区间数。
将第一版本号、第一最小生效比例、第一连续区间数添加到区块头的扩展字段中。
在获得区块链的版本升级进度的过程中,采集新版节点程序的第二版本号,与第一版本号进行比较,获得第一比较结果;
采集新区块的区块头的第二最小生效比例,与第一最小生效比例进行比较,获得第二比较结果;
采集新区块的区块头的第二连续区间数,与第一连续区间数进行比较,获得第三比较结果;
根据第一比较结果、第二比较结果、第三比较结果,获得版本升级进度。
如果第二版本号小于第一版本号,则拒绝更新新版节点程序;
如果第二版本号大于第一版本号,则同意更新新版节点程序。
在同意更新新版节点程序的过程后,
如果第二最小生效比例小于第一最小生效比例,则拒绝生成新区块;
如果第二最小生效比例大于第一最小生效比例,则同意生成新区块。
在同意生成新区块的过程时,
如果第二连续区间数小于第一连续区间数,则拒绝生成新区块;
如果第二连续区间数大于第一连续区间数,则同意生成新区块。
在对区块链进行协议升级的过程中,基于第二比较结果和第三比较结果,设置计数器;
当同时满足第二比较结果和第三比较结果时,计数器为1;
当计数器为100时,区块链升级成功。
在添加协议模块的过程中,基于协议模块,设置公共回调接口,区块链的每个业务模块以及新区块与公共回调接口连接,
其中,
公共回调接口用于根据第一比较结果、第二比较结果,对新版节点程序进行逻辑滚回;
公共回调接口用于在拒绝更新新版节点程序时,停止组装和发布新版节点程序;
公共回调接口用于清除旧协议缓存,重置待打包队列。
一种基于区块链的网络节点协议升级系统,包括,
区块链构建模块,用于基于区块链底层设计,添加协议模块,将程序协议版本信息加入区块中,构建区块链,其中,协议模块用于通过程序协议版本信息管理区块链的协议版本;
版本升级进度跟踪模块,用于基于区块链,发布新版节点程序,采集区块链的每个节点服务器的升级进度以及区块链的出块数,获得区块链的版本升级进度,其中,出块数用于表示区块链根据新版节点程序生成新区块的数量;
区块链协议升级模块,用于基于版本升级进度,通过拜占庭算法统计协议版本,对区块链进行协议升级。
区块链是一个分布式账本,每一个被全网确认的区块都会被记录到各个节点中,因此所有节点在相同区块高度得到数据是一致的。根据这个特性在区块头中加入版本信息可以使全网节点共同维护版本号,并且达成一致。一旦有节点恶意发布了不同的版本,其他节点不会认可。本发明在区块头中加入两种版本信息可以识别在升级的过程中的版本信息:1、全网正在生效的版本号。2、发布区块节点自己的版本号。在没有进行协议升级时,1、2是一致的。
通过解析区块头中的版本信息,进行动态统计、升级、回退,每保存一个区块或者回滚一个区块时,都会读取区块头中的版本号,动态统计版本比例信息,决定是否进行协议升级。主版本号不允许跨版本升级,次版本号允许跨版本升级。
在全网满足升级版本占有比例后,协议生效要满足的连续区间数,例如每1000个区块为一个统计区间,统计区块头中版本号的分布比例,并且保存节点本地(key=height,value=版本信息,连续确认次数等等);
版本占比大于某个阈值(必须大于80%)时,就能确定该统计区间内的版本号,当连续100(配置项)个统计区间内的占比最大版本号保持连续时,主网执行协议升级。
如果没有版本号占比大于阈值,沿用当前生效版本号作为当前区间的版本号;
如果中途有统计区间版本号波动,则重新开始统计;
协议升级技术采用两个阶段来进行升级,第一阶段各节点管理者进行程序更新的阶段。第二个阶段是在达到第一个阶段的条件后持续指定的区块确认数,然后全网在相同的高度一起采用新的协议版本来验证和确认区块,即协议升级完成。
在开始进行协议升级时,第一个阶段节点出块时只会变更自己的版本号为升级的目标版本号,不会变更全网正在生效的版本号。这时全网的节点互相收集对等节点的版本信息,通过拜占庭算法统计是否完成第一阶段。第二阶段是需要全网维持第一个阶段的结果,并且持续指定的区块确认数,在这个过程中还会在相同的高度对第一阶段的结果进行检查。完成第二个阶段后,在相同的高度生效新的协议版本。
因此协议升级的核心是:1、全网节点需要保证通过配置的参数,结合拜占庭算法,计算出开始协议升级的第二个阶段的高度,必须是相同的。2、在第二个阶段中维持相同的区块确认数,并多次在相同的区块高度进行检查。3、在相同的高度通过新协议来发布和验证区块。
相比普通的直接升级节点的方式,协议升级采用两个阶段的升级方式,其优点是可以有更多的时间给予未升级的节点进行升级,在全网达成更多的共识,同时保证在这个过程中全网正常记账出块,维持网络安全和稳定。如果只有第一个阶段,容易抛下一些本来要更新但未来得及更新的节点,或导致网络分叉和不稳定,协议升级的最终目的是为了让全网达成新的共识,并安全稳定的过渡,而不是为了立刻抛下没有共识的节点。通过实践也证明了协议升级是很适合区块链这种去中心化网络的升级方式。
延迟升级:
假定当前版本号为1.0,待升级版本号1.1,但是1.1版本升级过程中发现了BUG;
通过降低新协议1.1比例来重置协议升级过程,使得主网版本持续定留在旧版本1.0,修复新协议1.1BUG后,再重启升级过程。
技术实现:
在区块链底层中设计加入了协议的模块,来管理区块链网络所有的协议版本。同时为了保证区块链的账本的一致性和可扩展性,需要将程序协议版本信息加入到区块中,协议的模块通过每一个区块所含的版本信息来识别版本和进行统计更新等。
协议版本的内容包括:版本号、每个统计区间内的最小生效比例、协议生效要满足的连续区间数。
版本号:当前全网生效的版本号,每一个区块(发布者)协议版本的编号。
每个统计区间内的最小生效比例:使用该版本的节点占全部节点数的百分比。
协议生效要满足的连续区间数:协议生效要满足的连续区间数:达到最小比例后,每N个块检查一次比例,仍然达到则累计一次计数,如果未达到重置计数器。
区块头的扩展字段(extend)添加多个字节的数据,具体如表1
表1
Figure BDA0003128116140000111
节点在发布区块时需要加入自己的协议版本信息到区块头中,而节点在验证其他节点发布的区块时,会和自己的协议版本进行比较,只接纳验证通过的区块。
而加入的区块头的协议版本信息包括:
1、当前网络生效的协议版本号effectiveVersion。
2、发布区块的节点自己的协议版本(包括版本号、每个统计区间内的最小生效比例、协议生效要满足的连续区间数)newVersion。
通常来说,在没有进行协议升级过程的时候,1、2的版本号是一致的。
版本管理
协议升级与协议版本管理是一个整体,协议模块中有一个总的处理器processor,对节点中各个业务模块的交易协议版本和网络消息的协议版本进行管理。根据生效的协议,调用对应的验证器对区块中的交易进行验证、提交或者回滚处理。
验证区块头协议
验证版本号当前节点在收到其他对等节点打包的区块时,先检查该区块的版本号,如果该区块的版本号小于当前节点的协议的版本号,则直接拒绝该区块。
生效比例:验证收到的区块头中的协议生效比例,如果小于当前节点的协议的生效比例,则直接拒绝该区块。
生效比例连续区间(区块数):
验证收到的区块头中的协议生效比例,如果小于当前节点的协议的生效比例,则直接拒绝该区块。
节点收到新的区块时,先验证区块头以及版本号与本地生效的协议进行匹配,区块头通过验证后,根据协议版本将区块中所有的交易分发到对应版本的验证器进行验证,验证通过该区块即可记入区块链,否则丢弃。通常情况下未升级时与协议升级过程中是需要兼容的。
进行协议升级
通常情况下,由于协议变更而导致新的协议与旧的不兼容,本发明要修改节点程序协议来进
行协议升级,而协议升级是指的一个升级过程,这个过程分两个阶段:
第一个阶段:
发布新版节点程序,等待全网节点服务器更新,区块链网络生效的协议版本仍然没变,发布和验证交易的协议新版本程序是兼容旧版本的。对用户来说,区块链网络仍是稳定的,节点升级是无感的。同时协议模块验证区块头版本信息时,会持续统计全网X%(新版本程序事先设定的比例)出块(记账)节点是否达到。
统计方式计算发布新版本区块的出块者占节点总数的百分比。
第二个阶段:
当第一个阶段达到X%的条件后,全网持续Y个确认(出块数),就更新全网版本。Y个确认的实现方式是,在固定高度间隔n,去检查全网是否仍满足第一个阶段的条件,满足条件则计数器counter递增1;如果某次检查不满足条件,则计数器重置归0,等下次满足条件后重新开始计数。即Y=n*counter。当达到Y个确认后的下一个块就是新生效的协议版本的第一个块,这时如果节点没有更新到该新版的程序将会分叉。
X与Y是每一次协议版本升级前在节点程序进行统一配置的,为了网络的稳定和安全通常情况下本发明要求占比需要达到80%。例如x≥80,y=10000。
在这个过程中,当第二个阶段正在进行时,协议模块仍会每间隔1000个块对第一个条件是否满足进行检查,如果不成立,将会停止并重置第二个阶段,等待第一个条件满足。
设定waitCount(连续区间确认次数),新版本版本号为1.1;
正常升级(第二阶段中途统计没有波动):
高度区间内的区块统计,占比80%的区块协议版本号=1.1,waitCount=1;
当waitCount=100时,升级成功。
正常升级(第二阶段中途统计有波动):
高度区间内的区块统计,占比80%的区块协议版本号=1.1,waitCount=1;
当出现波动,即占比低于80%,重置waitCount设为0,重新累计连续区间。
异常升级(先回滚,中途统计没有波动):
即有节点在升级过程中出现分叉,但是并不影响新版本节点在全网占比,这时分叉的节点会回滚到分叉点,其他正常节点不受影响。分叉节点回滚后重新后同步正确的区块,也能在正确的高度升级到新版本。
拜占庭算法统计全网协议版本,当新的协议版本程序发布,节点陆续更新。这时网络中出现两种协议版本的区块,但是这些区块的effectiveVersion(当前网络生效的协议版本号)是相同的,但是newVersion(节点自己的协议版本)是不同的,未更新的节点发布的区块中所含的newVersion与effectiveVersion是一致的,仍是旧的;已更新的节点发布的区块newVersion版本号则是新的,高于effectiveVersion。
这时对全网节点来说,两种区块都是有效,因为当前全网生效的协议版本是一致的,所有节点仍按照该版本对区块进行验证。而节点协议模块将通过新的区块所带的版本信息与自己的版本信息进行对比,保存并统计各节点的版本信息。由于版本信息在区块中,只要区块验证通过并得到确认,那么所有节点得到的协议信息和统计后的信息是一致,所以全网满足条件的节点可以在相同的高度开始第二阶段。
在第二个阶段中通过两个指标对第一阶段的成立条件进行检查。分别是:1、检查间隔区块数B;2、检查次数T。而B*T=Y正是全网持续Y个出块数。
由于所有升级的节点的检查间隔区块数B、检查次数T是一致的,所以中间检查时的区块高度也是一致,并且在同一个高度进行最终的协议版本升级更新。
升级时节点处理机制
协议模块设计有一个公共的回调接口VersionChangeInvoker#process,各个业务模块都必须实现这个接口。在新版本生效的高度会调用该接口。
process作用是:
1、对已验证的但未确认的交易进行逻辑回滚,根据新的协议来重新验证。
2、停止组装和发布旧协议的交易。
3、清除旧协议缓存,重置待打包队列等。
最终未升级节点将会分叉,形成新与主网链不兼容的分叉链,所以协议升级是需要全网共识的方式来进行的强制升级。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种基于网络节点的区块链协议升级方法,其特征在于,包括以下步骤:
基于区块链底层设计,添加协议模块,将程序协议版本信息加入区块中,构建区块链,其中,所述协议模块用于通过所述程序协议版本信息管理所述区块链的协议版本;
基于所述区块链,发布新版节点程序,采集所述区块链的每个节点服务器的升级进度以及所述区块链的出块数,获得所述区块链的版本升级进度,其中,所述出块数用于表示所述区块链根据所述新版节点程序生成新区块的数量;
基于所述版本升级进度,通过拜占庭算法统计所述协议版本,对所述区块链进行协议升级。
2.根据权利要求1所述的一种基于网络节点的区块链协议升级方法,其特征在于,
在构建所述区块链的过程中,在所述区块中添加的所述程序协议版本信息至少包括第一版本号、每个统计区间内的第一最小生效比例、协议生效要满足的第一连续区间数。
3.根据权利要求2所述的一种基于网络节点的区块链协议升级方法,其特征在于,
将所述第一版本号、所述第一最小生效比例、所述第一连续区间数添加到区块头的扩展字段中。
4.根据权利要求3所述的一种基于网络节点的区块链协议升级方法,其特征在于,
在获得所述区块链的版本升级进度的过程中,采集所述新版节点程序的第二版本号,与所述第一版本号进行比较,获得第一比较结果;
采集所述新区块的所述区块头的第二最小生效比例,与所述第一最小生效比例进行比较,获得第二比较结果;
采集所述新区块的所述区块头的第二连续区间数,与所述第一连续区间数进行比较,获得第三比较结果;
根据所述第一比较结果、所述第二比较结果、所述第三比较结果,获得所述版本升级进度。
5.根据权利要求4所述的一种基于网络节点的区块链协议升级方法,其特征在于,
如果所述第二版本号小于所述第一版本号,则拒绝更新所述新版节点程序;
如果所述第二版本号大于所述第一版本号,则同意更新所述新版节点程序。
6.根据权利要求5所述的一种基于网络节点的区块链协议升级方法,其特征在于,
在同意更新所述新版节点程序的过程后,
如果所述第二最小生效比例小于所述第一最小生效比例,则拒绝生成所述新区块;
如果所述第二最小生效比例大于所述第一最小生效比例,则同意生成所述新区块。
7.根据权利要求6所述的一种基于网络节点的区块链协议升级方法,其特征在于,
在同意生成所述新区块的过程时,
如果所述第二连续区间数小于所述第一连续区间数,则拒绝生成所述新区块;
如果所述第二连续区间数大于所述第一连续区间数,则同意生成所述新区块。
8.根据权利要求7所述的一种基于网络节点的区块链协议升级方法,其特征在于,
在对所述区块链进行协议升级的过程中,基于所述第二比较结果和所述第三比较结果,设置计数器;
当同时满足所述第二比较结果和所述第三比较结果时,所述计数器为1;
当所述计数器为100时,所述区块链升级成功。
9.根据权利要求8所述的一种基于网络节点的区块链协议升级方法,其特征在于,
在添加所述协议模块的过程中,基于所述协议模块,设置公共回调接口,所述区块链的每个业务模块以及所述新区块与所述公共回调接口连接,
其中,
所述公共回调接口用于根据所述第一比较结果、所述第二比较结果,对所述新版节点程序进行逻辑滚回;
所述公共回调接口用于在拒绝更新所述新版节点程序时,停止组装和发布所述新版节点程序;
所述公共回调接口用于清除旧协议缓存,重置待打包队列。
10.一种基于区块链的网络节点协议升级系统,其特征在于,包括,
区块链构建模块,用于基于区块链底层设计,添加协议模块,将程序协议版本信息加入区块中,构建区块链,其中,所述协议模块用于通过所述程序协议版本信息管理所述区块链的协议版本;
版本升级进度跟踪模块,用于基于所述区块链,发布新版节点程序,采集所述区块链的每个节点服务器的升级进度以及所述区块链的出块数,获得所述区块链的版本升级进度,其中,所述出块数用于表示所述区块链根据所述新版节点程序生成新区块的数量;
区块链协议升级模块,用于基于所述版本升级进度,通过拜占庭算法统计所述协议版本,对所述区块链进行协议升级。
CN202110695417.4A 2021-06-23 2021-06-23 一种基于网络节点的区块链协议升级方法及系统 Active CN113438109B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110695417.4A CN113438109B (zh) 2021-06-23 2021-06-23 一种基于网络节点的区块链协议升级方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110695417.4A CN113438109B (zh) 2021-06-23 2021-06-23 一种基于网络节点的区块链协议升级方法及系统

Publications (2)

Publication Number Publication Date
CN113438109A true CN113438109A (zh) 2021-09-24
CN113438109B CN113438109B (zh) 2022-06-07

Family

ID=77757303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110695417.4A Active CN113438109B (zh) 2021-06-23 2021-06-23 一种基于网络节点的区块链协议升级方法及系统

Country Status (1)

Country Link
CN (1) CN113438109B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824738A (zh) * 2021-11-23 2021-12-21 南京金宁汇科技有限公司 一种区块链中节点通讯管理方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814905A (zh) * 2019-01-17 2019-05-28 上海边界智能科技有限公司 一种基于区块链的软件升级方法及装置
CN109885612A (zh) * 2018-12-26 2019-06-14 联动优势科技有限公司 区块链智能合约的同步生效方法及装置
CN109992285A (zh) * 2019-04-02 2019-07-09 杭州秘猿科技有限公司 区块链代码块独立升级方法、装置及电子设备
CN110557452A (zh) * 2019-09-04 2019-12-10 腾讯科技(深圳)有限公司 区块链的节点管理方法、装置、存储介质和计算机设备
CN111522561A (zh) * 2020-03-06 2020-08-11 杜晓楠 Dbft分布式网络中平滑向后兼容升级的方法、计算机可读存储介质和dbft网络
US20200394032A1 (en) * 2018-10-24 2020-12-17 HANGZHOU QULIAN TECHNOLOGY Co.,Ltd. Permission-controlled smart contract upgrade method based on smart contract
CN112114872A (zh) * 2020-10-14 2020-12-22 鹏城实验室 控制区块链运行的方法、设备以及存储介质
CN112162768A (zh) * 2020-10-14 2021-01-01 支付宝(杭州)信息技术有限公司 一种区块链升级方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200394032A1 (en) * 2018-10-24 2020-12-17 HANGZHOU QULIAN TECHNOLOGY Co.,Ltd. Permission-controlled smart contract upgrade method based on smart contract
CN109885612A (zh) * 2018-12-26 2019-06-14 联动优势科技有限公司 区块链智能合约的同步生效方法及装置
CN109814905A (zh) * 2019-01-17 2019-05-28 上海边界智能科技有限公司 一种基于区块链的软件升级方法及装置
CN109992285A (zh) * 2019-04-02 2019-07-09 杭州秘猿科技有限公司 区块链代码块独立升级方法、装置及电子设备
CN110557452A (zh) * 2019-09-04 2019-12-10 腾讯科技(深圳)有限公司 区块链的节点管理方法、装置、存储介质和计算机设备
CN111522561A (zh) * 2020-03-06 2020-08-11 杜晓楠 Dbft分布式网络中平滑向后兼容升级的方法、计算机可读存储介质和dbft网络
CN112114872A (zh) * 2020-10-14 2020-12-22 鹏城实验室 控制区块链运行的方法、设备以及存储介质
CN112162768A (zh) * 2020-10-14 2021-01-01 支付宝(杭州)信息技术有限公司 一种区块链升级方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824738A (zh) * 2021-11-23 2021-12-21 南京金宁汇科技有限公司 一种区块链中节点通讯管理方法及系统

Also Published As

Publication number Publication date
CN113438109B (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
CN111382456B (zh) 提案消息处理方法、装置、设备以及存储介质
CN109814905B (zh) 一种基于区块链的软件升级方法及装置
CN108717630B (zh) 一种出块方法及其实现系统
WO2018228338A1 (zh) 资源转移方法、装置、存储介质及计算机设备
CN107220130B (zh) 一种在区块链的节点处实现的信息共识方法、装置及系统
CN108108967A (zh) 面向复杂数字资产的多阶段pbft共识系统及方法
CN108492103A (zh) 一种联盟区块链共识方法
CN111106942A (zh) 一种基于ap-pbft算法的区块链信用机制
CN110599177A (zh) 一种交易验证方法及相关设备
CN113438109B (zh) 一种基于网络节点的区块链协议升级方法及系统
CN109255701A (zh) 一种网贷业务数据处理方法
CN108090736B (zh) 基于工作流审批单的审批方法、装置及可读存储介质
CN111611260A (zh) 一种区块链数据的删除方法及装置
CN111147494B (zh) 一种面向区块链轻节点的多中心接入的管理方法和装置
CN115983991A (zh) 一种流程调整方法、装置、设备及介质
CN107220897B (zh) 一种收益入账的处理方法和装置以及处理系统
CN114742630A (zh) 用于处理业务单据的方法以及相应的系统、设备和介质
CN112926964A (zh) 基于区块链的资产管理方法、电子设备及可读存储介质
CN111046055A (zh) 一种区块链全局配置的变更方法、设备和存储介质
CN112634049A (zh) 一种防止代收付交易入账重复的方法和装置
CN111553796A (zh) 一种汇率管理方法、装置及计算机可读存储介质
CN111723107A (zh) 一种业务数据的监控方法及装置
CN111198986A (zh) 信息发送方法、装置、电子设备及存储介质
CN109064134A (zh) 项目安全系数的计算方法、装置和存储介质
CN115065486B (zh) 一种智能合约证书的管理方法、系统和可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant