CN109814905A - 一种基于区块链的软件升级方法及装置 - Google Patents

一种基于区块链的软件升级方法及装置 Download PDF

Info

Publication number
CN109814905A
CN109814905A CN201910042352.6A CN201910042352A CN109814905A CN 109814905 A CN109814905 A CN 109814905A CN 201910042352 A CN201910042352 A CN 201910042352A CN 109814905 A CN109814905 A CN 109814905A
Authority
CN
China
Prior art keywords
software
block chain
user node
upgrading
block
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
CN201910042352.6A
Other languages
English (en)
Other versions
CN109814905B (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.)
Shanghai Border Intelligent Technology Co Ltd
Original Assignee
Shanghai Border Intelligent 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 Shanghai Border Intelligent Technology Co Ltd filed Critical Shanghai Border Intelligent Technology Co Ltd
Priority to CN201910042352.6A priority Critical patent/CN109814905B/zh
Publication of CN109814905A publication Critical patent/CN109814905A/zh
Application granted granted Critical
Publication of CN109814905B publication Critical patent/CN109814905B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种基于区块链的软件升级方法及装置,该方法包括:提议用户节点发起软件升级提议;区块链网络上的验证用户节点对软件升级提议进行投票表决;如果投票表决结果满足预设通过条件,则通知区块链网络上的所有用户节点进行软件升级;区块链网络上的各用户节点下载并安装新版本软件;统计区块链网络上软件版本信息为新版本软件的用户节点的数量;如果新版本软件的用户节点的数量满足预设数值范围,则区块链网络软件升级成功。本发明的软件升级方法及装置,能支持区块链软件通过链上治理的方式向前兼容平滑升级,通过各个节点参与投票提议开启软件升级流程,在约定的未来区块高度切换到新版本的协议,并对历史版本的链上数据做到完全兼容。

Description

