[发明专利]用于防止区块链分叉的方法和设备有效
申请号: | 202010276328.1 | 申请日: | 2020-04-09 |
公开(公告)号: | CN111445247B | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 安德鲁·威廉·罗斯科;陈邦道 | 申请(专利权)人: | 堡垒科技有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06F16/2458;G06F16/22 |
代理公司: | 北京天澜智慧知识产权代理有限公司 11558 | 代理人: | 尚继栋;师琦 |
地址: | 英国牛津郡库姆*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 防止 区块 分叉 方法 设备 | ||
1.一种防止区块链分叉的方法,其特征在于所述方法通过对所述区块链的每个区块建立后向链接并根据所述后向链接的数量进行判断实现,包括如下步骤:
S101,选择连续的s个区块Bn至Bn+s;
S102,由创建所述连续的s个区块中区块Bn的节点An生成针对所述区块Bn的密钥对,其中所述区块Bn内包含所述密钥对中的公钥PKn,所述密钥对中的私钥PK'n由所述节点An单独持有;
S103,所述节点An在所述区块链不断生成区块Bn+1到Bn+s的过程中保持活跃,直到所述连续的s个区块中的所述区块Bn+s成为不可篡改的区块;
S104,响应于所述连续的s个区块中的所述区块Bn+s成为不可篡改的区块,使用私钥PK’n对区块Bn+s进行签名;
S105,响应于所述区块链后续生成区块Bm,将所述签名置于所述区块Bm中,其中mn+s;
S106,由创建所述连续的s个区块Bn至Bn+s中每一个区块的节点均执行S102至S105,由此形成多个与所述区块链的区块规模相关的后向链接,并且其中每个区块都被其之前的区块证明存在于所述区块链的主链上;
S107,当接收到声称是合法区块链主链上的一条新链时,由新加入的节点根据所述后向链接的数量判断所述新链是否发生分叉,包括:其中在所述新链的任意连续的s个区块中存在L个后向链接的情况下,响应于Gs/2且L≥s/2,判断所述新链为没有发生分叉的主链;响应于1≤G≤s/2且Ls-G,判断所述新链为没有发生分叉的主链;响应于LG,判断所述新链为发生分叉的分叉链;响应于G≤L≤s-G,无法判断所述新链是否发生分叉,其中G表示所述连续的s个区块中可信任节点的最小数量。
2.根据权利要求1所述的方法,其特征在于所述节点An使用且仅使用一次所述私钥PK'n,对所述连续的s个区块Bn至Bn+s中每一个区块所生成的密钥对均为重新生成的。
3.根据权利要求1所述的方法,其特征在于所述公钥PKn基于哈希签名算法生成,其中所述哈希签名算法包括Lamport算法。
4.根据权利要求1所述的方法,其特征在于还包括将所述签名置于所述区块链的所述区块Bn+s以外的其他位置,以确保在所述S105中能够将所述签名置于所述区块Bm中。
5.根据权利要求4所述的方法,其特征在于所述签名作为交易存放在所述区块链中。
6.根据权利要求4所述的方法,其特征在于将所述签名复制以获得复制签名,并将所述签名和所述复制签名均存储在所述区块链上。
7.根据权利要求1所述的方法,其特征在于在执行所述S105之前对所述签名的合法性进行检查,通过所述合法性检查的所述签名继续执行所述S105,而没有通过合法性检查的所述签名被所述区块链视为非法签名从而拒绝执行所述S105。
8.根据权利要求1所述的方法,其特征在于所述签名的过程在可信执行环境中执行。
9.根据权利要求1所述的方法,其特征在于所述区块链为公链。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于堡垒科技有限公司,未经堡垒科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010276328.1/1.html,转载请声明来源钻瓜专利网。