一种区块链跨链通证价值转换算法的制作方法

文档序号:20689950发布日期:2020-05-08 19:19阅读:344来源:国知局
一种区块链跨链通证价值转换算法的制作方法

本发明涉及区块链技术领域,具体涉及一种区块链跨链通证价值转换算法。



背景技术:

自比特币诞生以来,加密数字货币的区块链网络越来越多,形成了蓬勃的发展趋势,但是在不同的区块链之间进行通证价值转移和交换,就会碰到各种各样的问题,随着区块链网络广泛的出现,在不同网络之间实现通证价值流转的需求变得旺盛,作为价值网络核心的跨链技术从而变得越来越重要,传统的通证转换大多通过中心化的交易所或银关完成,少部分通过线下的o2c场外交易完成,这些方式虽然实现了数字货币的跨链转换,但是,在跨链通证价值转换的过程中,存在如下问题:

(1)缺乏互通性:一条链上的通证价值无法转移到另一条链上,同时,不同链上的智能合约也不能互相交互,事实上,缺乏互通性已成为企业业务应用区块链的障碍;

(2)风险高:中心化交易所或银关存在被攻击,人为控制等中心化风险,o2c场外交易,也存在个人信用背书及交易纠纷举证等风险;

(3)成本高:交易所或银关中,通证的转入转出需要收取手续费,交易的过程也需要收取交易费,场外交易商户也会设置对应差价赚取交易费。



技术实现要素:

为解决背景技术中阐述的问题,本发明提供一种区块链跨链通证价值转换算法,同时,为了实现安全的跨链交易,避免交易占优的一方违约,造成其他交易方损失的情况出现,我们采用了一个基于hash时间锁的方法来进行跨链交易,hash时间锁在一条链上的处理原理如下:

一种区块链跨链通证价值转换算法,

该算法在跨链系统内进行,跨链系统是由n个跨链数字钱包的节点组成的网络,该网络是去中心化的点对点网络,跨链系统内的跨链数字钱包以可扩展的方式支持与多种链的互通,且支持一种用于进行跨链操作的跨链协议,跨链系统中,跨链数字钱包分为两类,一类是支持跨链转换的,称之为connector,另一类是不支持跨链转换,但支持跨链协议,可作为跨链交易的发起者或者终结者,称之为client;

进一步的,在跨链系统内进行跨链交易的方法如下:

(1)当跨链系统内货币计量单位为d1的跨链数字钱包w1需向货币计量单位为d2的跨链数字钱包w2内转入固定金额时,w1首先通过外部跨链转换服务或本地掌握的跨链路由信息,找到一条最优的向w2转入固定金额的路径p,其中包含有下一跳节点hn(connector)以及d1与d2在这条路径上的兑换率e;

(2)w1根据e计算需要发起的转出金额d1,w1向d1数字货币所在的链发起针对d1建立hash时间锁的交易请求,当该交易确认执行成功,则继续后续处理,否则跨链交易失败;

(3)w1与w2之间协商出用于安全传递信息的加密数据的密钥k;

(4)w1发起prepare的请求到hn,其中携带了加密信息和非加密信息,加密信息包括用于解锁交易,提取金额的fulfillment,非加密信息包括hash时间锁交易的id,转账金额,最终的目的w2;

(5)hn收到prepare请求后,根据交易id验证交易是否存在且已经确认,金额是否满足,提取账户是否就是自己,确认正确后,继续后续处理,否则跨链交易失败;

(6)hn如果能直接到达w2,则hn直接将prepare请求发送至w2,如果hn不能直接到达w2,hn根据目的地w2,通过自身跨链路由信息或外部跨链转转服务,找到到达w2的路径的下一跳节点hn+1,hn根据与hn+1之间的互通货币计量单位d3,以及d1与d3之间的转换率,计算需要转给hn+1的金额d3,在d3数字货币所在链发起针对d3建立hash时间锁的交易请求,当该交易确认执行成功,则继续后续处理,否则跨链交易失败;

(7)hn基于收到的prepare请求,修改其中的hash时间锁id,将转账金额修改为以d3为计量单位,并产生新的请求,发给hn+1;

(8)hn+1如果能直接到达w2,则hn+1直接将prepare请求发送至w2,如果hn+1不能直接到达w2,则hn+1重复类似hn的处理,产生新的请求,发给hn+2,直到prepare请求到达最终目的钱包节点w2;

(9)w2收到prepare请求后,验证数字货币类型,hash时间锁交易中的金额,是否正确,提取账户是否就是自己,如果正确,则解密请求中的加密部分信息,提取fulfillment信息,验证其是否能解锁该hash时间锁交易,如果是,则返回fulfill响应给其发送prepare节点,fulfill响应中包含了prepare中的fulfillment,否则,返回reject响应给其发送prepare节点,并携带影响错误信息;

(10)w2在发送fulfill响应后,在d2数字货币所在链上发起解锁hash时间锁交易的请求,提取相应金额;

(11)发送prepare给w2的节点收到fulfill消息后,会转发给跨链交易路径的前一跳节点,一直到交易的发起者w1,其中每个节点在转发fulfill消息后,都会在响应数字货币链上发起解锁hash时间锁的交易的请求,提取相应金额;

(12)发送prepare给w2的节点收到reject消息后,会转发给跨链交易路径的前一跳节点,并监测该hash时间锁交易,一直到其超时取消。

进一步的,为了保证区块链跨链通证价值转换交易的原子性,

(1)在跨链交易路径中每一对节点之间的hash时间锁交易中的超时时间按降序设置,且相互之间应该间隔有足够处理链上解锁交易的时间;

