【技术实现步骤摘要】
区块链系统中的状态验证方法、装置、节点和区块链系统
[0001]本说明书实施例属于区块链
,尤其涉及一种区块链系统中的状态验证方法、装置、节点和区块链系统。
技术介绍
[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。区块链系统中,一般通过全节点作为参与共识的最小设施,全节点需要包括全量数据,以支持共识功能。
技术实现思路
[0003]本专利技术的目的在于提供一种区块链系统中的状态验证方法、装置、节点和区块链系统,可以更为快速的完成对多个状态进行验证,以利提高区块链系统的性能。
[0004]第一方面,提供了一种区块链系统中的状态验证方法,所述区块链系统包括第一节点和第二节点,所述第一节点存储有树状状态数据,所述树状状态数据的叶子节点中包括状态,所述树状状态数据中从根节点到叶子节点的路径上的节点包括所述状态的key,所述树状状态数据中的父节点包括基于其子节点中的数据计算得到的哈希值,所述方法由所述第二节点执行。所述方法包括:从所述第一节点接收多个第一状态;确定所述多个第一状态的key的公共前缀;根据所述多个第一状态,计算所述树状状态数据中与所述公共前缀相对应的中间节点的目标哈希值;对所述目标哈希值进行验证,以对所述 ...
【技术保护点】
【技术特征摘要】
1.一种区块链系统中的状态验证方法,所述区块链系统包括第一节点和第二节点,所述第一节点存储有树状状态数据,所述树状状态数据的叶子节点中包括状态,所述树状状态数据中从根节点到叶子节点的路径上的节点包括所述状态的key,所述树状状态数据中的父节点包括基于其子节点中的数据计算得到的哈希值,所述方法由所述第二节点执行,包括:从所述第一节点接收多个第一状态;确定所述多个第一状态的key的公共前缀;根据所述多个第一状态,计算所述树状状态数据中与所述公共前缀相对应的中间节点的目标哈希值;对所述目标哈希值进行验证,以对所述多个第一状态进行验证。2.根据权利要求1所述的方法,所述对所述目标哈希值进行验证包括:获取所述树状状态数据中根节点的第一哈希值和若干树节点的哈希值,根据所述若干树节点的哈希值与所述目标哈希值计算所述根节点的第二哈希值,验证所述第二哈希值与所述第一哈希值是否相同。3.根据权利要求1所述的方法,所述第二节点中存储有与所述树状状态数据对应的树状验证数据,所述树状验证数据的叶子节点中包括所述状态的哈希值,所述树状验证数据中从根节点到叶子节点的路径上的节点包括所述状态的key,所述树状验证数据中的父节点包括基于其子节点中的数据计算得到的哈希值;所述对所述目标哈希值进行验证,包括:获取所述树状验证数据中根节点的第一哈希值和若干树节点的哈希值,根据所述若干树节点的哈希值与所述目标哈希值计算所述根节点的第二哈希值,验证所述第二哈希值与所述第一哈希值是否相同。4.根据权利要求2或3所述的方法,所述树节点是,所述根节点到所述中间节点的路径上的节点的兄弟节点。5.根据权利要求1所述的方法,所述对所述目标哈希值进行验证,包括:确定所述中间节点的当前哈希值与所述目标哈希值是否相同。6.根据权利要求1所述的方法,所述第一状态的key表征注册在所述区块链系统中的用户账户;或者,所述第一状态的key表征属于注册在所述区块链系统中的合约账户的变量。7.根据权利要求1所述的方法,所述父节点的子节点是叶子节点的情况下,所述父节点包括的哈希值,基于所述父节点的子节点所包括的状态的哈希值,以及所述父节点的子节点所包括的状态的key的组成部分计算得到。8.根据权利要求1所述的方法,所述从所述第一节点接收多个第一状态,包括:从所述第一节点接收共识提议,所述共识提议包括待执行的多个交易的读集,所述读集包括所述第一节点根据所述多个交易从所述树状状态数据中读取的所述多个第一状态;所述方法还包括:根据所述多个第一状态的验证结果与所述第一节点、所述区块链系统中的其它共识节点对所述共识提议进行共识。9.根据权利要求8所述的方法,所述共识提议中还包括所述多个交易的排列顺序,所述方法还包括:在对所述共识提议达成共识的情况下,根据所述排列顺序和所述读集执行所述多个交易以得到写集,所述写集用于更新若干第...
【专利技术属性】
技术研发人员:卓海振,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。