一种基于区块链的软件升级方法及装置
技术领域
本发明属于区块链技术领域,尤其涉及一种基于区块链的软件升级方法及装置。
背景技术
区块链网络软件升级要完成网络中各节点自主安装新版本软件并重启节点,然后支持升级后的协议在某个约定的未来区块高度生效。区块链系统是通过多点计算机运行网络节点软件共同维护分布式的账本,可以可信高效地支持去中心化业务协作,因其去中心化/分布式运行的特点,无法像一般中心化系统那样通过单个节点或单服务器的软件升级完成整个网络的软件升级,如何在开放的分布式区块链网络中协调所有节点完成分布式的软件升级是个很大的难题,现阶段不同类型区块链根据其所使用的共识算法有不同的实现,也有其各种局限。
区块链的共识算法包括概率性共识和确定性共识。概率性共识是以比特币/以太坊为代表所使用的工作量证明算法,它的特点是会不断产生分叉,但以最长链作为生效链的共识,其概率性表现在每个块的数据后面一般需要等待6个区块才不可逆转。因为只需要在新产生的区块中维护其上一个区块数据的哈希值,故一个区块后面可以同时链接上不同分叉的区块数据。由于这种分叉的特性,工作量证明的区块链一般采用软分叉或硬分叉的方式进行软件升级,新老版本的协议可以并行不悖的在两个网络上运行。硬分叉,是指当区块链节点代码发生改变后,旧节点拒绝接受由新节点创造的区块,不符合原规则的区块将被忽略,记账节点会按照原规则,在他们最后验证的区块之后创建新的区块。而软分叉是指旧的节点并不会意识到其他节点代码发生改变,并继续接受由新节点创造的区块。软分叉和硬分叉如果能支持"向后兼容",就能保证新节点可以从头验证区块链。向后兼容是指新软件接受由旧软件所产生的数据或者代码。
概率性共识由于其效率低下对环境不友好,以及网络升级产生的分叉造成账本信息不一致等情况,越来越多的区块链开始转向拜占庭容错算法支持的确定性共识,它的特点是正常情况下不会产生分叉,每个区块被生产出来后立即生效,不需要等待6个区块的确认。这种特性是由于每个区块中不仅维护其上一个区块数据的哈希值,还包含2/3以上矿工对上一个区块投票签名信息,因此投票通过后区块数据即刻得到确认。此外,上一个区块交易执行后的应用状态哈希或验证人集合等数据也被维护在当前区块中,因此随意使用非共识协议的软件升级节点,会导致区块执行的应用状态哈希冲突而受到惩罚,共识算法会选取其他验证人来生产区块。但在这一类拜占庭容错共识算法的区块链中,其强一致性的特性,会导致在生产区块的验证人节点随意使用不同协议版本的软件时,网络共识可能会由于不同权重的验证人所生产区块的应用状态哈希相互冲突,没有超过2/3的投票权重一致认同某一版本协议而进入无法共识,网络无法生产区块而停机。
发明内容
本发明提供一种基于区块链的软件升级方法及装置,解决了区块链共识网络中无法协同进行全网络的分布式软件升级的问题。。
为解决上述技术问题,本发明提供了一种基于区块链的软件升级方法,包括:
提议用户节点发起软件升级提议;
区块链网络上的验证用户节点对所述软件升级提议进行投票表决;
如果所述投票表决结果满足预设通过条件,则通知区块链网络上的所有用户节点进行软件升级;
区块链网络上的各用户节点下载并安装新版本软件;
统计区块链网络上软件版本信息为新版本软件的用户节点的数量;
如果所述新版本软件的用户节点的数量满足预设数值范围,则区块链网络软件升级成功。
根据本发明的一实施方式,所述提议用户节点发起软件升级提议的步骤之前还包括:
获取区块链网络的系统变量值;
如果所述系统变量值满足预设升级条件,则允许所述提议用户节点发起软件升级提议。
根据本发明的另一实施方式,所述提议用户节点发起软件升级提议的步骤包括:
区块链网络上的用户节点利用区块链通证对所述软件升级提议进行通证低押,其中所述区块链网络上的用户节点为提议用户节点,或者提议用户节点和验证用户节点;
获取抵押的所述区块链通证的抵押额;
如果所述抵押额超过预设抵押额,则所述软件升级提议转入投票表决,并退还抵押的所述区块链通证,否则,继续所述软件升级提议的通证抵押。
根据本发明的另一实施方式,所述提议用户节点发起软件升级提议的步骤还包括:
获取所述软件升级提议在通证抵押停留期内区块链的出块数目;
如果在通证抵押的停留期内的所述区块链的出块数目超过抵押周期区块链阈值,则所述软件升级提议关闭。
根据本发明的另一实施方式,所预设通过条件为:所述验证用户节点数量与所述区块链网络上的用户节点的总数之比大于2/3且所述验证用户节点中赞成所述软件升级提议的用户节点数量大于一半。
根据本发明的另一实施方式,所述区块链网络上的所有用户节点下载并安装新版本软件的步骤包括:
区块链网络上的用户节点下载并安装新版本软件;
重新启动用户节点;
将用户节点当前的软件版本信息打包在所述用户节点新生产的区块内。
根据本发明的另一实施方式,所述统计区块链网络上软件版本信息为新版本软件的用户节点的数量的步骤包括:
逐个判断用户节点新生产的区块内的当前的软件版本信息与所述软件升级提议中的软件版本信息是否一致;
如果所述用户节点新生产的区块内的当前的软件版本信息与所述软件升级提议中的软件版本信息一致,则统计数量加1。
根据本发明的另一实施方式,所述重新启动用户节点的步骤之后还包括:
区块链网络上的用户节点切换到所述新版本软件。
根据本发明的另一实施方式,所述区块链网络的用户节点的软件架构包括:应用层、共识层和网络层;
所述应用层自上而下包括:基础类型定义层、数据访问对象层、交易处理控制器层以及应用管理层。
另一方面,本发明还提供了一种基于区块链的软件升级装置,包括:
升级提议发起模块,用于提议用户节点发起软件升级提议;
投票表决模块,用于区块链网络上的验证用户节点对所述软件升级提议进行投票表决;
软件升级通知模块,用于如果所述投票表决结果满足预设通过条件,则通知区块链网络上的所有用户节点进行软件升级;
下载及安装模块,用于区块链网络上的各用户节点下载并安装新版本软件;
统计模块,用于统计区块链网络上软件版本信息为新版本软件的用户节点的数量;
判断模块,用于如果所述新版本软件的用户节点的数量满足预设数值范围,则区块链网络软件升级成功。
本发明的有益效果:
本发明实施例的一种基于区块链的软件升级方法及装置,解决了区块链共识网络中无法协同进行全网络的分布式软件升级的问题。本发明实施例的基于区块链网络的软件升级方法能支持区块链软件通过链上治理的方式向前兼容平滑升级,通过链上各个节点参与投票提议开启软件升级工作流程,在约定的未来区块高度切换到新版本的协议,并对历史版本的链上数据做到完全兼容。另外,当未升级新版本软件的节点将因为共识失败而停机时,可以重新使用新版软件的重播模式启动重新加入网络;区块链网络在完成多次协议版本升级后,新加入网络的节点能够使用新版软件启动并同步和执行所有历史版本的区块。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种基于区块链的软件升级方法的一个实施例的流程示意图;
图2是本发明的一种基于区块链的软件升级方法的步骤100的一个实施例的流程示意图;
图3是本发明的一种基于区块链的软件升级方法的步骤400的一个实施例的流程示意图。
图4是本发明的一种基于区块链的软件升级装置的一个实施例的结构示意图
图5是本发明的一种基于区块链的软件升级方法的具体升级流程的一个实施例的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,本发明实施例提供了一种基于区块链的软件升级方法,包括:
步骤100:提议用户节点发起软件升级提议;
步骤200:区块链网络上的验证用户节点对所述软件升级提议进行投票表决;
步骤300:如果所述投票表决结果满足预设通过条件,则通知区块链网络上的所有用户节点进行软件升级;
步骤400:区块链网络上的各用户节点下载并安装新版本软件;
步骤500:统计区块链网络上软件版本信息为新版本软件的用户节点的数量;
步骤600:如果所述新版本软件的用户节点的数量满足预设数值范围,则区块链网络软件升级成功。
可选的,本发明实施例的区块链网络的用户节点的软件架构包括:应用层、共识层和网络层;
所述应用层自上而下包括:基础类型定义层、数据访问对象层、交易处理控制器层以及应用管理层。
为支持可平滑升级的区块链网络,区块链网络用户节点的软件架构可采用如下设计,以达到软件架构的模块化、层次化和可配置化。区块链网络的用户节点的软件架构分为应用层,共识层和网络层,其中应用层自下而上被分为:基础类型定义层、数据访问对象层、交易处理控制器层以及应用管理层。
共识层使用拜占庭容错的共识算法,通过松耦合的接口与应用层进行通信。在应用层的四个层级结构中,只能从上往下进行引用,不能存在从下往上的引用。模块的聚合仅在交易处理控制器层得到体现,表现为交易处理控制器根据不同的模块来配置相应的handler处理方法,并且在控制器中配置该模块的不同版本所对应的handlers。为保证软件升级时改动的代码量尽可能的少,数据访问对象层中仅包含对数据的基本存取与编码解码功能,其他的运算都应在相应的handler中完成,使得软件协议需要升级时如果没有数据层面的变动,就只需要实现新协议版本中的handler方法。
本发明实施例提供的基于区块链的软件升级方法通过提议用户节点发起软件升级提议,通过区块链上各个节点参与投票提议开启软件升级工作流程,待各用户节点下载并安装新版本软件后统计区块链网络上软件版本信息为新版本软件的用户节点的数量从而确定软件升级是否成功。本发明实施例提供的基于区块链的软件升级方法能实现区块链网络上用户节点软件的平滑升级。
能支持区块链软件通过链上治理的方式向前兼容平滑升级,在约定的未来区块高度切换到新版本的协议,并对历史版本的链上数据做到完全兼容。
作为一个举例说明,本发明实施例的步骤100之前还包括:
获取区块链网络的系统变量值;
如果所述系统变量值满足预设升级条件,则允许所述提议用户节点发起软件升级提议。
系统变量(upgradeProposalId)记录了当前正在处理的软件升级提议id。upgradeProposalId == 0 表示当前没有处理中的软件升级提议,并且当且仅当upgradeProposalId == 0时区块链网络才允许发起软件升级提议,保证同一时间只有一个软件升级被处理。
作为另一个举例说明,如图2所示,本发明实施例的步骤100包括:
步骤101:区块链网络上的用户节点利用区块链通证对所述软件升级提议进行通证低押,其中所述区块链网络上的用户节点为提议用户节点,或者提议用户节点和验证用户节点;
步骤102:获取抵押的所述区块链通证的抵押额;
步骤103:如果所述抵押额超过预设抵押额,则所述软件升级提议转入投票表决,并退还抵押的所述区块链通证,否则,继续所述软件升级提议的通证抵押。
作为另一个举例说明,本发明实施例的步骤100还包括:
获取所述软件升级提议在通证抵押停留期内区块链的出块数目;
如果在通证抵押的停留期内的所述区块链的出块数目超过抵押周期区块链阈值,则所述软件升级提议关闭。
可选的,所预设通过条件为:所述验证用户节点数量与所述区块链网络上的用户节点的总数之比大于2/3且所述验证用户节点中赞成所述软件升级提议的用户节点数量大于一半。
参见图5所示,当系统变量upgradeProposalId == 0时区块链网络允许发起软件升级提议,提议用户节点利用区块链上的客户端抵押一部分区块链通证货币发起软件升级的提议,如果抵押额超过最小抵押额,则提议进入投票阶段,否则留在抵押期;验证用户节点(区块链上除提议用户节点之外的用户节点)可以对在抵押期的软件升级提议进行通证抵押,如果总的抵押额超过最小抵押额,则进入投票期接受用户链上投票;但若软件升级提议在抵押期停留的期间内的出块数目超过最大抵押周期区块链数,则提议被关闭。
软件升级协议进入投票期后,当前区块高度到达投票周期区块数,则统计投票结果;当超过2/3的验证用户参与投票,并且赞成票大于50%后软件升级提议通过生效,提议生效后,系统变量UpgradeProposalId被设置为该提议的id,后续不接受新的软件升级提议。
作为另一个举例说明,如图3所示,本发明实施例的步骤400包括:
步骤401:区块链网络上的用户节点下载并安装新版本软件;
步骤402:重新启动用户节点;
步骤404:将用户节点当前的软件版本信息打包在所述用户节点新生产的区块内。
作为另一个举例说明,本发明实施例的步骤500包括:
逐个判断用户节点新生产的区块内的当前的软件版本信息与所述软件升级提议中的软件版本信息是否一致;
如果所述用户节点新生产的区块内的当前的软件版本信息与所述软件升级提议中的软件版本信息一致,则统计数量加1。
作为另一个举例说明,如图3所示,本发明实施例的步骤402之后还包括:
步骤403:区块链网络上的用户节点切换到所述新版本软件。
参见图5所示,区块链网络上的用户节点下载并安装新版本软件,重新启动后用户节点仍按照老版本软件的协议运行,继续生产区块,安装新版本软件后,在节点启动时,返回给共识层当前的协议版本。当此节点出块时,会把这个版本信息包含在所打包区块的区块头;
应用层执行区块时,如果系统变量upgradeProposalId != 0,将判断区块头中版本号是否与当前升级提议的版本号一致,一致的话则证明生产该区块的验证用户节点已经升级到了新版本协议的软件,并将该验证用户节点已经升级到新版本的信息存储在应用层的共识状态中;
当区块链网络运行到约定的升级区块高度时(软件升级提议通过的区块高度+升级周期),将对当前高度的验证用户节点集合中每个验证人进行检查,根据之前存储在应用层共识状态中的数据检查是否已经升级到新版本,如果已经升级,则升级节点统计数量加1,并将其节点权重加入到已升级的权重中,最终如果已升级的节点统计数量的权重达到90%或以上,即已升级的节点统计数量与所有验证用户节点的数量之比大于或等于90%,则软件升级通过。如果已升级的节点统计数量的权重没有达到90%,则本次提议所对应的软件升级失败。该升级对应的协议版本被标识为失败的升级,并在应用层共识状态中存储对应数据,最后将系统变量upgradeProposalId重置为0。
验证用户节点升级成功后开始拒绝接收新区块链新交易的请求,继续处理本节点留存的交易,直到生成一个空区块,表示之前累积的老交易请求都已经用老版本协议处理完毕。
应用层切换执行逻辑入口到新版本协议:得益于上述的分层与模块化架构,软件以可插拔的方式对不同模块所对应的交易的执行入口进行动态绑定。软件的应用层对协议进行了抽象和定义。不同协议版本的软件内定义了该版本软件生命周期内所能支持的所有版本的协议类型。具体流程为:
1.查找节点自身所运行软件中下一个协议的版本;
2.如果当前软件中没有下一个版本的协议,或者下个版本的协议不等于本次升级提议所指的版本,则表明该节点未正确安装本次升级所对应的软件,软件通过将停机指令传入到共识层将其进程退出,即使节点不安装新版本软件,继续使用老版本软件启动节点,该节点也将关闭p2p共识连接,不再进入区块链共识网络;
如果当前软件中定义的一个生效协议版本等于本次升级提议所指的版本,则激活新版本协议所对应的配置信息,用可插拔的方式将新版本的存储分区、交易处理控制器绑定到应用入口中;
系统变量upgradeProposalId重置为0。该升级对应的协议版本被标识为成功的升级,并在应用层共识状态中存储对应数据。
本发明实施例的基于区块链网络的软件升级方法能支持区块链软件通过链上治理的方式向前兼容平滑升级,通过链上各个节点参与投票提议开启软件升级工作流程,在约定的未来区块高度切换到新版本的协议,并对历史版本的链上数据做到完全兼容。另外,当未升级新版本软件的节点将因为共识失败而停机时,可以重新使用新版软件的重播模式启动重新加入网络;区块链网络在完成多次协议版本升级后,新加入网络的节点能够使用新版软件启动并同步和执行所有历史版本的区块。
另一方面,如图4所示,本发明实施例还提供了一种基于区块链的软件升级装置,包括:
升级提议发起模块10,用于提议用户节点发起软件升级提议;
投票表决模块20,用于区块链网络上的验证用户节点对所述软件升级提议进行投票表决;
软件升级通知模块30,用于如果所述投票表决结果满足预设通过条件,则通知区块链网络上的所有用户节点进行软件升级;
下载及安装模块40,用于区块链网络上的各用户节点下载并安装新版本软件;
统计模块50,用于统计区块链网络上软件版本信息为新版本软件的用户节点的数量;
判断模块60,用于如果所述新版本软件的用户节点的数量满足预设数值范围,则区块链网络软件升级成功。
综上所述,本发明解决了区块链共识网络中无法协同进行全网络的分布式软件升级的问题。相对于目前这类网络所使用的软件升级方案存在问题:比如基于概率性共识的比特币和以太坊网络出现的分叉问题,以及基于确定性共识的一般做法:导出区块链网络在需要软件升级的区块高度的区块链数据快照,将该快照数据作为升级后网络的创世区块;全网下载安装新版本软件,使用该快照数据作为创世区块启动新版本协议的区块链网络。本发明具备以下优点:
a) 网络升级不会出现任何分叉的可能;
b) 导出快照重启网络的方案会截断区块链数据,历史的区块数据全部丢失,只保留升级高度的最终状态。本发明所述算法则不存在这个问题,所有历史的区块数据得以完全保留,只是在升级协议的区块高度切换协议规则,即使进行了多次升级后,该区块链网络中还是保存了所有历史区块;
c) 对于新加入网络的节点,该节点通过p2p加入网络并同步区块后,该节点能够从创世块开始不断同步和执行区块,并且在进行软件升级的历史区块高度,也能够正确的在软件内切换到对应版本协议的应用层配置;
d) 软件升级流程安全可信,网络节点不需要投入大量时间精力去校验某个区块链链数据快照的正确性和完备性。节点只需要在看到投票通过的软件升级提议后下载安装新版本的软件即可。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (10)

