【技术实现步骤摘要】
用于更新区块链节点处的公钥集合的方法及装置
本说明书实施例涉及区块链技术,具体地,涉及用于更新区块链节点处的公钥集合的方法及装置。
技术介绍
在区块链系统中,出于某些区块链操作的需要,可能会在各个区块链节点处维护区块链系统中所有区块链节点的公钥集合。在区块链系统中,难免会发生区块链节点变更,例如新区块链节点加入区块链系统或已加入的区块链节点退出区块链系统。在发生区块链节点变更时,需要一种可信任的方式来更新区块链系统中的公钥集合。
技术实现思路
鉴于上述,本说明书实施例提供了一种用于更新区块链节点处的公钥集合的方法及装置。根据本说明书实施例的一个方面,提供了一种用于更新区块链节点处的公钥集合的方法,所述公钥集合包括区块链网络中的所有参与共识的区块链节点的公钥,所述方法包括:针对新加入的至少一个区块,基于该区块的区块头中的收据索引信息和节点变更类交易标识,确定该区块中是否存在所述节点变更类交易标识所指示的节点变更类交易,所述节点变更类交易以用于执行区块链节点变更操作的智能合约为交易对象,所述收据索引信息包括交易类型标识字段,所述交易类型标识字段指示该区块中的各个交易的交易类型;当该区块中存在节点变更类交易时,获取该区块的区块体信息;从所述区块体信息中获取所述节点变更类交易的收据信息,所述收据信息包括公钥字段,所述公钥字段用于存放所述节点变更类交易所指示的被变更区块链节点的公钥;从所述收据信息的公钥字段中获取的被变更区块链节点的公钥;以及利用所获取的公钥来更新所述公钥集合。可选的,在一个 ...
【技术保护点】
1.一种用于更新区块链节点处的公钥集合的方法,所述公钥集合包括区块链网络中的所有参与共识的区块链节点的公钥,所述方法包括:/n针对新加入的至少一个区块,基于该区块的区块头中的收据索引信息和节点变更类交易标识,确定该区块中是否存在所述节点变更类交易标识所指示的节点变更类交易,所述节点变更类交易以用于执行区块链节点变更操作的智能合约为交易对象,所述收据索引信息包括交易类型标识字段,所述交易类型标识字段指示该区块中的各个交易的交易类型;/n当该区块中存在节点变更类交易时,获取该区块的区块体信息;/n从所述区块体信息中获取所述节点变更类交易的收据信息,所述收据信息包括公钥字段,所述公钥字段用于存放所述节点变更类交易所指示的被变更区块链节点的公钥;/n从所述收据信息的公钥字段中获取的被变更区块链节点的公钥;以及/n利用所获取的公钥来更新所述公钥集合。/n
【技术特征摘要】
1.一种用于更新区块链节点处的公钥集合的方法,所述公钥集合包括区块链网络中的所有参与共识的区块链节点的公钥,所述方法包括:
针对新加入的至少一个区块,基于该区块的区块头中的收据索引信息和节点变更类交易标识,确定该区块中是否存在所述节点变更类交易标识所指示的节点变更类交易,所述节点变更类交易以用于执行区块链节点变更操作的智能合约为交易对象,所述收据索引信息包括交易类型标识字段,所述交易类型标识字段指示该区块中的各个交易的交易类型;
当该区块中存在节点变更类交易时,获取该区块的区块体信息;
从所述区块体信息中获取所述节点变更类交易的收据信息,所述收据信息包括公钥字段,所述公钥字段用于存放所述节点变更类交易所指示的被变更区块链节点的公钥;
从所述收据信息的公钥字段中获取的被变更区块链节点的公钥;以及
利用所获取的公钥来更新所述公钥集合。
2.如权利要求1所述的方法,其中,所述区块体信息包括交易树和收据树,从所述区块体信息中获取所述节点变更类交易的收据信息包括:
基于所述节点变更类交易标识,确定被指定发起所述节点变更类交易的指定发起方地址以及所述节点变更类交易对应的智能合约地址;
基于所述区块体信息中的交易树信息和所述指定发起方地址以及所述智能合约地址,从所述交易树中确定出所述节点变更类交易以及所述节点变更类交易在所述交易树中的第一位置;以及
从所述收据树中获取与所确定的第一位置对应的第二位置处的收据信息。
3.如权利要求2所述的方法,其中,在获取所述收据树中的与所确定的第一位置对应的第二位置处的收据信息之前,从所述区块体信息中获取所述节点变更类交易的收据信息还包括:
基于所述节点变更类交易中包含的交易对象地址和所述智能合约的智能合约地址,对所述节点变更类交易进行验证,
获取所述收据树中的与所确定的第一位置对应的第二位置处的收据信息包括:
当所述节点变更交易验证通过时,获取所述收据树中的与所确定的第一位置对应的第二位置处的收据信息。
4.如权利要求3所述的方法,其中,基于从所述交易树中确定出的节点变更类交易的交易对象地址信息和所述智能合约的智能合约地址,对所述节点变更类交易进行验证包括:
基于从所述交易树中确定出的节点变更类交易的交易发起方地址、交易对象地址、所述指定发起方地址以及所述智能合约地址,对所查找出的节点变更交易进行验证。
5.如权利要求1-4中任一所述的方法,其中,所述节点变更类交易标识指示节点新增类交易,利用所获取的公钥来更新所述公钥集合包括:
将所述公钥添加到所述公钥集合中,或
所述节点变更类交易标识指示节点删除类交易,利用所获取的公钥来更新所述公钥集合包括:
将所述公钥从所述公钥集合中删除。
6.如权利要求1-4中任一所述的方法,其中,所述区块链系统为联盟链系统。
7.如权利要求1-4中任一所述的方法,其中,所述智能合约布署在创世区块中。
8.一种用于在联盟...
【专利技术属性】
技术研发人员:林鹏,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。