[发明专利]用于促进区块链之间的数据传输的方法和系统在审
申请号: | 201880038550.9 | 申请日: | 2018-10-16 |
公开(公告)号: | CN112041833A | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 托马斯·汤普森 | 申请(专利权)人: | 因特比有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;H04L9/06;H04L9/32 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 谢攀;刘继富 |
地址: | 加拿大阿*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 促进 区块 之间 数据传输 方法 系统 | ||
用于促进区块链之间的数据传输的方法、系统和技术。从第一区块链向第二区块链发送数据。数据包括允许第二区块链验证第一区块链的至少一个区块的世系的世系验证数据;使用至少一个区块存储的所有非报头数据的适当子集;以及允许第二区块链验证从第一区块链发送到第二区块链的所有非报头数据的适当子集的有效性的有效性验证数据。非报头数据的适当子集可以是存储在第一区块链中的应用的状态数据切片。第二区块链验证它接收的数据的世系和有效性,并创建具有包括它接收到的数据的非报头数据的新区块。
技术领域
本公开涉及用于促进区块链之间的数据传输的方法、系统和技术。
背景技术
区块链是分布在计算机节点上并且天生就抵抗损坏和篡改的数据库。虽然最初被用于比特币,但是总的说来区块链具有大大超出比特币和金融服务行业的应用。
发明内容
根据第一方面,提供了一种用于促进区块链之间的数据传输的方法,该方法包括从第一区块链向第二区块链发送:允许第二区块链验证第一区块链的至少一个区块的世系的世系验证数据;使用至少一个区块存储的所有非报头数据的适当子集;以及允许第二区块链验证从第一区块链发送到第二区块链的所有非报头数据的适当子集的有效性的有效性验证数据。
非报头数据可以包括应用数据。
所有应用数据的适当子集可以包括使用至少一个区块存储的所有状态数据的适当子集,其中状态数据表示被表达为使用第一区块链存储的计算机程序代码的应用的状态。
所有应用数据的适当子集还可以包括由应用执行并且导致应用的状态的第一动作。
世系验证数据可以包括:至少一个区块的哈希;紧接在至少一个区块下面的第一区块链中的区块的报头的哈希;应用数据的哈希;和第一区块链的节点的用来确定针对至少一个区块达到共识的足够数量的数字签名。
有效性验证数据可以包括一个或多个哈希值,该一个或多个哈希值被选择来允许第二区块链确定Merkle路径,该Merkle路径是从被发送到第二区块链的所有应用数据的适当子集的哈希到Merkle根的。
该方法还可以包括,在发送之前:从第二区块链接收针对所有应用数据的适当子集的请求,其中请求包括第一区块链的起始区块高度;确定起始区块高度处的第一区块链的区块与当前区块高度处的第一区块链的区块之间所存储的所有应用数据的适当子集中的差异;以及仅发送在所有应用数据的适当子集中的差异作为所有应用数据的适当子集。
该方法还可以包括,在接收请求之前,向第二区块链发送更新,该更新通知第二区块链第一区块链已经添加了区块。
更新可以包括已经添加的区块的高度以及已经添加的区块的报头的哈希。
该方法还可以包括,在发送所有应用数据的适当子集之前:获得标识第二区块链的唯一链标识符;尝试使用链标识符来确认第二区块链的身份;以及仅当确认第二区块链的身份的尝试成功时,发送所有应用数据的适当子集。
获得唯一链标识符可以包括通过对组成包含随机种子的创世区块(genesisblock)的值进行数字签名来生成链标识符。
所有应用数据的适当子集可以包括要由被表达为使用第二区块链存储的计算机程序代码的应用执行的第二动作。
该方法还可以包括,在将第二动作发送到第二区块链之后,从第二区块链接收:允许第一区块链验证第二区块链的至少一个区块的世系的世系验证数据;指示在第二区块链处第二动作是未决的数据,其中使用第二区块链的至少一个区块来存储指示第二动作是未决的数据;以及有效性验证数据,该有效性验证数据允许第一区块链验证指示在第二区块链处第二动作是未决的数据的有效性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于因特比有限公司,未经因特比有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880038550.9/2.html,转载请声明来源钻瓜专利网。