1.一种基于区块链的软件升级方法,其特征在于,包括:
提议用户节点发起软件升级提议;
区块链网络上的验证用户节点对所述软件升级提议进行投票表决;
如果所述投票表决结果满足预设通过条件,则通知区块链网络上的所有用户节点进行软件升级;
区块链网络上的各用户节点下载并安装新版本软件;
统计区块链网络上软件版本信息为新版本软件的用户节点的数量;
如果所述新版本软件的用户节点的数量满足预设数值范围,则区块链网络软件升级成功。
2.根据权利要求1所述的基于区块链的软件升级方法,其特征在于,所
述提议用户节点发起软件升级提议的步骤之前还包括:
获取区块链网络的系统变量值;
如果所述系统变量值满足预设升级条件,则允许所述提议用户节点发起软件升级提议。
3.根据权利要求1所述的基于区块链的软件升级方法,其特征在于,所述提议用户节点发起软件升级提议的步骤包括:
区块链网络上的用户节点利用区块链通证对所述软件升级提议进行通证低押,其中所述区块链网络上的用户节点为提议用户节点,或者提议用户节点和验证用户节点;
获取抵押的所述区块链通证的抵押额;
如果所述抵押额超过预设抵押额,则所述软件升级提议转入投票表决,并退还抵押的所述区块链通证,否则,继续所述软件升级提议的通证抵押。
4.根据权利要求3所述的基于区块链的软件升级方法,其特征在于,所述提议用户节点发起软件升级提议的步骤还包括:
获取所述软件升级提议在通证抵押停留期内区块链的出块数目;
如果在通证抵押的停留期内的所述区块链的出块数目超过抵押周期区块链阈值,则所述软件升级提议关闭。
5.根据权利要求1所述的基于区块链的软件升级方法,其特征在于,所预设通过条件为:所述验证用户节点数量与所述区块链网络上的用户节点的总数之比大于2/3且所述验证用户节点中赞成所述软件升级提议的用户节点数量大于一半。
6.根据权利要求1所述的基于区块链的软件升级方法,其特征在于,所述区块链网络上的所有用户节点下载并安装新版本软件的步骤包括:
区块链网络上的用户节点下载并安装新版本软件;
重新启动用户节点;
将用户节点当前的软件版本信息打包在所述用户节点新生产的区块内。
7.根据权利要求6所述的基于区块链的软件升级方法,其特征在于,所述统计区块链网络上软件版本信息为新版本软件的用户节点的数量的步骤包括:
逐个判断用户节点新生产的区块内的当前的软件版本信息与所述软件升级提议中的软件版本信息是否一致;
如果所述用户节点新生产的区块内的当前的软件版本信息与所述软件升级提议中的软件版本信息一致,则统计数量加1。
8.根据权利要求6所述的基于区块链的软件升级方法,其特征在于,所述重新启动用户节点的步骤之后还包括:
区块链网络上的用户节点切换到所述新版本软件。
9.根据权利要求1所述的基于区块链的软件升级方法,其特征在于,所述区块链网络的用户节点的软件架构包括:应用层、共识层和网络层;
所述应用层自上而下包括:基础类型定义层、数据访问对象层、交易处理控制器层以及应用管理层。
10.一种基于区块链的软件升级装置,其特征在于,包括:
升级提议发起模块,用于提议用户节点发起软件升级提议;
投票表决模块,用于区块链网络上的验证用户节点对所述软件升级提议进行投票表决;
软件升级通知模块,用于如果所述投票表决结果满足预设通过条件,则通知区块链网络上的所有用户节点进行软件升级;
下载及安装模块,用于区块链网络上的各用户节点下载并安装新版本软件;
统计模块,用于统计区块链网络上软件版本信息为新版本软件的用户节点的数量;
判断模块,用于如果所述新版本软件的用户节点的数量满足预设数值范围,则区块链网络软件升级成功。
CN201910042352.6A 2019-01-17 2019-01-17 一种基于区块链的软件升级方法及装置 Active CN109814905B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910042352.6A CN109814905B (zh) 2019-01-17 2019-01-17 一种基于区块链的软件升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910042352.6A CN109814905B (zh) 2019-01-17 2019-01-17 一种基于区块链的软件升级方法及装置

