一种区块链多链跨链系统及其实现机制[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202011283243.2
(22)申请日 2020.11.17
(71)申请人 北京物资学院
地址 101149 北京市通州区富河大街321号
(72)发明人 丁毅 马宁 华芳 钟琼慧 
师灵芝 王晨硕 李洁 靳军 
(51)Int.Cl.
G06F  16/27(2019.01)
G06F  21/60(2013.01)
G06F  21/64(2013.01)
G06Q  40/04(2012.01)
(54)发明名称一种区块链多链跨链系统及其实现机制(57)摘要本发明提供一种区块链多链跨链系统,包括:区块链原有层级的基础层、核心层、业务层以及跨链层,基础层封装了密码学、P2P及数据库技术;核心层由智能合约和共识算法构成,用于实现区块链主要业务逻辑;业务层封装应用场景,为用户
提供与区块链交互的接口,跨链层由跨链智能合约及跨链底层合约构成,分别包含跨链通证转移合约及跨链查值合约和跨链通证转移底层合约及跨链查值底层合约,区块链多链跨链系统交互机制可在没有可信第三方情况下,支持异构区块链间资产转移与信息交互,实现链与链的互联互通,支持异构区块链通信的跨链交互机制支持跨链通证转移及跨链查值,并提出了跨链通证转移协议及用于保障跨链交易原子性及安全
性的策略。权利要求书4页  说明书13页  附图6页CN 112287029 A 2021.01.29
C N  112287029
A
1.一种区块链多链跨链系统,其特征在于包括:基础层、核心层、业务层以及核心层和基础层之间的跨链层,其中,所述基础层、核心层及业务层为区块链原有层级,基础层是区块链的最底层,封装了密码学、P2P及数据库技术;核心层由智能合约和共识算法构成,用于实现区块链主要的业务逻辑;业务层封装了区块链的应用场景,为用户提供与区块链交互的接口。
2.根据权利要求1所述的一种区块链多链跨链系统,其特征在于:所述跨链层由跨链智能合约及跨链底层合约两部分构成,所述跨链智能合约包含跨链通证转移合约及跨链查值合约,其与区块链系统上智能合
约的编写、部署及调用规则完全一致,负责调用跨链底层合约实现对外交互,并记录交互过程中产生的信息;所述跨链底层合约支持通过发送HTTP请求来获取外部数据,所述跨链底层合约需要在区块链上线时部署且其地址需被提前定义,包含跨链通证转移底层合约及跨链查值底层合约两部分;区块链间的资产转移操作由跨链通证转移合约及跨链通证转移底层合约负责,所述跨链查值合约及所述跨链查值底层合约用于实现链间的查值操作;其中,跨链通证转移合约由路由合约、通证控制合约、跨链交易发起合约及跨链交易接收合约四个合约组成,跨链查值合约由路由合约、用户合约及查询合约组成,所述跨链通证转移底层合约包括转移发送模块和状态查询模块。
3.根据权利要求2所述的一种区块链多链跨链系统,其特征在于:所述区块链多链跨链系统的链间交互方式包括:在没有第三方公证人或区块链的情况下,实现链间直接交互,区块链网络中的节点被分为普通节点及跨链节点,其中,普通节点只参与共识过程,而跨链节点负责跨链交易的接收,其数量为一个或多个,在发起跨链交易前,跨链双方需要在对方区块链上注册跨链节点的链标识chainFlag、IP地址及跨链所用合约的地址,所述链间交互方式的形式包括:链间通证转移以及链间查值,所述跨链通证转移支持链与链的一对一交互方式,所述跨链查值支持一链对多链的链间交互。
4.根据权利要求2所述的一种区块链多链跨链系统,其特征在于:所述区块链多链跨链系统的合约调用关系包括:跨链通证转移以及跨链查值,其中所述跨链通证转移操作通过跨链通证转移跨链合约与跨链通证转移底层合约的相互调用实现,跨链通证转移合约包含4个区块链智能合约:路由合约、通证控制合
约、跨链交易发起合约及跨链交易接收合约,其中,路由合约用于跨链节点的选择以及对方跨链节点信息的记录;通证控制合约用于账户注册及通证管理;跨链交易发起合约和跨链交易接收合约负责跨链交易的发送与接收以及交易状态的查询,所述跨链通证转移底层合约支持对外通信,包含转移发送及交易状态查询两个模块,在跨链通证转出链部署路由合约、通证控制合约及跨链交易发起合约,在跨链通证接收链部署路由合约、通证控制合约以及跨链交易接收合约;所述跨链查值操作由跨链查值合约及跨链查值底层合约实现,跨链查值合约包括用户合约、路由合约及查询合约,其中,用户合约负责用户信息及业务信息的记录,路由合约用于存储跨链区块链的节点信息等数据,查询合约用于调用路由合约及跨链查值底层合约完成查值操作,用户合约调用查询合约进行跨链查值操作时,会触发查询合约调用路由合约以获取需要的跨链信息;获取必要的跨链信息后,查询合约发起跨链查询请求,并通过调用跨链查值底层合约调用被查询区块链的用户合约来获取查询结果。
5.根据权利要求4所述的一种区块链多链跨链系统,其特征在于:跨链交易发起合约和跨链交易接收合约是跨链通证转移的主合约,在执行一笔跨链通证转移操作时,转出链及
转入链上存在如下的合约调用操作:
(1)转出链上跨链交易发起合约的操作步骤为:调用路由合约获取转入链的跨链信息;调用通证控制合约进行通证的增、减、锁定操作;调用跨链通证转移底层合约,并由其向转入链的跨链交易接收合约发送
跨链交易;跨链交易发送完成后,通过底层合约调用转入链上的跨链交易接收合约,并根据查询结果更改本链上该交易的状态;
(2)收到转出链的跨链交易后,转入链上跨链交易接受合约的操作步骤:调用路由合约获取转出链的跨链信息;通过底层合约调用转出链上的交易发送合约,查询该笔跨链交易在转出链上的状态,并根据查询结果更改该交易在本链的状态;根据查询的状态,调用通证控制合约对收到的跨链通证进行管理。
6.一种基于权利要求1-5任一所述的区块链多链跨链系统的实现机制,其特征在于包括:原子性保障策略以及安全保障策略,其中原子性保障策略基于跨链交易状态转换模型,安全保障策略包括跨链节点动态选择策略和签名跨链交易数据构造策略,由所述原子性保障策略以及安全保障策略构建跨链通证转移协议。
7.根据权利要求6所述的实现机制,其特征在于所述原子性保障策略所基于的跨链交易状态转换模型定义了交易执行的四个状态以反映跨链交易当前的执行情况以及后续需要执行的操作,其中,“0”为交易的初始状态,“1”为交易的中间状态,即跨链交易执行中但尚未结束的一个状态,“2”、“3”则为交易的最终状态,跨链通证转移交易的执行过程中,跨链交易的发起方与接收方具有如下状态变化过程:
(1)发起方状态变化描述
A.跨链交易发起方的某笔跨链通证转移交易不存在时,其state为0;
B.当跨链交易发起合约执行交易发送方法,且跨链交易数据发送成功时,更新state从0→1,并将需转移的通证转至锁定状态,此时,锁定的通证仍属于发起方,但暂时不能被其使用;若发送失败则更新state从0→3;
C.通过跨链交易发起合约查询到接收方链上该笔交易的状态值为1,则更新本链state 从1→2,并减去账户中处于锁定状态的通证,此时,该通证不再属于发起方;若查询结果为3,交易执行失败,更新本链state从1→3,并将锁定的通证解锁,此时,发送方可任意支配该笔通证;若查询结果为0,暂不更新state;
(2)接收方状态变化描述
A.跨链交易接收方的某笔跨链通证转移交易初始state为0,当跨链交易接收合约的交易接收方法被调用且跨链交易被接收时,更新该交易的state从0→1,并将发送方转移的锁定通证加入账户,此时该笔通证属于接收方,但暂时不能被其支配使用;
B.当查询到发送方链上该跨链交易的state为2时,更新本链state从1→2,并将账户中处于锁定状态的通证解锁以供支配使用;若查询结果为3,交易执行失败,更新本链state从1→3并减去账户中的锁定通证,此时,该笔通证不再属于接收方;若查询结果1,暂不更新state;
每次状态的变化都会对应一种通证变化操作。
8.根据权利要求6所述的实现机制,其特征在于所述安全保障策略包括:跨链节点动态选择策略以及签名跨链交易数据构造策略;其中所述跨链节点动态选择策略为在每笔交易完成后重新选择跨链节点,以此保证跨链节点的安全可信,所述跨链节点动态选择策略使
用VRF生成随机数,所述VRF由随机数生成算法、证明生成算法及随机数验证算法构成,其使用前提为各节点都有自己的非对称密钥对,其中公钥用于标识节点账户,在区块链中公开;私钥用于签名,由节点自己保管;跨链节点需从共识节点的集合中进行选择,具体的选择过程由节点选择函数完成,该函数由6个模块构成,分别是初始seed生成模块、随机数生成模块、选择模块、证明生成模块、签名验证模块及随机数验证模块,选择过程的具体描述如下:第一步:由初始seed生成模块在可信环境SGX中生成初始的种子seed,并将其发送至参与跨链交互的区块链用于生成随机数;
第二步:区块链中的各共识节点调用随机数生成模块中的VRF随机数计算算法,通过输入初始seed及其私钥来生成随机数;
第三步:由选择模块根据随机数对节点进行筛选,筛选不符合条件的节点失去在下一轮交易中成为跨链节点的资格,包括两种筛选的方法:阈值选择方法及排序选择方法,所述阈值选择方法通过判断随机数是否满足预设的阈值条件进行选择,阈值条件不同,选中的节点及其数量也不同,而排序选择方法需将随机数按大小排序,并按排序结果选择需要数目的节点;
第四步:被选中的节点调用证明生成模块中的VRF证明生成算法,通过输入其私钥及随机数可生成该随机数对应的零知识证明,用于随机数的验证;
第五步:生成随机数的证明后,节点需在全网进行广播其生成的随机数及证明,由签名验证模块利用密码学技术,建立节点与其广播消息间的一对一关系,区块链中的其他节点收到广播信息后首先会对节点身份进行验证;身份验证通过后,调用随机数验证模块的VRF 随机数验证算法对广播的信息进行验证,验证证明与随机数是否匹配、初始seed是否参与随机数及证明的生成。全部验证通过后,该消息的发送者成为当前区块链的跨链节点,本轮跨链节点选择完成;
经过上述五步,当前区块链的跨链节点选择完毕,为支持跨链交互,所选跨链节点需调用交互区块链上的路由合约,通过输入节点IP地址、节点公钥PK、节点的随机数value和证明proof等信息进行注册,注册成功后,即可进行跨链交易;
所述签名跨链交易数据构造策略用于跨链交易的转移申请阶段,通过签名技术保证交易数据不被篡改,所述签名跨链交易数据构造策略使用的前提为各用户都有自己的非对称密钥对,其中公钥用于标识用户账户,在区块链中公开;私钥用于签名,由用户自己保管,跨链交易所需包含的参数包括跨链交易ID、账户转出金额、期望的账户转入金额、转出链标识、转入链标识、转出链账户地址、交易发起账户地址、智能合约地址、用于交易的GAS、账户交易计数、转入链账户签名数据以及转出链账户签名数据,
当chainA为通证转出链而chainB为转入链时,签名数据构造方式包括:首先,使用转入方的账户私钥对交易数据进行签名,生成转入链账户签名交易数据INSDATA,转入链账户签名交易数据将参与整个跨链通证转移交易数据的构建;然后构建完整的跨链通证转移交易的数据,并使用转出方的私钥对其签名,形成转出链账户签名数据OUTSDATA;转入方收到完整的跨链通证转移交易数据OUTSDATA后,对其中的INSDATA进行验证以防止用户在构造跨链交易数据时,验证操作如下所示:
1)验证INSDATA中是否包含INSDATA构造所需的全部参数;
2)验证转出链智能合约中记录的跨链交易标识、对方交易接收合约地址、签名跨链交
易数据、跨链节点信息以及转出通证数量,与INSDATA中记录的数据是否完全一致;
当INSDATA不符合上述操作的任意一项时,执行失败,更新该跨链交易的状态为失败状态。
9.根据权利要求6所述的实现机制,其特征在于所述跨链通证转移协议包括:
整个跨链通证转移操作的完成包括3次互操作:转移申请、发送方查询、接收方查询;对于所述跨链通证转移协议包括在无异常及有异常两种情况下的运行,其中所述异常指发送HTTP请求时遇到的网络故障和/或节点作恶的情况。
10.根据权利要求9所述的实现机制,其特征在于:
无异常情况:chainA为跨链通证转移交易的发送链,chainB为接收链,
(1)转移申请
chainA通过调用跨链交易发起合约向chainB的跨链交易接收合约发送交易数据INSDATA,完成跨链通证转移申请。发送完成后,chainA更新该交易的状态state从0→1,并将需跨链转移的通证转为锁定状态;
chainB的跨链节点接收该交易后,将其在全网广播,当超过一半的共识节点对该交易进行共识后,该交易才确认被chainB接受,此时,更新chainB中该交易的状态state从0→1并将chainA转移的锁定通证加入账户;
(2)发送方查询
该操作中,chainA查询chainB上跨链交易的状态;chainA利用交易编号txID查询chainB上相应跨链交易的状态,当查询结果为1时,更新chainA上该交易的state为1→2,并减去其账户中处于锁定状态的通证;完成该操作后,chainA上该笔跨链交易执行完成,达到最终状态;
(3)接收方查询
该操作中chainB查询chainA上跨链交易的状态;chainB调用跨链交易接收合约中的方法查询chainA上跨
链交易的状态信息,当查询结果为2时,更新chainB上该交易的状态state为1→2,并将其账户中处于锁定状态的通证解锁以供使用,此时,跨链交易在chainB 也执行完成并达到了最终状态;
经过以上三次操作,跨链双方可对一笔跨链交易达成一致的共识结果,保证跨链通证转移的原子性;
有异常情况:在跨链通证转移协议的基础上加入交易有效期策略,在发生异常时,该策略可促使跨链双方在有限的时间内就某笔跨链交易达成共识,由此保证了交易的原子性,所述交易有效期以区块高度的形式表述为VBN,根据系统对交易时效性及原子性的需求设计计算公式,加入交易有效期策略后,跨链通证转移协议的运行流程为:每次查询结束后,若chainA未能得到chainB上有用的交易状态信息,则计算交易有效期的块高VBN,并将其与当前区块链的块高BN进行对比,当VBN≤BN时,更新交易状态state 1→3,同时将锁定的通证解锁,判定该交易执行失败,chainA上跨链交易执行完毕;当chainB查询该交易在chainA 的状态时,会根据查询结果更新本链上交易状态state 0→3,此时,chainA、chainB就该交易达成失败的共识,保证了该交易执行的原子性。

本文发布于:2024-09-20 17:46:07,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/427134.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:跨链   合约   交易
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议