一种主链和侧链的数据交换方法及装置制造方法及图纸

技术编号:25405859 阅读:21 留言:0更新日期:2020-08-25 23:09
本申请提供了一种主链和侧链的数据交换方法及装置,包括主链向侧链的数据交换,由主链系统投票选举出的仲裁节点将主链系统上的第一跨链数据交互请求转换成为第二跨链数据交互请求,由于第二跨链数据交互信息中包含有供侧链系统验证的第一跨链数据交互信息和SPV证明路径信息,侧链系统无需预先保存主链系统所有区块链头信息也可对主链系统上的交易请求进行验证;还包括侧链向主链的数据交换,仲裁节点不仅需要将第三跨链数据交互请求转换成能够被主链系统认同的第四跨链数据交互请求,还要预设数量的仲裁节点对第四跨链数据交互请求进行签名验证,主链系统无需保存侧链系统的区块头信息也能够实现侧链系统向主链系统的安全可信数据交换。

【技术实现步骤摘要】
一种主链和侧链的数据交换方法及装置
本申请涉及区块链跨链
,尤其涉及一种主链和侧链的数据交换方法及装置。
技术介绍
侧链技术的主要作用就是解决主链和侧链之间的转账问题,需要保障主链和侧链之间的转账是安全可信的。AdamBack等人发表了著名侧链白皮书,提出了双向锚定(Two-waypeg,简称2WP)技术,解决两个链系统之间资产转移的问题。基于SPV(SimplifiedPaymentVerification,简单交易验证)来互相验证交易在另一链系统上存在是常用的跨链认证手段,但这种验证需要保存对方的所有区块头信息。通常来说,主链和侧链是一对多的关系,如果使用对称的双向锚定技术,对于侧链来讲,只需保存一份主链的全部区块头信息即可,但对于主链,需要保存所有侧链的区块头信息,需要消耗大量存储空间,无形中加重了主链的存储负担,且侧链存储主链区块头信息也需要消耗一定的存储空间。
技术实现思路
本申请提供了一种主链和侧链的数据交换方法及系统,目的在于解决主链侧链之间数据交换安全的前提下,减轻主链和侧链的存储负担的问题。为了实现上述目的,本申请提供了以下技术方案:一种主链和侧链的数据交换方法,用于由主链系统向侧链系统进行数据交换,由所述主链系统投票选举出仲裁节点,所述仲裁节点执行的步骤包括:获取用户通过钱包发起的第一跨链数据交互请求,并从所述第一跨链数据交互请求中提取第一跨链数据交互信息,所述第一跨链数据交互信息包括主链出账地址、侧链入账地址及从所述主链出账地址中请求的转账额度;将所述第一跨链数据交互请求在所述主链系统上进行广播,在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,记录所述第一跨链数据交互信息;根据所述第一跨链数据交互信息构建在所述侧链系统上的第二跨链数据交互请求,从所述第二跨链数据交互请求中提取第二跨链数据交互信息,所述第二跨链数据交互信息包含所述第一跨链数据交互信息和SPV证明路径信息;将所述第二跨链数据交互请求发送至所述侧链系统,以使所述侧链系统根据所述第一跨链数据交互信息和SPV证明路径信息对所述第二跨链数据交互请求进行验证后记录第二跨链数据交互信息,并为所述侧链入账地址发放所述转账额度。在其中一个实施例中,所述第一跨链数据交互信息还包括所述主链系统上预设的表示所述侧链系统账号的侧链映射地址;所述将所述第一跨链数据交互请求在所述主链系统上进行广播,在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,记录所述第一跨链数据交互信息的步骤包括:在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,将所述转账额度从所述主链出账地址转入所述侧链映射地址,转入所述侧链映射地址的所述转账额度处于冻结状态;所述根据所述第一跨链数据交互信息构建在所述侧链系统上的第二跨链数据交互请求,所述第二跨链数据交互请求包含所述第一跨链数据交互信息和SPV证明路径信息的步骤包括:经过预设确认期后,获取所述侧链入账地址,构建向所述侧链入账地址发放所述转账额度,并携带所述第一跨链数据交互请求的SPV证明路径信息的第二跨链数据交互请求。本申请还提供一种主链和侧链的数据交换装置,用于由主链系统向侧链系统进行转账,包括由所述主链系统投票选举出仲裁节点;所述仲裁节点包括:第一交易获取模块,用于获取用户通过钱包发起的第一跨链数据交互请求,并从所述第一跨链数据交互请求提取第一跨链数据交互信息,所述第一跨链数据交互信息包括主链出账地址、侧链入账地址及从所述主链出账地址中请求的转账额度;第一交易验证模块,用于将所述第一跨链数据交互请求在所述主链系统上进行广播,在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,记录所述第一跨链数据交互信息;第一交易构建模块,用于根据所述第一跨链数据交互信息构建在所述侧链系统上的第二跨链数据交互请求,从所述第二跨链数据交互请求中提取第二跨链数据交互信息,所述第二跨链数据交互信息包含所述第一跨链数据交互信息和SPV证明路径信息;发放模块,用于将所述第二跨链数据交互请求发送至所述侧链系统,以使所述侧链系统根据所述第一跨链数据交互信息和SPV证明路径信息对所述第二跨链数据交互请求进行验证后记录第二跨链数据交互信息,并为所述侧链入账地址发放所述转账额度。在其中一个实施例中,所述第一跨链数据交互信息还包括所述主链系统上预设的表示所述侧链系统的侧链映射地址;所述第一交易验证模块包括冻结单元,用于在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,将所述转账额度从所述主链出账地址转入所述侧链映射地址,转入所述侧链映射地址的所述转账额度处于冻结状态;所述第一交易构建模块包括第一交易构建单元,用于经过预设确认期后,获取所述侧链入账地址,构建向所述侧链入账地址发放所述转账额度,并携带所述第一跨链数据交互请求的SPV证明路径信息的第二跨链数据交互请求。本申请还提供一种主链和侧链的数据交换方法,用于由侧链系统向主链系统进行转账,由所述主链系统投票选举出多个仲裁节点,多个所述仲裁节点能够定期轮换,当前轮值的仲裁节点为轮值仲裁节点,所述轮值仲裁节点执行的步骤包括:获取用户通过钱包发起的第三跨链数据交互请求,并从所述第三跨链数据交互请求中提取第三跨链数据交互信息,所述第三跨链数据交互信息包括侧链出账地址、主链入账地址及从所述侧链出账地址中请求的提币额度;将所述第三跨链数据交互请求在所述侧链系统上进行广播,在得到所述侧链系统上侧链节点对所述第三跨链数据交互请求进行验证后,记录所述第三跨链数据交互信息;根据所述第三跨链数据交互信息构建在所述主链系统上的第四跨链数据交互请求,并将所述第四跨链数据交互请求广播至所有所述仲裁节点,以得到预设数量的仲裁节点对所述第四跨链数据交互请求签名后的签名数据交互请求;将所述签名数据交互请求发送至所述主链系统,以使所述主链系统的主链节点对所述签名数据交互请求进行验证后记录所述签名数据交互请求的相关信息,向所述主链入账地址转入所述提币额度。在其中一个实施例中,所述第三跨链数据交互信息中还包括所述主链系统上预设的表示所述侧链系统账号的侧链映射地址;所述根据所述第三跨链数据交互信息构建在所述主链系统上的第四跨链数据交互请求的步骤,包括:获取所述侧链映射地址,从所述侧链映射地址中解锁所述提币额度,构建将解锁的所述提币额度从所述侧链映射地址中转入所述主链入账地址的第四跨链数据交互请求;在所述主链入账地址入账所述提币额度的步骤之前,还包括:将所述侧链映射地址中的所述提币额度处于解冻状态。在其中一个实施例中,所述将所述第三跨链数据交互请求在所述侧链系统上进行广播,在得到所述侧链系统上侧链节点对所述第三跨链数据交互请求进行验证后,记录所述第三跨链数据交互信息的步骤之后,还包括:将所述侧链系统上的所述侧链出账地址中的提币额度处于冻结状本文档来自技高网...

