基于改进哈希时间锁的跨链资产交互方法技术

技术编号:32806450 阅读:73 留言:0更新日期:2022-03-26 19:59
本发明专利技术提供的基于改进哈希时间锁的跨链资产交互方法,涉及区块链应用技术领域,属于区块链应用技术领域,包括以下步骤:S1用户A创建中间账户和Fabric上的哈希锁定交易,并返回第一交易锁定值给用户B;S2用户B与双链通信,创建以太坊上的哈希时间锁定交易,并返回第二交易锁定值给用户A;S3用户A与以太坊通信,获取资产;S4用户B与双链通信,查询锁定资产状态。本发明专利技术对每笔HTLC转账设置不同的中间账户,通过中间账户进行资产托管和转移,并在交易完成后及时销毁,一定程度上保证了交易的安全性,并扩展的HTLC跨链资产方案的使用场景。并扩展的HTLC跨链资产方案的使用场景。并扩展的HTLC跨链资产方案的使用场景。

【技术实现步骤摘要】
基于改进哈希时间锁的跨链资产交互方法


[0001]本专利技术涉及区块链应用
,尤其涉及一种基于改进哈希时间锁的跨链资产交互方法。

技术介绍

[0002]区块链技术自诞生以来,就与资产交易有着密切的关系,第一代区块链公链——比特币公链是以比特币作为资产交易的区块链,第二代区块链则是在以太坊上以以太币Ether作为资产交易的智能合约平台。随着公链和联盟链上分布式应用的涌现,不同区块链间的资产、价值数据及业务信息如何交互成为了一个迫切需要解决的问题。与此同时,区块链跨链技术的出现,为此类问题提供了可行的解决途径。在目前的跨链技术相关研究中,比特币公链与以太坊如何进行跨链交互的研究成果已非常丰富。例如,由美国区块链软件技术公司ConsenSys设计的比特币与以太坊跨链访问方案BTCRelay,其通过对以太坊智能合约设计实现了以太坊对比特币的跨链数据访问。又例如由Wood提出的包括以太坊与比特币在内的多公链跨链方案Polkadot,其通过平行链的设计实现了多公链间的跨链交互。对于有关以无币的区块链——Fabric联盟链与以太坊的跨链交互仍有较大研究空白。
[0003]Fabric是一个由Linux基金会主导的开源协作项目,也是目前企业合作中使用最多的区块链技术框架。以太坊则是目前区块链领域中应用最广泛、用户规模最大的公链网络。因此,实现Fabric联盟链和以太坊的跨链交互的意义非凡,将助推区块链价值网络进一步构建。

技术实现思路

