logo好方法网

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


技术摘要:
本申请提供了一种主链和侧链的数据交换方法及装置,包括主链向侧链的数据交换,由主链系统投票选举出的仲裁节点将主链系统上的第一跨链数据交互请求转换成为第二跨链数据交互请求,由于第二跨链数据交互信息中包含有供侧链系统验证的第一跨链数据交互信息和SPV证明路径  全部
背景技术:
侧链技术的主要作用就是解决主链和侧链之间的转账问题,需要保障主链和侧链 之间的转账是安全可信的。Adam  Back等人发表了著名侧链白皮书,提出了双向锚定(Two- way  peg,简称2WP)技术,解决两个链系统之间资产转移的问题。基于SPV(Simplified  Payment  Verification,简单交易验证)来互相验证交易在另一链系统上存在是常用的跨 链认证手段,但这种验证需要保存对方的所有区块头信息。 通常来说,主链和侧链是一对多的关系,如果使用对称的双向锚定技术,对于侧链 来讲,只需保存一份主链的全部区块头信息即可,但对于主链,需要保存所有侧链的区块头 信息,需要消耗大量存储空间,无形中加重了主链的存储负担,且侧链存储主链区块头信息 也需要消耗一定的存储空间。
技术实现要素:
本申请提供了一种主链和侧链的数据交换方法及系统,目的在于解决主链侧链之 间数据交换安全的前提下,减轻主链和侧链的存储负担的问题。 为了实现上述目的,本申请提供了以下技术方案: 一种主链和侧链的数据交换方法,用于由主链系统向侧链系统进行数据交换,由 所述主链系统投票选举出仲裁节点,所述仲裁节点执行的步骤包括: 获取用户通过钱包发起的第一跨链数据交互请求,并从所述第一跨链数据交互请 求中提取第一跨链数据交互信息,所述第一跨链数据交互信息包括主链出账地址、侧链入 账地址及从所述主链出账地址中请求的转账额度; 将所述第一跨链数据交互请求在所述主链系统上进行广播,在得到所述主链系统 上主链节点对所述第一跨链数据交互请求进行验证后,记录所述第一跨链数据交互信息; 根据所述第一跨链数据交互信息构建在所述侧链系统上的第二跨链数据交互请 求,从所述第二跨链数据交互请求中提取第二跨链数据交互信息,所述第二跨链数据交互 信息包含所述第一跨链数据交互信息和SPV证明路径信息; 将所述第二跨链数据交互请求发送至所述侧链系统,以使所述侧链系统根据所述 第一跨链数据交互信息和SPV证明路径信息对所述第二跨链数据交互请求进行验证后记录 第二跨链数据交互信息,并为所述侧链入账地址发放所述转账额度。 在其中一个实施例中,所述第一跨链数据交互信息还包括所述主链系统上预设的 表示所述侧链系统账号的侧链映射地址; 所述将所述第一跨链数据交互请求在所述主链系统上进行广播,在得到所述主链 系统上主链节点对所述第一跨链数据交互请求进行验证后,记录所述第一跨链数据交互信 5 CN 111585767 A 说 明 书 2/11 页 息的步骤包括: 在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,将所 述转账额度从所述主链出账地址转入所述侧链映射地址,转入所述侧链映射地址的所述转 账额度处于冻结状态; 所述根据所述第一跨链数据交互信息构建在所述侧链系统上的第二跨链数据交 互请求,所述第二跨链数据交互请求包含所述第一跨链数据交互信息和SPV证明路径信息 的步骤包括: 经过预设确认期后,获取所述侧链入账地址,构建向所述侧链入账地址发放所述 转账额度,并携带所述第一跨链数据交互请求的SPV证明路径信息的第二跨链数据交互请 求。 本申请还提供一种主链和侧链的数据交换装置,用于由主链系统向侧链系统进行 转账,包括由所述主链系统投票选举出仲裁节点; 所述仲裁节点包括:第一交易获取模块,用于获取用户通过钱包发起的第一跨链 数据交互请求,并从所述第一跨链数据交互请求提取第一跨链数据交互信息,所述第一跨 链数据交互信息包括主链出账地址、侧链入账地址及从所述主链出账地址中请求的转账额 度; 第一交易验证模块,用于将所述第一跨链数据交互请求在所述主链系统上进行广 播,在得到所述主链系统上主链节点对所述第一跨链数据交互请求进行验证后,记录所述 第一跨链数据交互信息; 第一交易构建模块,用于根据所述第一跨链数据交互信息构建在所述侧链系统上 的第二跨链数据交互请求,从所述第二跨链数据交互请求中提取第二跨链数据交互信息, 所述第二跨链数据交互信息包含所述第一跨链数据交互信息和SPV证明路径信息; 发放模块,用于将所述第二跨链数据交互请求发送至所述侧链系统,以使所述侧 链系统根据所述第一跨链数据交互信息和SPV证明路径信息对所述第二跨链数据交互请求 进行验证后记录第二跨链数据交互信息,并为所述侧链入账地址发放所述转账额度。 在其中一个实施例中,所述第一跨链数据交互信息还包括所述主链系统上预设的 表示所述侧链系统的侧链映射地址; 所述第一交易验证模块包括冻结单元,用于在得到所述主链系统上主链节点对所 述第一跨链数据交互请求进行验证后,将所述转账额度从所述主链出账地址转入所述侧链 映射地址,转入所述侧链映射地址的所述转账额度处于冻结状态; 所述第一交易构建模块包括第一交易构建单元,用于经过预设确认期后,获取所 述侧链入账地址,构建向所述侧链入账地址发放所述转账额度,并携带所述第一跨链数据 交互请求的SPV证明路径信息的第二跨链数据交互请求。 本申请还提供一种主链和侧链的数据交换方法,用于由侧链系统向主链系统进行 转账,由所述主链系统投票选举出多个仲裁节点,多个所述仲裁节点能够定期轮换,当前轮 值的仲裁节点为轮值仲裁节点,所述轮值仲裁节点执行的步骤包括: 获取用户通过钱包发起的第三跨链数据交互请求,并从所述第三跨链数据交互请 求中提取第三跨链数据交互信息,所述第三跨链数据交互信息包括侧链出账地址、主链入 账地址及从所述侧链出账地址中请求的提币额度; 6 CN 111585767 A 说 明 书 3/11 页 将所述第三跨链数据交互请求在所述侧链系统上进行广播,在得到所述侧链系统 上侧链节点对所述第三跨链数据交互请求进行验证后,记录所述第三跨链数据交互信息; 根据所述第三跨链数据交互信息构建在所述主链系统上的第四跨链数据交互请 求,并将所述第四跨链数据交互请求广播至所有所述仲裁节点,以得到预设数量的仲裁节 点对所述第四跨链数据交互请求签名后的签名数据交互请求; 将所述签名数据交互请求发送至所述主链系统,以使所述主链系统的主链节点对 所述签名数据交互请求进行验证后记录所述签名数据交互请求的相关信息,向所述主链入 账地址转入所述提币额度。 在其中一个实施例中,所述第三跨链数据交互信息中还包括所述主链系统上预设 的表示所述侧链系统账号的侧链映射地址; 所述根据所述第三跨链数据交互信息构建在所述主链系统上的第四跨链数据交 互请求的步骤,包括: 获取所述侧链映射地址,从所述侧链映射地址中解锁所述提币额度,构建将解锁 的所述提币额度从所述侧链映射地址中转入所述主链入账地址的第四跨链数据交互请求; 在所述主链入账地址入账所述提币额度的步骤之前,还包括: 将所述侧链映射地址中的所述提币额度处于解冻状态。 在其中一个实施例中,所述将所述第三跨链数据交互请求在所述侧链系统上进行 广播,在得到所述侧链系统上侧链节点对所述第三跨链数据交互请求进行验证后,记录所 述第三跨链数据交互信息的步骤之后,还包括: 将所述侧链系统上的所述侧链出账地址中的提币额度处于冻结状态; 所述将所述第四跨链数据交互请求广播至所有所述仲裁节点,得到预设数量的仲 裁节点对所述第四跨链数据交互请求签名后的签名数据交互请求的步骤之后,还包括: 收取所述主链系统发放的交易费用。 本申请还提供一种主链和侧链的数据交换装置,用于由侧链系统向主链系统进行 转账,包括由所述主链系统投票选举出多个仲裁节点,多个所述仲裁节点能够定期轮换,当 前轮值的仲裁节点为轮值仲裁节点,所述轮值仲裁节点包括: 第二交易获取模块,用于获取用户通过钱包发起的第三跨链数据交互请求,并从 所述第三跨链数据交互请求中提取第三跨链数据交互信息,所述第三跨链数据交互信息包 括侧链出账地址、主链入账地址及从所述侧链出账地址中请求的提币额度; 第二交易验证模块,用于将所述第三跨链数据交互请求在所述侧链系统上进行广 播,在得到所述侧链系统上侧链节点对所述第三跨链数据交互请求进行验证后,记录所述 第三跨链数据交互信息; 第二交易构建模块,用于根据所述第三跨链数据交互信息构建在所述主链系统上 的第四跨链数据交互请求,并将所述第四跨链数据交互请求广播至所有所述仲裁节点,得 到预设数量的仲裁节点对所述第四跨链数据交互请求签名后的签名数据交互请求; 转入模块,用于将所述签名数据交互请求发送至所述主链系统,以使所述主链系 统的主链节点对所述签名数据交互请求进行验证后记录所述签名数据交互请求的相关信 息,向所述主链入账地址转入所述提币额度。 在其中一个实施例中,所述第三跨链数据交互信息中还包括所述主链系统上预设 7 CN 111585767 A 说 明 书 4/11 页 的表示所述侧链系统账号的侧链映射地址; 所述第二交易构建模块包括第二交易构建单元,用于获取所述侧链映射地址,从 所述侧链映射地址中解锁所述提币额度,构建将解锁的所述提币额度从所述侧链映射地址 中转入所述主链入账地址的第四跨链数据交互请求; 所述转入模块包括解冻单元,用于在所述主链入账地址入账所述提币额度之前, 将所述侧链映射地址中的所述提币额度处于解冻状态。 在其中一个实施例中,还包括: 冻结模块,用于记录所述第三跨链数据交互信息之后,将所述侧链系统上的所述 侧链出账地址中的提币额度处于冻结状态; 交易费用发放模块,用于在所述将所述第四跨链数据交互请求广播至所有所述仲 裁节点,得到预设数量的仲裁节点对所述第四跨链数据交互请求签名后的签名数据交互请 求之后,收取所述主链系统发放的交易费用。 本申请所述的主链和侧链的数据交换方法及装置,包括主链向侧链的数据交换, 由主链系统投票选举出的仲裁节点将主链系统上的第一跨链数据交互请求转换成为第二 跨链数据交互请求,由于第二跨链数据交互信息中包含有供侧链系统验证的第一跨链数据 交互信息和SPV证明路径信息,侧链系统无需预先保存主链系统所有区块链头信息也可对 主链系统上的交易请求进行验证;还包括侧链向主链的数据交换,仲裁节点不仅需要将第 三跨链数据交互请求转换成能够被主链系统认同的第四跨链数据交互请求,还要预设数量 的仲裁节点对第四跨链数据交互请求进行签名验证,主链系统无需保存侧链系统的区块头 信息也能够实现侧链系统向主链系统的安全可信数据交换。 附图说明 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。 图1为本申请第一具体实施例的主链和侧链的数据交换方法的流程示意图; 图2为本申请一具体实施例中默克尔路径示意图 图3为本申请一具体实施例中主链系统向侧链系统进行数据交换的过程示意图; 图4为本申请第一具体实施例的主链和侧链的数据交换装置的结构示意图; 图5为本申请第二具体实施例的主链和侧链的数据交换方法的流程示意图; 图6为本申请一具体实施例中侧链系统向主链系统进行数据交换的过程示意图; 图7为本申请第二具体实施例的主链和侧链的数据交换装置的结构示意图; 图8为本申请实施例公开的电子设备的结构示意图。
分享到:
收藏