CN117478299A - 区块链共识算法切换方法、装置和计算机设备 - Google Patents
区块链共识算法切换方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN117478299A CN117478299A CN202311810075.1A CN202311810075A CN117478299A CN 117478299 A CN117478299 A CN 117478299A CN 202311810075 A CN202311810075 A CN 202311810075A CN 117478299 A CN117478299 A CN 117478299A
- Authority
- CN
- China
- Prior art keywords
- consensus
- standby
- target
- node
- network
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000006855 networking Effects 0.000 claims abstract description 32
- 238000012360 testing method Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 10
- 238000012986 modification Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000007599 discharging Methods 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013112 stability test Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种区块链共识算法切换方法、装置和计算机设备。包括:获取共识算法切换请求对应的交易信息;交易信息包括所要切换的目标共识算法和目标触发条件;确定区块链中包括了多个初始共识节点的初始网络,并当初始网络达到目标触发条件时,确定区块链中的备用共识节点;将备用共识节点组网成备用网络,并在备用网络达到目标切换条件时,通过目标共识算法进行备用共识节点之间的共识。采用本方法能够提高共识算法切换的效率并降低共识算法切换的复杂度。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种区块链共识算法切换方法、装置和计算机设备。
背景技术
区块链的共识算法是确保分布式网络中不同节点达成一致的关键机制,也即用来处理网络中的数据一致性问题。共识算法的选择取决于具体的用例和用户需求,每种共识算法都有其优势和劣势,通常需要根据特定情况进行评估和选择。因此,现阶段的研究重点在于如何实现共识算法的灵活切换。
目前的现有方案中,通常采用设计信用评估模型与自适应主节点选取机制,通过对节点进行信用值评估,保证了在算法切换的过程中,表现良好的节点由更大的概率成为主节点,降低区块链遭受攻击的可能性。
然而,现有方案存在以下缺点:(1)共识算法切换时需要先确定共识节点,增加了共识时间,导致共识算法切换不够迅速;(2)共识算法切换时节点需要发起多次共识,设置条件过于复杂,提高了共识算法切换的复杂度;(3)共识算法切换需同步给所有节点使得切换不够灵活。
发明内容
基于此,本申请目的在于提供一种区块链共识算法切换方法、装置和计算机设备,来解决上述所提及的技术问题。
第一方面,本申请提供了一种区块链共识算法切换方法。包括:
获取共识算法切换请求对应的交易信息;所述交易信息包括所要切换的目标共识算法和目标触发条件;
确定区块链中包括了多个初始共识节点的初始网络,并当所述初始网络达到所述目标触发条件时,确定所述区块链中的备用共识节点;
将所述备用共识节点组网成备用网络,并在所述备用网络达到目标切换条件时,通过所述目标共识算法进行所述备用共识节点之间的共识。
在一个实施例中,在所述当所述初始网络达到所述目标触发条件时,确定所述区块链中的备用共识节点之前,还包括:响应于对所述初始网络的触发操作,并确定所述触发操作的操作类型;调用预设的信息阈值法智能合约,并根据所述操作类型从所述信息阈值法智能合约中确定出初始触发条件;当所述初始触发条件与所述目标触发条件相同时,确定所述初始网络达到目标触发条件。
在一个实施例中,所述当所述初始网络达到所述目标触发条件时,确定所述区块链中的备用共识节点,包括:根据所述目标触发条件,调用所述信息阈值法智能合约对应的目标接口;通过所述目标接口调用预设的节点外扩法智能合约;所述节点外扩法智能合约包括所述区块链中的每个节点各自对应的节点信息;根据多个所述节点信息,从所述区块链中筛选出备用共识节点。
在一个实施例中,所述将多个所述备用共识节点组网成备用网络,包括:确定每个所述备用共识节点的组网信息;所述组网信息包括节点地址;根据所述节点地址确定预设的监测信息所对应的监测结果;根据所述监测结果对多个所述备用共识节点进行组网,得到备用网络。
在一个实施例中,在所述将多个所述备用共识节点组网成备用网络之后,还包括:对所述备用网络进行预处理,得到预处理后的备用网络,并确定所述预处理后的备用网络对应的网络特征;调用预设的信息阈值法智能合约中的目标切换条件;所述目标切换条件至少包括区块高度、出块速度和公式效率;根据所述网络特征,判断所述预处理后的备用网络是否达到目标切换条件。
在一个实施例中,对所述备用网络进行预处理,得到预处理后的备用网络,包括:按照预设测试次数对所述备用网络的运行过程进行测试,得到测试结果;根据所述测试结果确定所述预处理后的备用网络。
在一个实施例中,在所述通过所述目标共识算法进行所述备用共识节点之间的共识之后,还包括:将所述初始网络中的每个初始共识节点变更为新的备用共识节点、以及将所述备用网络中的每个备用共识节点变更为新的初始共识节点,并返回至所述获取共识算法切换请求对应的交易信息的步骤继续进行。
第二方面,本申请还提供了一种区块链共识算法切换装置。包括:
信息获取模块,用于获取共识算法切换请求对应的交易信息;所述交易信息包括所要切换的目标共识算法和目标触发条件;
节点确定模块,用于确定区块链中包括了多个初始共识节点的初始网络,并当所述初始网络达到所述目标触发条件时,确定区块链中的备用共识节点;
节点组网模块,用于将所述备用共识节点组网成备用网络,并在备用网络达到目标切换条件时,通过目标共识算法进行所述备用共识节点之间的共识。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取共识算法切换请求对应的交易信息;所述交易信息包括所要切换的目标共识算法和目标触发条件;
确定区块链中包括了多个初始共识节点的初始网络,并当所述初始网络达到所述目标触发条件时,确定所述区块链中的备用共识节点;
将所述备用共识节点组网成备用网络,并在所述备用网络达到目标切换条件时,通过所述目标共识算法进行所述备用共识节点之间的共识。
上述区块链共识算法切换方法、装置和计算机设备,通过获取共识算法切换请求对应的交易信息,并确定区块链中包括了多个初始共识节点的初始网络,进而当初始网络达到目标触发条件时,直接确定区块链中的备用共识节点。通过将备用共识节点组网成备用网络,并在备用网络达到目标切换条件时,便可直接通过目标共识算法,准确地进行备用共识节点之间的共识。由于通过将备用节点替代原来的共识节点进行后续的共识算法切换,也即不用再额外选择新的共识节点,节省了选择共识节点的时间,使得后的切换过程更加迅速和高效。
此外,通过设定明确的目标切换条件便可进行切换操作,避免了传统方案中的共识算法切换时,节点需要发起多次共识或设置多种条件的问题,因此,降低了共识算法切换的复杂度,也为需要进行不同共识算法切换的各种业务场景,提供了功能及性能上的有力支持。由于切换复杂度的降低,也有效降低区块链的平均响应时间,增大服务器的CPU和内存的利用率,避免了资源浪费。
附图说明
图1为一个实施例中区块链共识算法切换方法的应用环境图;
图2为一个实施例中区块链共识算法切换方法的流程示意图;
图3为一个实施例中区块链共识算法切换方法的原理示意图;
图4为另一个实施例中区块链共识算法切换方法的流程示意图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的区块链共识算法切换方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信,网络可为区块链网络。其中,终端102用于发送共识算法切换请求至服务器104。服务器104用于确定共识算法切换请求对应的交易信息;确定区块链中包括了多个初始共识节点的初始网络,并当初始网络达到目标触发条件时,确定区块链中的备用共识节点。服务器104还用于将备用共识节点组网成备用网络,并在备用网络达到目标切换条件时,通过目标共识算法进行备用共识节点之间的共识。其中,终端102可为区块链的所在端,可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、无人机设备、智能车载设备和便携式可穿戴设备等。服务器104可为区块链所在端的服务器,可以用独立的服务器或者是多个服务器组成的服务器集群来实现,可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一个实施例中,如图2所示,提供了一种区块链共识算法切换方法,以该方法应用于计算机设备为例进行说明,该计算机设备可为图1中的终端或服务器,也可为集成了图1中的终端和服务器的设备,包括以下步骤:
步骤202,获取共识算法切换请求对应的交易信息。
其中,交易信息包括所要切换的目标共识算法和目标触发条件。目标触发条件即为算法切换需要触发的条件,如区块链发生了修改或添加;目标共识算法和目标触发条件均通过计算机设备响应于用户的选择操作后得到,且对于不同的业务场景所需要切换的共识算法通常不同。
其中,区块链是一种去中心化的分布式账本技术,包括密码学、点对点网络和共识算法等。区块链的核心概念包括区块、哈希、非对称加密和智能合约等。区块链的技术特征包括不可篡改性、去中心化、匿名性和可编程性等。共识算法的目标是确保所有节点对于交易或状态的验证和确认达成一致的意见,避免任何恶意行为或错误导致数据不一致。常见的区块链共识算法包括:拜占庭容错(Byzantine Fault Tolerance,BFT)等。
步骤204,确定区块链中包括了多个初始共识节点的初始网络,并当初始网络达到目标触发条件时,确定区块链中的备用共识节点。
其中,区块链中的节点可分为普通通信节点、初始共识节点、备用共识节点,普通通信节点只用于区块链间的数据交流;初始共识节点用于区块链在初始共识算下的节点共识;备用共识节点正常情况下运行在区块链网路中,不承担任何功能,在切换成目标共识算法时会被自动转化成共识节点。容易理解的,计算机设备所确定出的初始网络中的多个初始共识节点,也即通过切换之前的初始共识算法,可进行初始共识节点之间的共识。
在一个实施例中,在初始网络达到目标触发条件时,确定区块链中的备用共识节点之前还包括:响应于对初始网络的触发操作,并确定触发操作的操作类型;调用预设的信息阈值法智能合约,并根据操作类型从信息阈值法智能合约中确定出初始触发条件;当初始触发条件与目标触发条件相同时,确定初始网络达到目标触发条件。
其中,信息阈值法智能合约中的触发条件至少包括查询触发条件、修改触发条件、删除触发条件和添加触发条件;信息阈值法智能合约可通过部署得到,可理解为信息阈值法依赖于智能合约实现的形式,信息阈值法依赖的信息主要存储在一个智能合约中,该合约创建一个map来存储多种信息。
具体地,计算机设备响应于用户对初始网络的触发操作,并确定触发操作的操作类型,如修改、删除等,接着便调用预设的信息阈值法智能合约,并从信息阈值法智能合约中查找出与操作类型相关联的初始触发条件。只有当初始触发条件与目标触发条件相同时,计算机设备才可确定初始网络达到目标触发条件。例如,目标触发条件为删除触发条件,实际用户的触发操作对应的操作类型为添加,也即与添加触发条件相关联,也即与目标触发条件不相同,则初始网络并未达到目标触发条件。
进一步地,如图3所示,图3为区块链共识算法切换方法的原理示意图。当初始网络达到目标触发条件时,计算机设备首先发起信息阈值法智能合约的调用,并触发相应的目标接口,进而通过目标接口调用预设的节点外扩法智能合约,便可通过节点外扩法智能合约确定区块链中的备用共识节点。其中,节点外扩法也通过一个预先部署的智能合约来控制,这个智能合约是用户来维护,同时提供一个切换接口给信息阈值法来调用;该智能合约定义了初始共识节点和备用共识节点的统计信息。
步骤206,将多个备用共识节点组网成备用网络,并在备用网络达到目标切换条件时,通过目标共识算法进行备用共识节点之间的共识。
在一个实施例中,将备用共识节点组网成备用网络包括:确定每个备用共识节点的组网信息;根据节点地址确定预设的监测信息所对应的监测结果;根据监测结果对多个备用共识节点进行组网,得到备用网络。
其中,组网信息包括每个备用共识节点的节点地址,如IP地址。
具体地,计算机设备在对备用共识节点进行组网之前,会在每个备用共识节点之间发送预设的监测信息,以确定该备用共识节点是否正常。计算机设备确定多个备用共识节点中的当前备用共识节点,使得当前备用共识节点获取到其他备用共识节点发送过来的组网信息,如节点地址等。当前备用共识节点将预设的监测信息发送至每个节点地址对应的备用共识节点,监测信息可用于对其他备用共识节点进行一系列的监测,并得到监测结果。当前备用共识节点在接收到节点地址对应的备用共识节点所返回的监测结果时,可确定出节点地址对应的备用共识节点是否为正常状态;若是正常状态,则将节点地址对应的备用共识节点进行保留。因此,计算机设备可将所有正常状态下的备用共识节点组网成备用网络。
进一步地, 参考图3所示,计算机设备信息阈值法智能合约判断备用网络是否达到目标切换条件,并在达到目标切换条件后,通知区块链可以进行目标共识算法的切换,此时的区块链正式启用备用网络。
在一个实施例中,在达到目标切换条件之前,计算机设备可调用节点外扩智能合约中的切换准备就绪接口。
在一个实施例中,若备用网络未达到目标切换条件,则初始网络保持不变,也即继续用切换之前的初始共识算法,进行初始共识节点之间的共识。
在一个实施例中,在通过目标共识算法进行备用共识节点之间的共识之后,还包括:将初始网络中的每个初始共识节点变更为新的备用共识节点、以及将备用网络中的每个备用共识节点变更为新的初始共识节点,并返回至获取共识算法切换请求对应的交易信息的步骤继续进行。也即进入新一轮的共识算法切换过程。
在一个实施例中,当通过目标共识算法进行备用共识节点之间的共识,且共识过程稳定时,初始共识节点可变更为普通通信节点。
上述区块链共识算法切换方法中,通过获取共识算法切换请求对应的交易信息,并确定区块链中包括了多个初始共识节点的初始网络,进而当初始网络达到目标触发条件时,直接确定区块链中的备用共识节点。通过将备用共识节点组网成备用网络,并在备用网络达到目标切换条件时,便可直接通过目标共识算法,准确地进行备用共识节点之间的共识。由于通过将备用节点替代原来的共识节点进行后续的共识算法切换,也即不用再额外选择新的共识节点,节省了选择共识节点的时间,使得后的切换过程更加迅速和高效。
此外,通过设定明确的目标切换条件便可进行切换操作,避免了传统方案中的共识算法切换时,节点需要发起多次共识或设置多种条件的问题,因此,降低了共识算法切换的复杂度,也为需要进行不同共识算法切换的各种业务场景,提供了功能及性能上的有力支持。由于切换复杂度的降低,也有效降低区块链的平均响应时间,增大服务器的CPU和内存的利用率,避免了资源浪费。
在一个实施例中,当初始网络达到目标触发条件时,确定区块链中的备用共识节点,包括:根据目标触发条件,调用信息阈值法智能合约对应的目标接口;通过目标接口调用预设的节点外扩法智能合约;根据多个节点信息,从区块链中筛选出备用共识节点。
其中,节点外扩法智能合约包括区块链中的每个节点各自对应的节点信息、以及用于进行调用的接口,如节点增加、删除、修改等操作对应的接口。
具体地,计算机设备根据目标触发条件对应的操作类型,确定给信息阈值法智能合约来调用的目标接口,使得实现对节点外扩法智能合约中的节点信息的调用。例如,操作类型为修改,则目标接口为节点外扩法智能合约中所包括的节点修改接口,并通过节点修改接口来调用节点外扩法智能合约。计算机设备根据当前节点的节点信息,确定当前节点是否为已通过初始共识算法进行过共识操作,若否,则将当前节点作为筛选出的备用共识节点。
在一个实施例中,节点信息可包括节点信任度或节点性能等,计算机设备可不同节点之间节点信任度的或节点性能大小,从区块链的多个节点中筛选出备用共识节点。容易理解的,在进行完每轮的共识算法切换过程后,节点信任度或节点性能均会发生更新。
在一个实施例中,区块链中的每个节点记录了可切换的共识算法,当初步筛选出备用共识节点时,若该备用共识节点中记载了目标共识算法,则将该备用共识节点作为实际可使用的备用共识节点。
在本实施例中,通过提出了一种节点外扩法,不用将整个区块链的节点参与共识,而是有针对性的筛选出备用共识节点作为后续共识算法切换后的共识节点,解决了共识算法切换不够灵活的问题。因此,在不对区块链系统进行停机的情况下,实现了在不同轮次的共识算法切换过程中,对不同共识节点的动态变更,保证了区块链服务的可用性。
在一个实施例中,在将备用共识节点组网成备用网络之后,还包括:对备用网络进行预处理,得到预处理后的备用网络,并确定预处理后的备用网络对应的网络特征;调用预设的信息阈值法智能合约中的目标切换条件;根据网络特征,判断预处理后的备用网络是否达到目标切换条件。
其中,目标切换条件至少包括区块高度、出块速度和公式效率。
具体地,当备用网络形成之后,计算机设备会先测试备用网络是否稳定,进而在备用网络达到稳定时,得到预处理后的备用网络。计算机设备确定预处理后的备用网络对应的网络特征,网络特征可包括备用网络在初步启动下的区块高度、出块速度等。计算机设备从信息阈值法智能合约中获取预先封装了的目标切换条件,并在网络特征符合目标切换条件时,停掉初始共识网络,并正式启动备用网络进行共识。例如,备用网络的网络特征中的区块高度为a,目标切换条件中的区块高度为b,若区块高度为a超过阈值区块高度b,表明预处理后的备用网络已达到目标切换条件。
在一个实施例中,目标切换条件可通过区块高度、出块速度或公式效率中任意多个条件进行组合得到。
在一个实施例中,对备用网络进行预处理,得到预处理后的备用网络,包括:按照预设测试次数对备用网络的运行过程进行测试,得到测试结果;根据测试结果确定预处理后的备用网络。
具体地,计算机设备对初步启动下的备用网络进行运行测试,得到测试结果。当测试结果表征备用网络是否处于稳定状态时,也即表征测试通过,计算机设备停止初始网络中的每个初始共识节点的共识功能,并正式启动备用网络中的每个备用共识节点的共识功能。当测试结果表征备用网络不稳定,计算机设备则按照预设时段继续对备用网络进行预设次数的测试,直至备用网络处于稳定状态。
在本实施例中,通过对备用网络进行预处理来对备用网络进行稳定性测试,使得只有在备用网络能处于稳定状态时,才可实现目标共识算法的切换,提高了目标共识算法的切换的稳定性和准确性。
在一个实施例中,如图4所示,图4为另一个实施例中区块链共识算法切换方法的流程示意图。当用户发起共识算法切换请求时,计算机设备依次调用信息阈值法智能合和节点外扩法智能合约,并通过调用后获取到的备用共识节点进行自动组网。当组网失败时,则表示共识算法切换失败,还是采用原来的初始共识算法来进行共识;当组网成功时,则对新得到的备用网络中的备用共识节点进行预处理。计算机设备判断所述预处理后的备用网络是否达到目标切换条件,若未达到,也即对备用网络进行的稳定性测试不通过,则返回至对备用共识节点进行预处理的过程继续进行;若达到,则停止初始共识节点的共识功能,并正式启动备用网络。
本实施例中涉及到一种基于信号传递的多节点区块链共识算法灵活切换方法,依靠信息阈值法智能合约、节点外扩法智能合约、初始共识节点和备用共识节点等共同完成,当使用节点外扩法在发生共识算法切换需求时,能自动完成初始共识节点切换成其他共识节点的过程,解决了共识算法切换需同步给所有节点使得切换不够灵活的问题。同时,通过采用信息阈值法来设定明确的目标切换条件来切换共识算法,也降低了共识算法切换的复杂度。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的区块链共识算法切换方法的区块链共识算法切换装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个区块链共识算法切换装置实施例中的具体限定可以参见上文中对于区块链共识算法切换方法的限定,在此不再赘述。
在一个实施例中,提供了一种区块链共识算法切换装置,包括:信息获取模块、节点确定模块和节点组网模块,其中:
信息获取模块,用于获取共识算法切换请求对应的交易信息;交易信息包括所要切换的目标共识算法和目标触发条件;
节点确定模块,用于确定区块链中包括了多个初始共识节点的初始网络,并当初始网络达到目标触发条件时,确定区块链中的备用共识节点;
节点组网模块,用于将备用共识节点组网成备用网络,并在备用网络达到目标切换条件时,通过目标共识算法进行备用共识节点之间的共识。
上述区块链共识算法切换中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储交易信息。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种区块链共识算法切换方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(FerroelectricRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandom Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种区块链共识算法切换方法,其特征在于,所述方法包括:
获取共识算法切换请求对应的交易信息;所述交易信息包括所要切换的目标共识算法和目标触发条件;
确定区块链中包括了多个初始共识节点的初始网络,并当所述初始网络达到所述目标触发条件时,确定所述区块链中的备用共识节点;
将多个所述备用共识节点组网成备用网络,并在所述备用网络达到目标切换条件时,通过所述目标共识算法进行所述备用共识节点之间的共识。
2.根据权利要求1所述的方法,其特征在于,在所述当所述初始网络达到所述目标触发条件时,确定所述区块链中的备用共识节点之前,还包括:
响应于对所述初始网络的触发操作,并确定所述触发操作的操作类型;
调用预设的信息阈值法智能合约,并根据所述操作类型从所述信息阈值法智能合约中确定出初始触发条件;所述信息阈值法智能合约中的触发条件至少包括查询触发条件、修改触发条件、删除触发条件和添加触发条件;
当所述初始触发条件与所述目标触发条件相同时,确定所述初始网络达到所述目标触发条件。
3.根据权利要求2所述的方法,其特征在于,所述当所述初始网络达到所述目标触发条件时,确定所述区块链中的备用共识节点,包括:
根据所述目标触发条件,调用所述信息阈值法智能合约对应的目标接口;
通过所述目标接口调用预设的节点外扩法智能合约;所述节点外扩法智能合约包括所述区块链中的每个节点各自对应的节点信息;
根据多个所述节点信息,从所述区块链中筛选出备用共识节点。
4.根据权利要求1所述的方法,其特征在于,所述将多个所述备用共识节点组网成备用网络,包括:
确定每个所述备用共识节点的组网信息;所述组网信息包括节点地址;
根据所述节点地址确定预设的监测信息所对应的监测结果;
根据所述监测结果对多个所述备用共识节点进行组网,得到备用网络。
5.根据权利要求1所述的方法,其特征在于,在所述将多个所述备用共识节点组网成备用网络之后,还包括:
对所述备用网络进行预处理,得到预处理后的备用网络,并确定所述预处理后的备用网络对应的网络特征;
调用预设的信息阈值法智能合约中的目标切换条件;所述目标切换条件至少包括区块高度、出块速度和公式效率;
根据所述网络特征,判断所述预处理后的备用网络是否达到目标切换条件。
6.根据权利要求5所述的方法,其特征在于,所述对所述备用网络进行预处理,得到预处理后的备用网络,包括:
按照预设测试次数对所述备用网络的运行过程进行测试,得到测试结果;
根据所述测试结果确定所述预处理后的备用网络。
7.根据权利要求1所述的方法,其特征在于,在所述通过所述目标共识算法进行所述备用共识节点之间的共识之后,还包括:
将所述初始网络中的每个初始共识节点变更为新的备用共识节点、以及将所述备用网络中的每个备用共识节点变更为新的初始共识节点,并返回至所述获取共识算法切换请求对应的交易信息的步骤继续进行。
8.一种区块链共识算法切换装置,其特征在于,所述装置包括:
信息获取模块,用于获取共识算法切换请求对应的交易信息;所述交易信息包括所要切换的目标共识算法和目标触发条件;
节点确定模块,用于确定区块链中包括了多个初始共识节点的初始网络,并当所述初始网络达到所述目标触发条件时,确定区块链中的备用共识节点;
节点组网模块,用于将所述备用共识节点组网成备用网络,并在备用网络达到目标切换条件时,通过目标共识算法进行所述备用共识节点之间的共识。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311810075.1A CN117478299B (zh) | 2023-12-27 | 2023-12-27 | 区块链共识算法切换方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311810075.1A CN117478299B (zh) | 2023-12-27 | 2023-12-27 | 区块链共识算法切换方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117478299A true CN117478299A (zh) | 2024-01-30 |
CN117478299B CN117478299B (zh) | 2024-03-01 |
Family
ID=89623752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311810075.1A Active CN117478299B (zh) | 2023-12-27 | 2023-12-27 | 区块链共识算法切换方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117478299B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751563A (zh) * | 2019-10-31 | 2020-02-04 | 辽宁振兴银行股份有限公司 | 一种新的区块链共识机制 |
CN110855777A (zh) * | 2019-11-12 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种基于区块链的节点管理方法及装置 |
CN111444210A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块链共识节点管理方法、装置、设备以及存储介质 |
CN111726370A (zh) * | 2020-08-21 | 2020-09-29 | 支付宝(杭州)信息技术有限公司 | 一种自动切换区块链共识协议的方法、系统和装置 |
CN112104685A (zh) * | 2020-03-18 | 2020-12-18 | 上海魔橙网络科技有限公司 | 一种基于区块链的联盟链底层系统 |
WO2021229304A1 (zh) * | 2020-05-11 | 2021-11-18 | 支付宝实验室(新加坡)有限公司 | 智能合约的更新 |
WO2023016090A1 (zh) * | 2021-08-09 | 2023-02-16 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 |
CN116319822A (zh) * | 2022-09-06 | 2023-06-23 | 杭州趣链科技有限公司 | 共识算法的切换方法、装置、计算机设备及介质 |
WO2023179056A1 (zh) * | 2022-03-24 | 2023-09-28 | 腾讯科技(深圳)有限公司 | 区块链网络的共识处理方法、装置、设备及存储介质、程序产品 |
CN116980281A (zh) * | 2022-11-30 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 节点选取方法、装置、第一节点、存储介质及程序产品 |
CN117176735A (zh) * | 2023-09-13 | 2023-12-05 | 湖南天河国云科技有限公司 | 基于云边端的区块链共识机制自适应选择方法及系统 |
CN117221337A (zh) * | 2022-06-02 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 区块链共识方法、装置、介质及电子设备 |
-
2023
- 2023-12-27 CN CN202311810075.1A patent/CN117478299B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751563A (zh) * | 2019-10-31 | 2020-02-04 | 辽宁振兴银行股份有限公司 | 一种新的区块链共识机制 |
CN110855777A (zh) * | 2019-11-12 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种基于区块链的节点管理方法及装置 |
CN112104685A (zh) * | 2020-03-18 | 2020-12-18 | 上海魔橙网络科技有限公司 | 一种基于区块链的联盟链底层系统 |
CN111444210A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块链共识节点管理方法、装置、设备以及存储介质 |
WO2021229304A1 (zh) * | 2020-05-11 | 2021-11-18 | 支付宝实验室(新加坡)有限公司 | 智能合约的更新 |
CN111726370A (zh) * | 2020-08-21 | 2020-09-29 | 支付宝(杭州)信息技术有限公司 | 一种自动切换区块链共识协议的方法、系统和装置 |
WO2023016090A1 (zh) * | 2021-08-09 | 2023-02-16 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 |
WO2023179056A1 (zh) * | 2022-03-24 | 2023-09-28 | 腾讯科技(深圳)有限公司 | 区块链网络的共识处理方法、装置、设备及存储介质、程序产品 |
CN117221337A (zh) * | 2022-06-02 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 区块链共识方法、装置、介质及电子设备 |
CN116319822A (zh) * | 2022-09-06 | 2023-06-23 | 杭州趣链科技有限公司 | 共识算法的切换方法、装置、计算机设备及介质 |
CN116980281A (zh) * | 2022-11-30 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 节点选取方法、装置、第一节点、存储介质及程序产品 |
CN117176735A (zh) * | 2023-09-13 | 2023-12-05 | 湖南天河国云科技有限公司 | 基于云边端的区块链共识机制自适应选择方法及系统 |
Non-Patent Citations (1)
Title |
---|
王晓光;: "区块链技术共识算法综述", 信息与电脑(理论版), no. 09, 8 May 2017 (2017-05-08) * |
Also Published As
Publication number | Publication date |
---|---|
CN117478299B (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193490B (zh) | 一种基于区块链的分布式数据存储系统及方法 | |
WO2016177130A1 (zh) | 通讯节点的选择方法及装置 | |
CN112291298B (zh) | 异构系统的数据传输方法、装置、计算机设备和存储介质 | |
CN111367659B (zh) | 一种Kubernetes中节点的资源管理方法、设备以及介质 | |
CN112597202B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
WO2021184878A1 (zh) | 用于区块链系统的节点管理的方法、节点和计算设备 | |
CN113067897B (zh) | 跨链交互方法及装置 | |
CN112631680B (zh) | 微服务容器调度系统、方法、装置和计算机设备 | |
CN113609231B (zh) | 一种维护区块链系统的网络架构信息的方法和装置 | |
CN107943615B (zh) | 基于分布式集群的数据处理方法与系统 | |
CN117478299B (zh) | 区块链共识算法切换方法、装置和计算机设备 | |
CN114564153B (zh) | 一种卷映射解除方法、装置、设备和存储介质 | |
CN114866560B (zh) | 区块链节点迁移的方法、装置、电子设备及可读存储介质 | |
CN115914404A (zh) | 集群流量管理方法、装置、计算机设备和存储介质 | |
CN113010337A (zh) | 故障检测方法、总控节点、工作节点及分布式系统 | |
CN112801769B (zh) | 账务数据处理方法、装置及系统 | |
CN115665228B (zh) | 一种跨节点的服务发现方法及装置 | |
CN115730016B (zh) | 数据同步方法、系统、装置、计算机设备和存储介质 | |
CN115022157B (zh) | 一种集群内节点故障转移的方法、装置、设备及介质 | |
CN118540328A (zh) | 资源处理方法、装置、设备、可读存储介质和程序产品 | |
CN114185896B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115967678A (zh) | 流量限制方法、装置、计算机设备和存储介质 | |
CN118069293A (zh) | 集群扩缩容方法、装置、设备、介质和程序产品 | |
CN118260344A (zh) | 目标分布式缓存框架的构建方法、装置、计算机设备和存储介质 | |
CN116319623A (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 |