技术新讯 > 计算推算,计数设备的制造及其应用技术 > 区块链共识方法、装置、计算机设备、介质及产品与流程  >  正文

区块链共识方法、装置、计算机设备、介质及产品与流程

  • 国知局
  • 2024-09-14 14:26:37

本技术涉及区块链,尤其涉及一种区块链共识方法、一种区块链共识装置、一种计算机设备、一种计算机可读存储介质及一种计算机程序产品。

背景技术:

1、在基于诸如拜占庭等共识算法的去中心化网络环境中,共识节点由分散在不同地域、不同组织的参与者运营,为了防止攻击,导致网络中的多个节点被同一参与方控制,破坏共识的安全性,需要在诸如联盟链等区块链场景中使用基于证书的安全处理方式进行防御。

2、具体的,证书方式的原理大致如下:由有一个具有公信力的机构或项目方线下审批准备参与共识的节点方,对符合规定的验证方颁发有效的节点证书;当节点参与方在链上参与共识时,可使用颁发的节点证书对共识消息进行签名,并将签名和节点证书作为签名背书信息与共识消息一起发送给参与共识的其它共识节点进行共识验证。现有方案中,共识节点通常采用节点完整的证书数据进行区块的签名背书,这样会导致签名背书后生成的提案消息数据量占比较大。

技术实现思路

1、本技术实施例提出了一种区块链共识方法、装置、计算机设备、介质及产品,可减少提案消息的数据量,从而提高共识效率。

2、一方面,本技术实施例提供了一种区块链共识方法,该方法包括:

3、获取待共识的交易区块,待共识的交易区块是基于待打包的一个或多个交易数据生成的;

4、采用提案节点的哈希指纹对交易区块进行签名背书处理,得到签名背书信息,哈希指纹是对提案节点对应的证书数据进行哈希运算处理后确定的;

5、对签名背书信息和交易区块进行组装处理,生成提案消息;

6、将提案消息广播至区块链中的至少一个验证节点,以触发各个验证节点根据提案消息中的提案节点的哈希指纹,对提案消息进行共识处理。

7、一方面,本技术实施例提供了一种区块链共识方法,该方法包括:

8、获取提案节点发送的提案消息,提案消息是对签名背书信息和交易区块进行组装处理后生成的,签名背书信息是基于提案节点的哈希指纹对交易区块进行签名背书处理后确定的,哈希指纹是对提案节点对应的证书数据进行哈希运算处理后确定的;

9、解析提案消息得到提案节点的哈希指纹,并按照哈希指纹获取提案节点的证书数据;

10、根据获取到的所述证书数据,对提案消息进行共识处理。

11、一方面,本技术实施例提供了一种区块链共识装置,该装置包括:

12、获取单元,用于获取待共识的交易区块,待共识的交易区块是基于待打包的一个或多个交易数据生成的;

13、处理单元,用于采用提案节点的哈希指纹对交易区块进行签名背书处理,得到签名背书信息,哈希指纹是对提案节点对应的证书数据进行哈希运算处理后确定的;

14、处理单元,还用于对签名背书信息和交易区块进行组装处理,生成提案消息;

15、发送单元,用于将提案消息广播至区块链中的至少一个验证节点,以触发各个验证节点根据提案消息中的提案节点的哈希指纹,对提案消息进行共识处理。

16、在一种可能的实现方式中,处理单元还用于执行以下操作:

17、接收运营节点发送的合约调用交易数据,合约调用交易数据包括:系统合约的合约标识;

18、根据提案节点的证书数据对已打包的交易区块进行签名背书处理,生成待上链的节点提案,已打包的交易区块包括合约调用交易数据;

19、若确定对节点提案的区块链共识通过,则根据系统合约的合约标识对提案节点的证书数据进行上链处理;

20、其中,合约标识用于指示提案节点、以及任一验证节点将提案节点的证书数据存储至各自的合约数据库中,合约数据库中维护有合约标识所指示的系统合约。

21、在一种可能的实现方式中,处理单元根据提案节点的证书数据对已打包的交易区块进行签名背书处理,生成待上链的节点提案之后,还用于执行以下操作:

22、将待上链的节点提案广播至区块链中的至少一个验证节点,以触发各个验证节点对提案节点对应的证书数据进行上链处理;

23、接收各个验证节点发送的投票结果,投票结果是指任一验证节点对待上链的节点提案进行共识处理后生成的;

24、若根据接收到的各投票结果确定对节点提案的区块链共识通过,则获取提案节点的证书数据的哈希指纹,并将提案节点的证书数据和哈希指纹关联存储至提案节点的合约数据库中。

25、在一种可能的实现方式中,处理单元根据系统合约的合约标识对提案节点的证书数据进行上链处理,用于执行以下操作:

26、若根据接收到的各投票结果确定对节点提案共识通过,则生成节点提案共识通过的通知消息,通知消息携带有系统合约的合约标识;

