The invention provides a software upgrade method and device based on block chain, which includes: proposing user nodes to initiate software upgrade proposals; voting on software upgrade proposals by authenticating user nodes on block chain network; notifying all user nodes on block chain network to upgrade software if the result of voting meets the preset passing conditions; Each user node downloads and installs the new version software on the block chain network; counts the number of user nodes whose software version information is the new version software; if the number of user nodes of the new version software meets the preset numerical range, the block chain network software upgrades successfully. The software upgrade method and device of the present invention can support block chain software to be smoothly upgraded forward compatible by means of chain governance, initiate the software upgrade process through the participation of each node, switch the agreed future block height to a new version of the protocol, and fully compatible with the historical version of the chain data.
【技术实现步骤摘要】
一种基于区块链的软件升级方法及装置
本专利技术属于区块链
,尤其涉及一种基于区块链的软件升级方法及装置。
技术介绍
区块链网络软件升级要完成网络中各节点自主安装新版本软件并重启节点,然后支持升级后的协议在某个约定的未来区块高度生效。区块链系统是通过多点计算机运行网络节点软件共同维护分布式的账本,可以可信高效地支持去中心化业务协作,因其去中心化/分布式运行的特点,无法像一般中心化系统那样通过单个节点或单服务器的软件升级完成整个网络的软件升级,如何在开放的分布式区块链网络中协调所有节点完成分布式的软件升级是个很大的难题,现阶段不同类型区块链根据其所使用的共识算法有不同的实现,也有其各种局限。区块链的共识算法包括概率性共识和确定性共识。概率性共识是以比特币/以太坊为代表所使用的工作量证明算法,它的特点是会不断产生分叉,但以最长链作为生效链的共识,其概率性表现在每个块的数据后面一般需要等待6个区块才不可逆转。因为只需要在新产生的区块中维护其上一个区块数据的哈希值,故一个区块后面可以同时链接上不同分叉的区块数据。由于这种分叉的特性,工作量证明的区块链一般采用软分叉或硬分叉的方式进行软件升级,新老版本的协议可以并行不悖的在两个网络上运行。硬分叉,是指当区块链节点代码发生改变后,旧节点拒绝接受由新节点创造的区块,不符合原规则的区块将被忽略,记账节点会按照原规则,在他们最后验证的区块之后创建新的区块。而软分叉是指旧的节点并不会意识到其他节点代码发生改变,并继续接受由新节点创造的区块。软分叉和硬分叉如果能支持"向后兼容",就能保证新节点可以从头验证区块链。向后兼容是指 ...
【技术保护点】
1.一种基于区块链的软件升级方法,其特征在于,包括:提议用户节点发起软件升级提议;区块链网络上的验证用户节点对所述软件升级提议进行投票表决;如果所述投票表决结果满足预设通过条件,则通知区块链网络上的所有用户节点进行软件升级;区块链网络上的各用户节点下载并安装新版本软件;统计区块链网络上软件版本信息为新版本软件的用户节点的数量;如果所述新版本软件的用户节点的数量满足预设数值范围,则区块链网络软件升级成功。
【技术特征摘要】
1.一种基于区块链的软件升级方法,其特征在于,包括:提议用户节点发起软件升级提议;区块链网络上的验证用户节点对所述软件升级提议进行投票表决;如果所述投票表决结果满足预设通过条件,则通知区块链网络上的所有用户节点进行软件升级;区块链网络上的各用户节点下载并安装新版本软件;统计区块链网络上软件版本信息为新版本软件的用户节点的数量;如果所述新版本软件的用户节点的数量满足预设数值范围,则区块链网络软件升级成功。2.根据权利要求1所述的基于区块链的软件升级方法,其特征在于,所述提议用户节点发起软件升级提议的步骤之前还包括:获取区块链网络的系统变量值;如果所述系统变量值满足预设升级条件,则允许所述提议用户节点发起软件升级提议。3.根据权利要求1所述的基于区块链的软件升级方法,其特征在于,所述提议用户节点发起软件升级提议的步骤包括:区块链网络上的用户节点利用区块链通证对所述软件升级提议进行通证低押,其中所述区块链网络上的用户节点为提议用户节点,或者提议用户节点和验证用户节点;获取抵押的所述区块链通证的抵押额;如果所述抵押额超过预设抵押额,则所述软件升级提议转入投票表决,并退还抵押的所述区块链通证,否则,继续所述软件升级提议的通证抵押。4.根据权利要求3所述的基于区块链的软件升级方法,其特征在于,所述提议用户节点发起软件升级提议的步骤还包括:获取所述软件升级提议在通证抵押停留期内区块链的出块数目;如果在通证抵押的停留期内的所述区块链的出块数目超过抵押周期区块链阈值,则所述软件升级提议关闭。5.根据权利要求1所述的基于区块链的软件升级方法,其特征在于,所预设通过条件为:所述验证用户节点数量与所述区块链网络上的用户节点的总数之比大于2/3且所述验证用户节点中赞成所述软件升级提议...
【专利技术属性】
技术研发人员:奚海峰,程司雷,曹恒,徐嘉城,刘浩洋,程文席,
申请(专利权)人:上海边界智能科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。