一种多链场景下的区块链链间资产转移方法与流程

文档序号:12470870阅读:395来源:国知局
一种多链场景下的区块链链间资产转移方法与流程

本发明属于数字货币技术领域,具体涉及一种多链场景下的区块链链间资产转移方法。



背景技术:

比特币的出现改变了数字货币或数字资产原有的中心化管理及交易模式,创造性地提出了通过系统中各节点工作量证明来分配节点权益从而变相地完成动态多方签名过程这一策略,能有效抵御西比尔攻击和拜占庭将军问题,大幅提升系统的安全性。但是,以比特币为代表的基于区块链技术的分布式加密数字货币(资产)系统目前也面临一些问题:首先是系统可扩展性和疏散程度间的冲突,一个大容量的区块能够支持高的交易率,但是毫无疑问将在安全验证环节上耗费大量的工作量从而引发高集中性危险;其次是交易简明性和可审计性之间的冲突,比特币系统能高效地促成简明有效的交易,但是不利于交易的审计。

上述问题可以引入替代链通过共享比特币代码库得到解决,但是构建一个本质上相似的独立系统在技术实现上充满困难。一是存在安全问题,由于每个替代链使用的是自己的技术堆栈,其工作记录被频繁地复制或发生丢失;二是替代链通常存在价值浮动的本地加密货币,为了使用替代链,用户必须通过一个交易市场来获取替代链本地货币,不仅需要建立一个这样的市场还需要解决潜在的市场拥挤风险。

解决上述问题的另一思路是实现多条区块链链间货币(资产)的传递或转移,但实现数字加密货币或资产的物理转移比较困难,需要设计一套机制实现母链与侧链之间的等效资产转移并防止发生双重支付问题。



技术实现要素:

鉴于上述,本发明提供了一种多链场景下的区块链链间资产转移方法,实现了母链与侧链间的挂钩锁定机制设计,在不改变数字货币(资产)物理位置的情况下实现其在链间的等效转移,并能规避双重支付问题。

一种多链场景下的区块链链间资产转移方法,包括如下步骤:

(1)构建母链和侧链间的挂钩锁定机制,确保数字货币转移的有向性;

(2)在母链将需要转移的数字货币进行锁定,在侧链生成等额度的数字货币,从而实现数字货币在链间的等效转移;

(3)确保母链数字货币锁定过程、侧链等额度数字货币生成过程以及交易过程依次进行的先后时序关系,规避双重支付问题。

所述步骤(1)中构建母链和侧链间的挂钩锁定机制,需先对相关对象进行具体定义,然后采用简化支付验证证明来实现挂钩锁定机制。

所述挂钩锁定机制中对于相关对象的具体定义如下:

a.数字货币或财产是一种可以对其控制者进行确定性加密的数字资产;

b.区块是用于描述关于财产控制权变化的财产交易情况集合;

c.区块链是具有良好排列秩序的众多区块的组合,在区块链上的每一个用户最终必须达成共识,区块链能够给出数字资产控制权变更的历史记录并且提供一个不可伪造的交易时序;

e.重组行为只在用户侧发生,且仅在早先认可的区块链被拥有更多工作量证明的区块链超过时发生;

d.母链为待转移数字货币所在的区块链,侧链为用于验证母链数据的区块链;

f.数字货币在链间的转移过程也是区块链数据的重组行为过程。

所述简化支付验证证明是一种动态成员多方签名行为,其作用类似于发生在比特币系统中区块链的工作量证明,简化支付验证证明由以下两部分组成:①反应工作量证明的区块头列表;②一个关于区块头列表中某一区块创建数字货币输出的加密证明;当存在以下情况下简化支付验证证明是无效的:有另一个证明表明存在一个工作量更多的区块链且该区块链中不包含先前创建数字货币输出的区块。