【技术保护点】
1.一种主链和侧链的数据交换方法,用于由主链系统向侧链系统进行数据交换,其特征在于,由所述主链系统投票选举出仲裁节点,所述仲裁节点执行的步骤包括:/n获取用户通过钱包发起的第一跨链数据交互请求,并从所述第一跨链数据交互请求中提取第一跨链数据交互信息,所述第一跨链数据交互信息包括主链出账地址、侧链入账地址及从所述主链出账地址中请求的转账额度;/n将所述第一跨链数据交互请求在所述主链系统上进行广播,在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,记录所述第一跨链数据交互信息;/n根据所述第一跨链数据交互信息构建在所述侧链系统上的第二跨链数据交互请求,从所述第二跨链数据交互请求中提取第二跨链数据交互信息,所述第二跨链数据交互信息包含所述第一跨链数据交互信息和SPV证明路径信息;/n将所述第二跨链数据交互请求发送至所述侧链系统,以使所述侧链系统根据所述第一跨链数据交互信息和SPV证明路径信息对所述第二跨链数据交互请求进行验证后记录第二跨链数据交互信息,并为所述侧链入账地址发放所述转账额度。/n

【技术特征摘要】
1.一种主链和侧链的数据交换方法,用于由主链系统向侧链系统进行数据交换,其特征在于,由所述主链系统投票选举出仲裁节点,所述仲裁节点执行的步骤包括:
获取用户通过钱包发起的第一跨链数据交互请求,并从所述第一跨链数据交互请求中提取第一跨链数据交互信息,所述第一跨链数据交互信息包括主链出账地址、侧链入账地址及从所述主链出账地址中请求的转账额度;
将所述第一跨链数据交互请求在所述主链系统上进行广播,在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,记录所述第一跨链数据交互信息;
根据所述第一跨链数据交互信息构建在所述侧链系统上的第二跨链数据交互请求,从所述第二跨链数据交互请求中提取第二跨链数据交互信息,所述第二跨链数据交互信息包含所述第一跨链数据交互信息和SPV证明路径信息;
将所述第二跨链数据交互请求发送至所述侧链系统,以使所述侧链系统根据所述第一跨链数据交互信息和SPV证明路径信息对所述第二跨链数据交互请求进行验证后记录第二跨链数据交互信息,并为所述侧链入账地址发放所述转账额度。


