【技术实现步骤摘要】
一种自动切换区块链共识协议的方法、系统和装置
本说明书涉及区块链领域,特别涉及一种自动切换区块链共识协议的方法、系统和装置。
技术介绍
区块链是基于共识协议的分布式、去中心化的数据库。区块链平台在运行过程中,需要根据运行环境(节点数量、网络环境、账户安全等)的改变对共识协议进行灵活的切换和升级,同时保证基于不同共识协议生产的历史区块的兼容性。因此,希望提供一种自动切换区块链共识协议的方法、系统和装置。
技术实现思路
本说明书实施例的一个方面提供一种自动切换区块链共识协议的方法,包括:接收与共识协议切换相关的交易请求,并基于交易请求调用共识协议切换的智能合约,将智能合约中共识协议切换的触发条件和目标共识协议的标识写入账本;根据账本判断当前环境是否满足所述共识协议切换的触发条件,当判断结果为满足时,调用目标共识协议;基于目标共识协议执行交易的共识。本说明书实施例的另一个方面提供一种自动切换区块链共识协议的系统,所述系统位于区块链节点上。所述系统包括:记录模块,用于接收与共识协议切换相关的交易请求,并基于交易请求调用共识协议切换的智能合约,将智能合约中共识协议切换的触发条件和目标共识协议的标识写入账本;调用模块,用于根据账本判断当前环境是否满足所述共识协议切换的触发条件,当判断结果为满足时,调用目标共识协议;执行模块,用于基于目标共识协议执行交易的共识。本说明书另一个方面提供一种自动切换区块链共识协议的装置,包括处理器,所述处理器用于执行实现自动切换区块链共识协议的方法。 ...
【技术保护点】
1.一种自动切换区块链共识协议的方法,所述方法由区块链节点执行,其包括:/n接收与共识协议切换相关的交易请求,并基于所述交易请求调用共识协议切换的智能合约,将所述智能合约中共识协议切换的触发条件和目标共识协议的标识写入账本;/n根据所述账本判断当前环境是否满足所述共识协议切换的触发条件,当判断结果为满足时,调用所述目标共识协议;/n基于所述目标共识协议执行交易的共识。/n
【技术特征摘要】
1.一种自动切换区块链共识协议的方法,所述方法由区块链节点执行,其包括:
接收与共识协议切换相关的交易请求,并基于所述交易请求调用共识协议切换的智能合约,将所述智能合约中共识协议切换的触发条件和目标共识协议的标识写入账本;
根据所述账本判断当前环境是否满足所述共识协议切换的触发条件,当判断结果为满足时,调用所述目标共识协议;
基于所述目标共识协议执行交易的共识。
2.根据权利要求1所述的方法,所述方法还包括:
当所述共识协议切换完成后,在所述账本中记录切换成所述目标共识协议的切换参数。
3.根据权利要求1所述的方法,所述目标共识协议为已经标准化的共识协议,所述已经标准化的共识协议包括:
创建模块,所述创建模块用于创建区块;
填充模块,所述填充模块用于将交易填充至所述区块并完成所述区块的打包;
广播模块,所述广播模块用于确定具有广播资格的节点,所述具有广播资格的节点将生成的所述区块广播给其他节点;
验证模块,所述验证模块用于验证所述区块。
4.根据权利要求1所述的方法,所述将所述智能合约中共识协议切换的触发条件和目标共识协议的标识写入账本,包括:
基于原始共识协议,对所述交易请求进行共识;
当所述交易请求完成共识后,将所述共识协议切换的触发条件和所述目标共识协议的标识写入所述账本。
5.根据权利要求1所述的方法,所述当前环境至少反映以下一种或多种信息:
当前区块的块高、当前时间、当前所述区块链中至少一个账户的账户金额、当前所述区块链中节点数量和当前所述区块链中至少一个节点对切换的投票结果。
6.根据权利要求5所述的方法,所述当前环境包括当前所述区块链中至少一个节点对切换的投票结果,
所述根据所述账本判断当前环境是否满足共识协议切换的触发条件,包括:
获取投票将所述原始共识协议切换为所述目标共识协议相关的投票交易请求;
调用投票的智能合约,确定将所述原始共识协议切换为所述目标共识协议的投票结果;
判断所述投票结果是否满足所述触发条件。
7.根据权利要求2所述的方法,所述方法还包括:
在所述区块链中加入新节点,所述新节点对所述区块进行验证,包括:
从所述新节点的账本中读取所述目标共识协议切换的切换参数;
基于生成所述区块时的相关信息和所述切换参数,确定验证所述区块的共识协议。
8.根据权利要求3所述的方法,所述当判断结果为满足时,调用所述目标共识协议,包括:
发起所述目标共识协议的调用请求,所述调用请求对应于所述创建模块、所述填充模块、所述广播模块和所述验证模块中一个或多个;
基于至少一个接口,根据所述调用请求调用对应的模块,以及获取所述对应的模块执行的结果。
9.一种自动切换区块链共识协议...
【专利技术属性】
技术研发人员:李翰林,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。