27、将所通知消息发送至区块链中的各个验证节点,通知消息用于触发任一验证节点将提案节点的证书数据存储至各自对应的合约数据库中;

28、其中,任一验证节点的合约数据库中维护的系统合约中记录有:针对提案节点关联存储的哈希指纹和证书数据。

29、在一种可能的实现方式中,处理单元将提案消息广播至区块链中的至少一个验证节点之后,还用于执行以下操作:

30、接收各个验证节点发送的投票消息,投票消息是由任一验证节点对提案消息进行共识处理后生成的;

31、若根据接收到的各投票消息确定提案消息满足共识条件,则将提案消息对应的交易区块进行上链处理;

32、其中,任一验证节点执行的共识处理包括:验证提案节点针对交易区块中各交易数据的交易执行结果与验证节点针对交易区块中各交易数据的交易执行结果是否一致、验证提案消息是否由提案节点生成。

33、在一种可能的实现方式中,待打包的交易数据为多个;处理单元还用于执行以下操作:

34、获取待打包的各交易数据的获取时间,并按照各交易数据的获取时间对多个交易数据的执行顺序进行排列处理,确定各交易数据的交易执行顺序;

35、将交易执行顺序打包至提案消息中;

36、其中,交易执行顺序用于触发接收到提案消息的任一验证节点按照交易执行顺序所指示的顺序执行交易区块中的各交易数据。

37、一方面,本技术实施例提供了一种区块链共识装置,该装置包括:

38、接收单元,用于接收提案节点发送的提案消息,提案消息是对签名背书信息和交易区块进行组装处理后生成的,签名背书信息是基于提案节点的哈希指纹对交易区块进行签名背书处理后确定的,哈希指纹是对提案节点对应的证书数据进行哈希运算处理后确定的;

39、处理单元,用于解析提案消息得到提案节点的哈希指纹,并按照哈希指纹获取提案节点的证书数据;

40、处理单元,还用于根据获取到的证书数据,对提案消息进行共识处理。

41、在一种可能的实现方式中,处理单元按照哈希指纹获取提案节点的证书数据,用于执行以下操作:

42、根据哈希指纹从验证节点的缓存组件中进行数据查询,并将查询到的数据作为提案节点的证书数据;或者,

43、若从验证节点的缓存组件中未查询到相应数据,则按照哈希指纹查询验证节点的合约数据库,以得到提案节点的证书数据;

44、其中,缓存组件中用于存储从合约数据库中查询得到的证书数据。

45、在一种可能的实现方式中,处理单元还用于执行以下操作:

46、若根据哈希指纹从缓存组件中未查询到相应数据、并且根据哈希指纹从合约数据库中未查询到相应数据,则生成针对提案消息的共识不通过的投票消息;

47、将共识不通过的投票消息发送至提案节点。

48、在一种可能的实现方式中,处理单元根据获取到的证书数据,对提案消息进行共识处理,用于执行以下操作:

49、确定与获取到的证书数据相关联的提案节点,并验证提案节点是否与当前共识视图中选举出来的主节点一致;

50、若一致,则触发执行对提案消息中的各交易数据进行验证处理的步骤。

51、在一种可能的实现方式中,处理单元还用于执行以下操作:

52、执行提案消息中的交易区块包括的各交易数据,得到各交易数据的交易执行结果;

53、解析提案消息得到提案节点针对交易区块中各交易数据的交易执行结果;

54、若验证节点对应的交易执行结果与提案节点的交易执行结果相同,则生成针对提案消息的共识通过的投票消息,并将投票消息发送至提案节点。

55、在一种可能的实现方式中,处理单元还用于执行以下操作:

56、获取提案节点发送的待上链的节点提案,待上链的节点提案包括提案节点的证书数据;

57、根据节点提案中包括的证书数据对节点提案进行共识处理,共识处理包括:校验提案节点的身份、校验节点提案中交易数据的有效性、安全性中的任一种或多种;

58、若对节点提案共识通过,则生成共识通过的投票结果,并将投票结果发送至提案节点。

59、一方面,本技术实施例提供一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述的区块链共识方法。

60、一方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的区块链共识方法。

61、一方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的区块链共识方法。

62、本技术实施例中,区块链共识过程中,验证节点可接收由提案节点对签名背书信息和交易区块进行组装处理后生成的提案消息,该签名背书信息是基于提案消息的哈希指纹对交易区块进行签名背书处理后确定的,哈希指纹是对提案节点对应的证书数据进行哈希运算后确定的;验证节点可解析该提案消息得到提案节点的哈希指纹,并按照该哈希指纹获取提案节点的证书数据;最后按照获取到的证书数据,可对提案消息进行共识处理。由此可见,提案消息中的签名背书信息是基于提案节点的哈希指纹签名后确定的,相比于直接基于提案节点的证书数据来生成提案消息,本技术可减少共识提案的体积量,降低提案节点与验证节点之间网络传输的数据量,从而提高共识效率。

本文地址:https://www.jishuxx.com/zhuanli/20240914/294101.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。