所述步骤(2)中通过使母链与侧链双向挂钩实现数字货币在链间的等效转移,所述双向挂钩是指数字货币以固定汇率在侧链之间进行来回转移的机制,该转移机制并非是指数字货币从母链消失然后在其它侧链上产生,实际上数字货币根本没有离开母链,即数字货币的物理地址没有发生任何变化,只是在母链上被暂时锁定,同时在侧链上有等价的数字货币被解锁;当侧链上有等量等价的数字货币被再次锁定时,母链上原来的数字货币就会被解锁;

此外,挂钩侧链上的数字资产能够从其他侧链导入和返还,支持数字资产的双向挂钩;即当数字货币在母链上被锁定之后,该数字货币可在侧链之间进行任意转移而不再与母链产生相互作用,但是其保留有母链的货币身份,且仅能被转移回原来的母链。

所述步骤(3)中确保母链数字货币锁定过程、侧链等额度数字货币生成过程以及交易过程依次进行的先后时序关系,需在确认数字货币转移成功之前设立以下两个等待时间:

确认等待时间,即数字货币在转移至侧链之前必须确保其已经在母链上锁定所需的时间;

竞争等待时间,即限制新转移到侧链上的数字货币进行交易的时间。

设立确认等待时间的目的是确保众多节点累积足够的工作量使得系统在下一个等待时间中很难以被“拒绝服务”攻击;在母链上创建特殊的输出标记后,用户度过确认等待时间便可以在侧链上创建一笔交易,继而提供一个交易创建的简化支付验证证明并在母链中埋入足够的工作量。

设立竞争等待时间的目的是在资产转移过程(也是数据重组过程)最后阶段确定先前锁定的数字货币(资产)确实为要转移的数字货币(资产),以此来防止双重支付问题;如果在竞争等待时间段内某一时刻,系统发现了一个新的证明,该证明中包含了一个拥有更多工作量证明的链而该链中不包含创建先前已锁定数字货币(资产)的区块,则上一次已进行的处于竞争时间内的货币转移过程将被追溯为非法,重新发起数字货币(资产)转移过程,锁定有更多工作量证明的链上的数字货币(资产),这一过程可以称之为数据的重组证明。

本发明方法能够实现区块链系统多链场景下链间数字货币(资产)有序定向的等效转移,并能够规避等效转移过程中可能造成的双重支付问题,有助于调和基于区块链技术的数字货币或资产管理系统固然存在的可扩展性和疏散程度间的冲突,并且数字货币或资产的等效转移能够使所有的交易过程更加明晰,可以提升相关系统交易数据的可审计性。

附图说明

图1(a)为母链上数字货币(资产)转移前时的区块链示意图。

图1(b)为母链上数字货币(资产)被锁定时的区块链示意图。

图1(c)为数字货币(资产)等效转移至侧链时的区块链示意图。

图1(d)为数字货币(资产)转移回母链时的区块链示意图。

图2为数字货币(资产)链间转移过程的时序图。

图3为数字货币(资产)链间转移的流程示意图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。

本发明多链场景下的区块链链间资产转移方法,包括如下步骤:

(1)构建母链和侧链间的挂钩锁定机制,确保数字货币(资产)转移的有向性。首先对相关对象进行具体定义如下:

a.数字货币或财产是一种可以对其控制者进行确定性加密的数字资产。

b.区块是用于描述财产控制权变化的财产交易情况的集合。

c.区块链是具有良好排列秩序的众多区块的组合,在区块链上的每一个用户最终必须达成共识,区块链能够给出数字资产控制权变更的历史记录并能提供一个不可伪造的交易时序。

d.重组行为只在用户侧发生,且仅在早先认可的链被拥有更多工作量证明的竞争链超过时发生。

e.母链是指待转移数字货币(资产)所在的区块链;侧链是一种用于验证母链数据的区块链。

f.数字货币(资产)在链间的转移过程也是区块链数据的重组过程。

