[发明专利]基于责备机制的状态验证方法、系统、P2P网络有效
申请号: | 201910972912.8 | 申请日: | 2019-10-14 |
公开(公告)号: | CN112738141B | 公开(公告)日: | 2023-10-24 |
发明(设计)人: | 伍鸣;龙凡;杨哲 | 申请(专利权)人: | 上海树图区块链研究院 |
主分类号: | H04L67/104 | 分类号: | H04L67/104;G06Q40/04 |
代理公司: | 北京友谊嘉知识产权代理事务所(普通合伙) 16075 | 代理人: | 张会会 |
地址: | 200030 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 责备 机制 状态 验证 方法 系统 p2p 网络 | ||
本发明涉及一种基于责备机制的区块状态验证方法,包括:对于一全节点,验证当前主链上的任一区块的交易状态,判断该任一区块是否为状态正确区块;找出该任一区块的向前正确区块和责备区块;生成该任一区块的第三状态信息;当一轻节点验证该当前主链上的待验区块的交易状态时,从该全节点获取该待验区块的验证状态信息,或确定该待验区块的追责区块,从该全节点获取该追责区块的所有责备区块和该追责区块的验证状态信息,与该轻节点本地存储的该追责区块的第三状态信息进行比较,以验证该全节点提供的验证状态信息的真伪。
技术领域
本发明属于互联网技术领域,具体涉及一种区块链系统的交易状态验证方法及系统。
背景技术
区块链系统由于网络延迟等多方面的原因无法完全避免账本结构中的分叉。在许多区块链的共识协议算法中,虽然主链上的区块的交易执行状态是需要验证的,但分叉链上的区块通常并不需要或无法进行验证。因此,验证分叉链上的区块执行状态会造成严重的额外开销。然而,许多的共识算法对于主链的选择需要一定的时间才能收敛。在未收敛的过程中,靠近账本末端的主链会发生若干次变化。于是,某一时刻在分叉链上的区块可能在下一个时刻变成主链区块。因此,如果在分叉链上的区块不进行状态验证,会使得主链上的区块所存的状态哈希值并不正确,从而无法为轻节点提供状态证明。本发明提出了一种基于责备机制的状态验证方法,使得全节点无需验证分叉链上的交易执行状态,同时又能够为轻节点提供主链区块上的状态证明,从而避免了不必要的计算开销。
目前区块链系统中,每个区块头部会存储该区块执行之后的状态信息。当全节点接收到网络中传来的区块后,它执行该区块,并验证执行之后的状态信息是否与该区块头中存储的状态信息一致。
全节点维护区块链账本中的多条链并根据共识算法选择一条主链,其他链为分叉链。全节点接收网络中其他节点传播出来的区块,并将该区块接入到相应的链上;全节点执行该区块所在的链直到该区块的位置,然后验证该区块的状态信息;同时,全节点根据这个新收到的区块重新选择主链。
主链的选择依赖于区块状态信息的验证。这导致主链和分叉链上的区块的状态信息都需要去验证。然而,分叉链上的状态信息对于轻节点来说并没有用。所以分叉链上状态信息的验证造成了计算的浪费。
发明内容
针对现有技术中存在的问题,本发明提出一种基于责备机制的区块状态验证方法,仅对主链上的区块进行交易状态验证,通过增加责备信息和状态信息,使得全节点无需验证分叉链上的交易执行状态,同时又能够为轻节点提供主链区块上的状态证明,从而避免不必要的计算开销。。
具体来说,本方法包括:对于一全节点,验证当前主链上的任一区块的交易状态,以该任一区块的真实Merkle树根哈希值为第一状态信息,以该任一区块区块头存储的Merkle树根哈希值为第二状态信息;若该第一状态信息与该第二状态信息相等,则该任一区块为状态正确区块,反之为状态错误区块;以距离该任一区块最近的向前的状态正确区块为该任一区块的向前正确区块;以该任一区块和其向前正确区块之间的区块为该任一区块的责备区块;当该任一区块存在责备区块时,以该任一区块和其所有责备区块的第一状态信息,生成该任一区块的第三状态信息,并以该主链区块为其责备区块的追责区块,反之,则以该任一区块的第一状态信息生成该任一区块的第三状态信息;当一轻节点验证该当前主链上的待验区块的交易状态时,从该全节点获取该待验区块的验证状态信息,或确定该待验区块的追责区块,从该全节点获取该追责区块的所有责备区块和该追责区块的验证状态信息,与该轻节点本地存储的该追责区块的第三状态信息进行比较,以验证该全节点提供的验证状态信息的真伪。
本发明所述的区块状态验证方法,其中对于链入分叉链的区块,该全节点不验证其交易状态。
本发明所述的区块状态验证方法,其中该当前主链中,当区块BN-M为区块BN的向前正确区块时,区块BN的责备信息blameN=M-1,其中,M、N为正整数,M<N,M≥1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海树图区块链研究院,未经上海树图区块链研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910972912.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种焊接设备的全自动上料下料设备
- 下一篇:乙苯氧化脱氢生产苯乙烯的方法