一种基于“提出-背书”的区块链共识方法及相关装置
- 国知局
- 2024-12-06 12:14:39
- 47
本申请涉及区块链,尤其涉及一种基于“提出-背书”的区块链共识方法及相关装置。
背景技术:
1、区块链技术是去中心化网络的基础,可保证网络的透明性、不篡改性、分布性和匿名性。区块链系统包括分布在不同地理位置的多个节点,多个节点之间互不信任。各个节点可能因为网络延迟、系统故障或受到恶意攻击等原因,拥有不同版本的区块链数据。而共识协议作为区块链技术的核心机制之一,可通过一系列的算法规则,允许各个节点在没有中心机构的情况下达成一致意见,使得所有节点彼此之间达成共识,确保所有诚实节点能够就数据的准确性和顺序达成一致,维护了区块链的完整性和安全性。由此可见,共识协议是实现分布式网络信任的基础之一。
2、目前,现有的共识协议包括工作量证明、权益证明、委托权益证明和拜占庭容错。在现有的各个共识协议中,工作量证明和权益证明等协议虽然提供了强大的安全性,但具有计算量大、能耗高的缺点,降低了区块链系统的吞吐量,进而牺牲了可扩展性。为提高可扩展性,现有技术提出了代理pos、分片协议、dag机制和弱共识协议等方案,这些方案均通过妥协去中心化来提高吞吐量,增加了区块链系统受到攻击的风险,进而降低安全性。
3、综上所述,现有技术无法兼顾高吞吐量和高安全性。
技术实现思路
1、本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中无法兼顾高吞吐量和高安全性的技术缺陷。
2、第一方面,本申请实施例提供了一种基于“提出-背书”的区块链共识方法,应用于区块链系统的每个节点,所述方法包括:
3、判断本节点是否为第h+1个区块对应的提出者节点;其中,h为本地链的最新区块高度,所述第h+1个区块对应的提出者节点包括所述区块链系统中的至少一个节点;
4、若所述本节点为所述第h+1个区块对应的提出者节点,则生成并保存区块高度为h+1的原始区块,且将所述原始区块作为第一待背书区块在所述区块链系统中广播;
5、在接收到由其他节点生成的第二待背书区块的情况下,保存所述第二待背书区块,并判断所述本节点是否为所述第二待背书区块对应的背书者节点;
6、若所述本节点为所述第二待背书区块对应的背书者节点,则验证所述第二待背书区块,并在验证通过的情况下,生成并广播所述第二待背书区块的第一背书证明;
7、接收由其他节点生成的第二背书证明,并确定所述第二背书证明对应的被验证区块;
8、在满足区块链更新规则的情况下,在所述本节点保存的各个区块中确定区块高度为h+1的各个目标已背书区块,并在各个所述目标已背书区块中确定一个有效区块;其中,所述本节点至少获取到所述目标已背书区块的k个背书证明,k为预设正整数;
9、根据所述有效区块更新所述本地链。
10、第二方面,本申请实施例提供了一种基于“提出-背书”的区块链共识装置,应用于区块链系统的每个节点,所述装置包括:
11、第一判断模块,用于判断本节点是否为第h+1个区块对应的提出者节点;其中,h为本地链的最新区块高度,所述第h+1个区块对应的提出者节点包括所述区块链系统中的至少一个节点;
12、区块生成模块,用于若所述本节点为所述第h+1个区块对应的提出者节点,则生成并保存区块高度为h+1的原始区块,且将所述原始区块作为第一待背书区块在所述区块链系统中广播;
13、第二判断模块,用于在接收到由其他节点生成的第二待背书区块的情况下,保存所述第二待背书区块,并判断所述本节点是否为所述第二待背书区块对应的背书者节点;
14、背书模块,用于若所述本节点为所述第二待背书区块对应的背书者节点,则验证所述第二待背书区块,并在验证通过的情况下,生成并广播所述第二待背书区块的第一背书证明;
15、背书证明接收模块,用于接收由其他节点生成的第二背书证明,并确定所述第二背书证明对应的被验证区块;
16、有效区块确定模块,用于在满足区块链更新规则的情况下,在所述本节点保存的各个区块中确定区块高度为h+1的各个目标已背书区块,并在各个所述目标已背书区块中确定一个有效区块;其中,所述本节点至少获取到所述目标已背书区块的k个背书证明,k为预设正整数;
17、更新模块,用于根据所述有效区块更新所述本地链。
18、第三方面,本申请实施例提供了一种存储介质,该存储介质中存储有计算机可读指令,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述基于“提出-背书”的区块链共识方法的步骤。
19、第四方面,本申请实施例提供了一种计算机设备,该计算机设备包括:一个或多个处理器,以及存储器;
20、所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行上述任一实施例所述基于“提出-背书”的区块链共识方法的步骤。
21、本申请设计有独特的“提出-背书”两阶段异步共识协议,引入了异步出块和背书机制。其中,异步出块机制通过允许多个节点异步和并行地生成区块,在避免高功耗低吞吐的同时,保证出块过程的去中心化和异步的特性,从而可加快区块链系统的出块速度,提高吞吐量。而背书机制可防止区块链系统被恶意节点攻击,提升了区块链系统的安全性。本申请通过独特的两阶段提案者-背书者共识协议,能够在不牺牲去中心化原则的基础上,提高系统的可扩展性和吞吐量,并保持良好的安全性,以防止攻击和数据篡改。同时,还可降低共识过程成本。
技术特征:1.一种基于“提出-背书”的区块链共识方法,其特征在于,应用于区块链系统的每个节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述判断本节点是否为第h+1个区块对应的提出者节点,包括:
3.根据权利要求2所述的方法,其特征在于,所述随机数包括公共随机种子和nonce值;
4.根据权利要求1所述的方法,其特征在于,所述判断所述本节点是否为所述第二待背书区块对应的背书者节点,包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述在各个所述目标已背书区块中确定一个有效区块,包括:
6.根据权利要求5所述的方法,其特征在于,所述在各个所述目标已背书区块中确定至少一个候选区块,包括:
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述间断高度为h和h’中的较小值。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
10.根据权利要求7所述的方法,其特征在于,所述接收由配对节点发送的预同步信息,包括:
11.根据权利要求5所述的方法,其特征在于,所述方法还包括:
12.根据权利要求11所述的方法,其特征在于,所述若所述同步比较结果为区块高度或区块获取请求,则向所述配对节点返回所述本地链中的部分区块,包括:
13.根据权利要求11所述的方法,其特征在于,所述间断高度为h和h’中的较小值。
14.一种基于“提出-背书”的区块链共识装置,其特征在于,应用于区块链系统的每个节点,所述装置包括:
15.一种存储介质,其特征在于,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至13中任一项所述基于“提出-背书”的区块链共识方法的步骤。
16.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;
技术总结本申请提供了一种基于“提出‑背书”的区块链共识方法及相关装置,引入了异步出块和背书机制。其中,异步出块机制通过允许多个节点异步和并行地生成区块,在避免高功耗低吞吐的同时,保证出块过程的去中心化和异步的特性,从而可加快区块链系统的出块速度,提高吞吐量。而背书机制可防止区块链系统被恶意节点攻击,提升了区块链系统的安全性。本申请通过独特的两阶段提案者‑背书者共识协议,能够在不牺牲去中心化原则的基础上,提高系统的可扩展性和吞吐量,并保持良好的安全性,以防止攻击和数据篡改。同时,还可降低共识过程成本。技术研发人员:黄华威,罗肖飞,殷昭伉,李涛涛,郑子彬受保护的技术使用者:中山大学技术研发日:技术公布日:2024/12/2本文地址:https://www.jishuxx.com/zhuanli/20241204/340187.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表