[0004]本专利技术的技术问题是提供一种基于改进哈希时间锁的跨链资产交互方法,实现Fabric联盟链与以太坊的跨链交互。
[0005]为实现上述目的,本专利技术采取的技术方案为:
[0006]基于改进哈希时间锁的跨链资产交互方法,包括以下步骤:S1用户A创建中间账户和Fabric上的哈希锁定交易,并返回第一交易锁定值给用户B;S2用户B与双链通信,创建以太坊上的哈希时间锁定交易,并返回第二交易锁定值给用户A;S3用户A与以太坊通信,获取资产;S4用户B与双链通信,查询锁定资产状态。
[0007]进一步地,基于改进哈希时间锁的跨链资产交互方法还包括:S5交易结束后,销毁交易数据。
[0008]进一步地,S1包括:S11用户A通过哈希原像创建中间账户,得到账户地址和哈希值;S12创建Fabric上的哈希锁定交易,返回第一交易锁定值,并返回给用户B。
[0009]进一步地,S2包括:S21用户B通过第一交易锁定值查询Fabric上用户A锁定的资产交易,得到中间账户地址、哈希值和时间锁T;S22用户B通过中间账户地址确定中间账户金额;S23用户B使用哈希值和T/2创建以太坊上的哈希时间锁定,并返回第二交易锁定值给用户A。
[0010]进一步地,S3包括:S31用户A使用哈希原像和第二交易锁定值去以太坊获取资产,如果用户A在T/2时间内取回资产,资产交换成功,执行S4;如果用户A未在T/2时间内取回资产,执行S32;S32视为资产交换失败,退回用户B的资产。
[0011]进一步地,S4包括:S41用户B通过第二交易锁定值去以太坊上查询锁定资产状态,如果资产已被取走,执行S42;S42查询结果返回哈希原像,用户B通过哈希原像与Fabric进行通信,取回用户A锁定在Fabric上的资产;如果用户B未在T时间内取回资产,执行S43;S43视为资产交换失败,退回用户A的资产。
[0012]进一步地,Fabric采用NCASP协议实现资产锁定、资产提取、资产返回和哈希时间锁定查询。
[0013]进一步地,以太坊通过NCASP协议调用只能合约实现创建哈希时间锁定、资产提取、资产返还和查看资产锁定。
附图说明
[0014]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比例绘制附图,重点在于示出本专利技术的主旨。
[0015]图1是本专利技术提供的一种基于改进哈希时间锁的跨链资产交互方法的流程图;
[0016]图2是本专利技术提供的一种基于改进哈希时间锁的跨链资产交互方法的系统接口调用图;
[0017]图3是本专利技术提供的一种基于改进哈希时间锁的跨链资产交互方法中账户及代币的初始化图;
[0018]图4是本专利技术提供的一种基于改进哈希时间锁的跨链资产交互方法中中间人账户创建图;
[0019]图5是本专利技术提供的一种基于改进哈希时间锁的跨链资产交互方法中跨链转账测试中间过程图;
[0020]图6是本专利技术提供的一种基于改进哈希时间锁的跨链资产交互方法的资产解锁图;
[0021]图7是本专利技术提供的一种基于改进哈希时间锁的跨链资产交互方法中的账户金额查询结果图;
[0022]图8是本专利技术提供的NCASP协议与其他跨链方案的比较图;
[0023]图9是本专利技术提供的NCASP与BSN跨链方案测试表;
[0024]图10是本专利技术提供的一种基于改进哈希时间锁的跨链资产交互方法的总测试平均时间对比图;
[0025]图11是本专利技术提供的NCASP本地运行性能表。
具体实施方式
[0026]下面结合附图和具体的实施例对本专利技术作进一步的说明,但是不作为本专利技术的限定。
[0027]根据HTLC的交互流程,在跨链数据进行输入输出时,需要给定可供链外进行数据
访问的接口,主要的数据接口如下:newHTLC,用于发送者调用此合约来创建一个新的HTLC流程,并返回32位字节的合约id;withdraw,用于在接收者知道哈希锁的原像后,通过该方法来提取锁定的资产;refund,用于在时间锁过期后,在接收者还没有提取锁定的资产,发送者或HTLC的创建者可以调用此方法取回资产;creatMidAccount,用于通过该方法创建一个中间账户,借助此类数据接口,可以对资产交易中链与链间数据进行调用查询。整体接口调用过程如图2所示,从图2中可以看到用户与Fabric SDK/Etherium SDK进行交互,SDK再调用对应的智能合约或链码。其中,可通过newHTLC接口生成一个新的HTLC交易结构体,交易结构体的数据上链至区块链并最终存储至区块链的levelDB数据库中。当用户需要提取资产时,则通过SDK调用智能合约/链码,智能合约/链码再调用withdraw接口发生交易到区块链网络,改变资产所属状态。同时,在时间锁过期后,智能合约/链码也将调用refund接口,发送交易至区块链网络,改变资产所属状态,实现退还资产事务。对于Fabric端来说,由于Fabric本身不存在账户机制,因此需要通过createAccount接口与createMidAccount接口来创建Account结构体与MidAccount结构体,结构体的数据上链并最终保存至Fabric中的levelDB数据库。
[0028]基于上述内容,本专利技术提供的方法具体流程如图1所示,共分为以下几步:S11用户A通过哈希原像创建中间账本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于改进哈希时间锁的跨链资产交互方法,其特征在于,包括以下步骤:S1用户A创建中间账户和Fabric上的哈希锁定交易,并返回第一交易锁定值给用户B;S2用户B与双链通信,创建以太坊上的哈希时间锁定交易,并返回第二交易锁定值给用户A;S3用户A与以太坊通信,获取资产;S4用户B与双链通信,查询锁定资产状态。2.如权利要求1所述的基于改进哈希时间锁的跨链资产交互方法,其特征在于,还包括:S5交易结束后,销毁交易数据。3.如权利要求1所述的基于改进哈希时间锁的跨链资产交互方法,其特征在于,所述S1包括:S11用户A通过哈希原像创建中间账户,得到账户地址和哈希值;S12创建Fabric上的哈希锁定交易,返回第一交易锁定值,并返回给用户B。4.如权利要求1所述的基于改进哈希时间锁的跨链资产交互方法,其特征在于,所述S2包括:S21用户B通过第一交易锁定值查询Fabric上用户A锁定的资产交易,得到中间账户地址、哈希值和时间锁T;S22用户B通过中间账户地址确定中间账户金额;S23用户B使用哈希值和T/2创建以太坊上的哈希时间锁定,并返回第二交易锁定值给用户A。5.如权利要求1...

【专利技术属性】
技术研发人员:刘峰杨杰周俊杰孔德莉齐佳音周爱民李志斌
申请(专利权)人:华东师范大学
类型:发明
国别省市:

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

1