Publications (2)

Publication Number Publication Date
CN109814905A true CN109814905A (zh) 2019-05-28
CN109814905B CN109814905B (zh) 2023-06-16

Family

ID=66603456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910042352.6A Active CN109814905B (zh) 2019-01-17 2019-01-17 一种基于区块链的软件升级方法及装置

Country Status (1)

Country Link
CN (1) CN109814905B (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110298641A (zh) * 2019-06-12 2019-10-01 广东投盟科技有限公司 区块链的规则更新方法、装置、区块链节点及网络
CN110413304A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN110493345A (zh) * 2019-08-23 2019-11-22 北京智芯微电子科技有限公司 基于区块链的物联网终端软件升级方法及系统
CN110602241A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 服务安装方法、装置、服务器及存储介质
CN110618841A (zh) * 2019-09-10 2019-12-27 杭州秘猿科技有限公司 内部松耦合的共识方法、系统、电子设备
CN111522561A (zh) * 2020-03-06 2020-08-11 杜晓楠 Dbft分布式网络中平滑向后兼容升级的方法、计算机可读存储介质和dbft网络
CN111708833A (zh) * 2020-05-18 2020-09-25 杜晓楠 Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络
CN111769986A (zh) * 2020-06-29 2020-10-13 卓尔智联(武汉)研究院有限公司 一种基于区块链的人机协作方法、装置及电子设备
CN111831301A (zh) * 2019-12-25 2020-10-27 北京熠智科技有限公司 支持无分叉升级的区块链运行时环境系统、方法
CN112035144A (zh) * 2020-09-01 2020-12-04 平安付科技服务有限公司 区块链系统的升级方法、装置、计算机设备及存储介质
CN112052021A (zh) * 2020-08-12 2020-12-08 中钞信用卡产业发展有限公司杭州区块链技术研究院 联盟区块链升级的方法、装置、设备及存储介质
CN112114852A (zh) * 2020-09-18 2020-12-22 山大地纬软件股份有限公司 用于避免区块链分叉的区块链节点升级系统及方法
CN112162768A (zh) * 2020-10-14 2021-01-01 支付宝(杭州)信息技术有限公司 一种区块链升级方法和系统
CN112241436A (zh) * 2020-10-26 2021-01-19 云账户技术(天津)有限公司 一种区块链网络的切换方法及装置
CN112256305A (zh) * 2020-11-04 2021-01-22 暗链科技(深圳)有限公司 一种区块链软件更新方法及系统
CN112445792A (zh) * 2019-09-04 2021-03-05 中移物联网有限公司 区块链区块数据存储方法、装置、电子设备及存储介质
CN112636984A (zh) * 2020-12-28 2021-04-09 杭州趣链科技有限公司 联盟链配置更新方法、设备及计算机介质
KR20210074980A (ko) * 2019-12-12 2021-06-22 (주)포뎁스 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법
CN113438109A (zh) * 2021-06-23 2021-09-24 预言机(重庆)科技有限公司 一种基于网络节点的区块链协议升级方法及系统
CN113535855A (zh) * 2021-07-28 2021-10-22 卫宁健康科技集团股份有限公司 基于区块链的主数据管理方法、系统、计算机设备及介质
CN113596157A (zh) * 2021-07-30 2021-11-02 绿漫科技有限公司 一种基于SpringCloud的联盟链无感发布方法
CN113810869A (zh) * 2020-06-16 2021-12-17 中移物联网有限公司 一种升级服务计费方法、装置及系统
CN114257600A (zh) * 2021-08-02 2022-03-29 美的集团股份有限公司 区块链的网络通信方法、通信装置及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108170449A (zh) * 2017-12-27 2018-06-15 邵美 一种区块链系统中核心协议的升级方法
US20180189732A1 (en) * 2017-01-05 2018-07-05 International Business Machines Corporation Blockchain for program code credit and programmer contribution in a collective
CN108769173A (zh) * 2018-05-21 2018-11-06 阿里体育有限公司 运行智能合约的区块链实现方法及设备
CN108958787A (zh) * 2018-06-25 2018-12-07 百度在线网络技术(北京)有限公司 区块链系统升级方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180189732A1 (en) * 2017-01-05 2018-07-05 International Business Machines Corporation Blockchain for program code credit and programmer contribution in a collective
CN108170449A (zh) * 2017-12-27 2018-06-15 邵美 一种区块链系统中核心协议的升级方法
CN108769173A (zh) * 2018-05-21 2018-11-06 阿里体育有限公司 运行智能合约的区块链实现方法及设备
CN108958787A (zh) * 2018-06-25 2018-12-07 百度在线网络技术(北京)有限公司 区块链系统升级方法、装置、设备及存储介质

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110298641B (zh) * 2019-06-12 2022-08-05 广东投盟科技有限公司 区块链的规则更新方法、装置、区块链节点及网络
CN110298641A (zh) * 2019-06-12 2019-10-01 广东投盟科技有限公司 区块链的规则更新方法、装置、区块链节点及网络
CN110413304A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN110413304B (zh) * 2019-07-31 2023-07-14 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN110493345A (zh) * 2019-08-23 2019-11-22 北京智芯微电子科技有限公司 基于区块链的物联网终端软件升级方法及系统
CN112445792B (zh) * 2019-09-04 2024-05-24 中移物联网有限公司 区块链区块数据存储方法、装置、电子设备及存储介质
CN112445792A (zh) * 2019-09-04 2021-03-05 中移物联网有限公司 区块链区块数据存储方法、装置、电子设备及存储介质
CN110618841B (zh) * 2019-09-10 2022-12-06 杭州秘猿科技有限公司 内部松耦合的共识方法、系统、电子设备
CN110618841A (zh) * 2019-09-10 2019-12-27 杭州秘猿科技有限公司 内部松耦合的共识方法、系统、电子设备
CN110602241A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 服务安装方法、装置、服务器及存储介质
KR102365945B1 (ko) 2019-12-12 2022-02-22 (주)포뎁스 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법
KR20210074980A (ko) * 2019-12-12 2021-06-22 (주)포뎁스 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법
CN111831301A (zh) * 2019-12-25 2020-10-27 北京熠智科技有限公司 支持无分叉升级的区块链运行时环境系统、方法
CN111831301B (zh) * 2019-12-25 2024-04-09 北京熠智科技有限公司 支持无分叉升级的区块链运行时环境系统、方法
CN111522561B (zh) * 2020-03-06 2023-06-06 杜晓楠 Dbft分布式网络中平滑向后兼容升级的方法、计算机可读存储介质和dbft网络
CN111522561A (zh) * 2020-03-06 2020-08-11 杜晓楠 Dbft分布式网络中平滑向后兼容升级的方法、计算机可读存储介质和dbft网络
CN111708833B (zh) * 2020-05-18 2023-06-06 杜晓楠 Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络
CN111708833A (zh) * 2020-05-18 2020-09-25 杜晓楠 Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络
CN113810869A (zh) * 2020-06-16 2021-12-17 中移物联网有限公司 一种升级服务计费方法、装置及系统
CN113810869B (zh) * 2020-06-16 2022-11-29 中移物联网有限公司 一种升级服务计费方法、装置及系统
CN111769986A (zh) * 2020-06-29 2020-10-13 卓尔智联(武汉)研究院有限公司 一种基于区块链的人机协作方法、装置及电子设备
CN111769986B (zh) * 2020-06-29 2023-03-28 卓尔智联(武汉)研究院有限公司 一种基于区块链的人机协作方法、装置及电子设备
CN112052021B (zh) * 2020-08-12 2024-08-20 中钞信用卡产业发展有限公司杭州区块链技术研究院 联盟区块链升级的方法、装置、设备及存储介质
CN112052021A (zh) * 2020-08-12 2020-12-08 中钞信用卡产业发展有限公司杭州区块链技术研究院 联盟区块链升级的方法、装置、设备及存储介质
CN112035144A (zh) * 2020-09-01 2020-12-04 平安付科技服务有限公司 区块链系统的升级方法、装置、计算机设备及存储介质
CN112114852B (zh) * 2020-09-18 2024-07-19 山大地纬软件股份有限公司 用于避免区块链分叉的区块链节点升级系统及方法
CN112114852A (zh) * 2020-09-18 2020-12-22 山大地纬软件股份有限公司 用于避免区块链分叉的区块链节点升级系统及方法
CN112162768A (zh) * 2020-10-14 2021-01-01 支付宝(杭州)信息技术有限公司 一种区块链升级方法和系统
CN112241436A (zh) * 2020-10-26 2021-01-19 云账户技术(天津)有限公司 一种区块链网络的切换方法及装置
CN112256305B (zh) * 2020-11-04 2022-05-10 暗链科技(深圳)有限公司 一种区块链软件更新方法及系统
CN112256305A (zh) * 2020-11-04 2021-01-22 暗链科技(深圳)有限公司 一种区块链软件更新方法及系统
CN112636984A (zh) * 2020-12-28 2021-04-09 杭州趣链科技有限公司 联盟链配置更新方法、设备及计算机介质
CN113438109A (zh) * 2021-06-23 2021-09-24 预言机(重庆)科技有限公司 一种基于网络节点的区块链协议升级方法及系统
CN113535855A (zh) * 2021-07-28 2021-10-22 卫宁健康科技集团股份有限公司 基于区块链的主数据管理方法、系统、计算机设备及介质
CN113535855B (zh) * 2021-07-28 2024-01-26 卫宁健康科技集团股份有限公司 基于区块链的主数据管理方法、系统、计算机设备及介质
CN113596157A (zh) * 2021-07-30 2021-11-02 绿漫科技有限公司 一种基于SpringCloud的联盟链无感发布方法
CN114257600A (zh) * 2021-08-02 2022-03-29 美的集团股份有限公司 区块链的网络通信方法、通信装置及计算机存储介质

Also Published As

Publication number Publication date
CN109814905B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
CN109814905A (zh) 一种基于区块链的软件升级方法及装置
CN111382456B (zh) 提案消息处理方法、装置、设备以及存储介质
Yu et al. Repucoin: Your reputation is your power
CN110430087B (zh) 区块链热升级的架构设计与实现
CN108848055B (zh) 一种区块链共识方法、记账节点及节点
CN107464106A (zh) 区块链主链与侧链间交易的方法及系统
CN112541758A (zh) 基于区块链的多轮投票式容错排序共识机制与方法
CN109002732A (zh) 数据存证方法、设备和系统以及数据取证方法
EP4222677A1 (en) Distributed ledger network implementing a synchronous trust consensus model
CN111159297A (zh) 一种区块链记账方法、装置、节点及存储介质
CN111654395B (zh) 投票信息处理方法、装置、设备以及存储介质
CN111010284B (zh) 一种待共识区块的处理方法、相关装置及区块链系统
CN108989052B (zh) 交易请求处理方法及系统
CN116319768A (zh) 计算任务的执行方法、装置、存储介质及电子装置
CN115037472A (zh) 基于双层dag共识机制的交易处理方法及系统、服务设备
CN109921897A (zh) 工作量证明计算的触发方法、装置、计算设备及存储介质
CN116827957B (zh) 基于多区块链的信息处理方法、装置、设备以及介质
US11954681B2 (en) Blockchain-enhanced open internet of things access architecture
CN113726828A (zh) 一种支持微服务的高并发的可信区块链系统及方法
CN111340491B (zh) 一种松散耦合的区块链自主交易方法、装置和系统
CN112256305B (zh) 一种区块链软件更新方法及系统
CN112600698B (zh) 应用于非出块节点的区块链共识方法、系统、设备及介质
CN112583908B (zh) 应用于出块节点的区块链共识方法、系统、设备及介质
CN107220897A (zh) 一种收益入账的处理方法和装置以及处理系统
CN112182565A (zh) 基于scv的挖矿方法、装置、存储介质及设备

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