(2)当出现跨链交易失败时,每个中间节点应该监测其创建的hash时间锁交易,一直到其超时,如果超时前,该交易被解锁,则根据解锁交易中的fulfillment领取向其支付的hash时间锁交易中的金额,即跨链交易路径中的前一跳创建的hash时间锁交易。

本发明有益效果在于,本发明提供了一种区块链跨链通证价值转换算法,实现了数字货币的跨链转换,同时保证了跨链交易的安全性和原子性。

附图说明

图1单个连接器跨链的流程示意图;

图2为多个连接器跨链的流程示意图;

图3为通过连接器跨链哈希锁定的流程示意图;

图4为多个连接器组网跨链的拓扑图。

具体实施方式

为了使本领域技术人员更好的理解本说明书实施例中的技术方案,下面将对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部实施例,基于本说明书中的实施例,本领域普通技术人员所获得的其他实施例,都应当属于保护范围。

以下详细说明本说明书中各实施例提供的技术方案,需要说明的是,由于以下各实施例所基于的技术思想都是类似的,因此,下文各实施例可互相参照理解。

实施例1:

一种区块链跨链通证价值转换算法:

该算法在跨链系统内进行,跨链系统是由n个跨链数字钱包的节点组成的网络,该网络是去中心化的点对点网络,跨链系统内的跨链数字钱包以可扩展的方式支持与多种链的互通,且支持一种用于进行跨链操作的跨链协议,跨链系统中,跨链数字钱包分为两类,一类是支持跨链转换的,称之为connector,另一类是不支持跨链转换,但支持跨链协议,可作为跨链交易的发起者或者终结者,称之为client;

进一步的,在跨链系统内进行跨链交易的方法如下:

(1)当跨链系统内货币计量单位为d1的跨链数字钱包w1需向货币计量单位为d2的跨链数字钱包w2内转入固定金额时,w1首先通过外部跨链转换服务或本地掌握的跨链路由信息,找到一条最优的向w2转入固定金额的路径p,其中包含有下一跳节点hn(connector)以及d1与d2在这条路径上的兑换率e;

(2)w1根据e计算需要发起的转出金额d1,w1向d1数字货币所在的链发起针对d1建立hash时间锁的交易请求,当该交易确认执行成功,则继续后续处理,否则跨链交易失败;

(3)w1与w2之间协商出用于安全传递信息的加密数据的密钥k;

(4)w1发起prepare的请求到hn,其中携带了加密信息和非加密信息,加密信息包括用于解锁交易,提取金额的fulfillment,非加密信息包括hash时间锁交易的id,转账金额,最终的目的w2;

(5)hn收到prepare请求后,根据交易id验证交易是否存在且已经确认,金额是否满足,提取账户是否就是自己,确认正确后,继续后续处理,否则跨链交易失败;

(6)hn如果能直接到达w2,则hn直接将prepare请求发送至w2,如果hn不能直接到达w2,hn根据目的地w2,通过自身跨链路由信息或外部跨链转转服务,找到到达w2的路径的下一跳节点hn+1,hn根据与hn+1之间的互通货币计量单位d3,以及d1与d3之间的转换率,计算需要转给hn+1的金额d3,在d3数字货币所在链发起针对d3建立hash时间锁的交易请求,当该交易确认执行成功,则继续后续处理,否则跨链交易失败;

(7)hn基于收到的prepare请求,修改其中的hash时间锁id,将转账金额修改为以d3为计量单位,并产生新的请求,发给hn+1;

(8)hn+1如果能直接到达w2,则hn+1直接将prepare请求发送至w2,如果hn+1不能直接到达w2,则hn+1重复类似hn的处理,产生新的请求,发给hn+2,直到prepare请求到达最终目的钱包节点w2;

(9)w2收到prepare请求后,验证数字货币类型,hash时间锁交易中的金额,是否正确,提取账户是否就是自己,如果正确,则解密请求中的加密部分信息,提取fulfillment信息,验证其是否能解锁该hash时间锁交易,如果是,则返回fulfill响应给其发送prepare节点,fulfill响应中包含了prepare中的fulfillment,否则,返回reject响应给其发送prepare节点,并携带影响错误信息;

(10)w2在发送fulfill响应后,在d2数字货币所在链上发起解锁hash时间锁交易的请求,提取相应金额;

(11)发送prepare给w2的节点收到fulfill消息后,会转发给跨链交易路径的前一跳节点,一直到交易的发起者w1,其中每个节点在转发fulfill消息后,都会在响应数字货币链上发起解锁hash时间锁的交易的请求,提取相应金额;

(12)发送prepare给w2的节点收到reject消息后,会转发给跨链交易路径的前一跳节点,并监测该hash时间锁交易,一直到其超时取消。

进一步的,为了保证区块链跨链通证价值转换交易的原子性,需要做到以下两点:

(1)在跨链交易路径中每一对节点之间的hash时间锁交易中的超时时间按降序设置,且相互之间应该间隔有足够处理链上解锁交易的时间

(2)当出现跨链交易失败时,每个中间节点应该监测其创建的hash时间锁交易,一直到其超时,如果超时前,该交易被解锁,则根据解锁交易中的fulfillment领取向其支付的hash时间锁交易中的金额,即跨链交易路径中的前一跳创建的hash时间锁交易。

上述实施例仅为本发明技术构思及特点,并不能以此限制本发明的保护范围,凡根据本发明精神实质所作的等效变化或装饰,都应该涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1