然后采用简化支付验证证明来实现挂钩锁定机制,简化支付验证证明是一种动态成员多方签名行为,其作用类似于发生在比特币系统中区块链的工作量证明。简化支付证明由以下两部分组成:①反应工作量证明的区块头列表;②一个关于列表中某一区块建立货币(资产)输出的加密证明。简化支付验证证明在以下条件下将是无效的:有一个另外的证明表明存在一个工作量更多的链且链中不包含创建了先前输出货币(资产)的区块。

(2)在母链将需要转移的数字货币(资产)锁定,在侧链生成等额度的数字货币(资产),通过母链与侧链双向挂钩实现数字货币(资产)在链间的等效转移。

双向挂钩是指数字货币以固定或某一确定汇率在侧链间进行来回转移的机制。这个“转移”并非真的指数字货币(资产)从区块链母链消失然后在其它辅助区块链(侧链)上产生。实际上,数字货币(资产)根本没有离开母链,即数字货币(资产)的物理地址没有发生任何变化,只是在母链上被暂时锁定,同时,在侧链上有等价的数字货币(资产)被解锁。当侧链上有等量等价的数字货币被再次锁定时,母链上原来的货币(资产)就会被解锁。总的看来,数字货币(资产)就像在两者之间转移,实现了多链条间的双向挂钩。

另外,挂钩侧链的数字资产能够从其他链导入和返还,支持数字资产的双向挂钩。当数字货币在母链被锁定之后,该数字货币可在侧链内进行任意转移而不再与母链产生其它相互作用,但是其保留有母链币的身份,能且仅能被转移回原来的母链。数字货币(资产)转移的过程如图1所示。

(3)确保母链数字货币(资产)锁定过程、侧链生成等额度数字货币(资产)过程以及交易过程三者依次进行的先后时序关系,规避双重支付问题。本发明在确认货币(资产)转移成功之前添加了两个等待时间:

确认时间:是指货币在转移至侧链之前必须确保其已经在母链上锁定所需的时间。设立确认时间的目的是确保众多节点累积足够的工作量使得系统在下一个等待时间中很难难以被“拒绝服务”攻击。在母链上创建特殊的输出标记后,用户度过确认时间便可以在侧链上创建一笔交易,继而提供一个交易创建的简化支付验证证明并在母链中埋入足够的工作量。

竞争时间:限制新转移到侧链上的数字货币进行交易的时间。设置这一时间的目的是在资产转移过程(也是数据重组过程)最后阶段确定先前锁定的数字货币(资产)确实为要转移的数字货币(资产),以此来防止双重支付问题。如果在竞争时间段内某一时刻,系统发现了一个新的证明,该证明中包含了一个拥有更多工作量证明的链而该链中不包含创建先前已锁定数字货币(资产)的区块,则上一次已进行的处于竞争时间内的货币转移过程将被追溯为非法,重新发起数字货币(资产)转移过程,锁定有更多工作量证明的链上的数字货币(资产)。这一过程可以称之为数据的重组证明。

图2给出了数字货币(资产)一次转移过程的时序。以下我们假设一条侧链利用五分之三(超过半数,足够的工作量证明)节点工作联盟来实现一个虚拟数字货币的双向挂钩。本实例中计算数字货币等效转移地址的算法如下:

n=random_128bit()

for i∈[1,n]do

t=HMAC-SHA256(key=Pi,n)

if t≥sec p256k1_order then

Go back to start.(重新开始)

end if

m=Pi+t

end for

address=P2SH_Multisig(template,m)

其中:random_128bit()为生成128位随机数的函数,HMAC-SHA256()为哈希函数,secp256k1_order为椭圆加密算法(非对称加密算法)所得密值,P2SH_Multisig()为跨链地址计算函数,Pi为系统所有节点共享的第i个公钥,m为转移目标链所持有的私钥,template为货币赎回脚本。

当公钥Pi无法解密(无法得到大于椭圆加密算法密值的值),则更换公钥重试,直至满足条件m=Pi+t时停止,继而根据目标链所持私钥和货币赎回脚本得到货币转移的目标区块地址。

进而,按照如图3所示的流程可顺利完成链间货币的转移。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

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