2.根据权利要求1所述的方法,其特征在于,所述第一跨链数据交互信息还包括所述主链系统上预设的表示所述侧链系统账号的侧链映射地址;
所述将所述第一跨链数据交互请求在所述主链系统上进行广播,在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,记录所述第一跨链数据交互信息的步骤包括:
在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,将所述转账额度从所述主链出账地址转入所述侧链映射地址,转入所述侧链映射地址的所述转账额度处于冻结状态;
所述根据所述第一跨链数据交互信息构建在所述侧链系统上的第二跨链数据交互请求,所述第二跨链数据交互请求包含所述第一跨链数据交互信息和SPV证明路径信息的步骤包括:
经过预设确认期后,获取所述侧链入账地址,构建向所述侧链入账地址发放所述转账额度,并携带所述第一跨链数据交互请求的SPV证明路径信息的第二跨链数据交互请求。


3.一种主链和侧链的数据交换装置,用于由主链系统向侧链系统进行转账,其特征在于,包括由所述主链系统投票选举出仲裁节点;
所述仲裁节点包括:第一交易获取模块,用于获取用户通过钱包发起的第一跨链数据交互请求,并从所述第一跨链数据交互请求提取第一跨链数据交互信息,所述第一跨链数据交互信息包括主链出账地址、侧链入账地址及从所述主链出账地址中请求的转账额度;
第一交易验证模块,用于将所述第一跨链数据交互请求在所述主链系统上进行广播,在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,记录所述第一跨链数据交互信息;
第一交易构建模块,用于根据所述第一跨链数据交互信息构建在所述侧链系统上的第二跨链数据交互请求,从所述第二跨链数据交互请求中提取第二跨链数据交互信息,所述第二跨链数据交互信息包含所述第一跨链数据交互信息和SPV证明路径信息;
发放模块,用于将所述第二跨链数据交互请求发送至所述侧链系统,以使所述侧链系统根据所述第一跨链数据交互信息和SPV证明路径信息对所述第二跨链数据交互请求进行验证后记录第二跨链数据交互信息,并为所述侧链入账地址发放所述转账额度。


4.根据权利要求3所述的装置,其特征在于,所述第一跨链数据交互信息还包括所述主链系统上预设的表示所述侧链系统的侧链映射地址;
所述第一交易验证模块包括冻结单元,用于在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,将所述转账额度从所述主链出账地址转入所述侧链映射地址,转入所述侧链映射地址的所述转账额度处于冻结状态;
所述第一交易构建模块包括第一交易构建单元,用于经过预设确认期后,获取所述侧链入账地址,构建向所述侧链入账地址发放所述转账额度,并携带所述第一跨链数据交互请求的SPV证明路径信息的第二跨链数据交互请求。


5.一种主链和侧链的数据交换方法,用于由侧链系统向主链系统进行转账,其特征在于,由所述主链系统投票选举出多个仲裁节点,多个所述仲裁节点能够定期轮换,当前轮值的仲裁节点为轮值仲裁节点,所述轮值仲裁节点执行的步骤包括:
获取用户通过钱包发起的第三跨链数据交互请求,并从所述...

【专利技术属性】
技术研发人员:吴良顺刘金波
申请(专利权)人:卓尔智联武汉研究院有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1