1.一种跨链资产转移方法,其特征在于,基于联盟节点发起联盟合约实现2个区块链之间的跨链资产转移;
所述的联盟节点为2个区块链之间用于进行双向锚定操作的节点;
关于联盟合约:每个联盟节点都可以通过联盟合约来发起提案,如果各联盟节点只要赞成票数超过联盟节点成员总数量的2/3+1,即该提案发起成功并投票通过;
多个联盟节点依据联盟合约形成的组织为联盟。
2.根据权利要求1所述的跨链资产转移方法,其特征在于,所述的的两个区块链分别为A链和B链;
A链采用UTXO交易模型,B链采用基于账户交易模型;
A链不支持智能合约,B链支持智能合约;
A链采用POW共识机制,B链采用POS或DPOS共识机制。
3.根据权利要求2所述的跨链资产转移方法,其特征在于,包括以下步骤:步骤1:构建联盟在A链的代理地址和在B链的代理账户;
联盟在A链的代理地是一个多重签名的地址,签名成员为联盟成员,成员个数为M,此地址的输出交易需要有大于N的成员签名授权;
联盟在B链的代理账户的账户管理者由M个联盟成员组成,该账户的权限变更需要有大于N的成员签名授权;
步骤2:在B链的联盟代理账户部署联盟合约;
智能合约能识别并且允许B链账户对A链的跨链转账,允许联盟成员通过投票的方式同意(或称为授权)资产转移。
步骤3:联盟成员分别部署跨链转移程序,该程序能通过A链代理地址、B链代理账户的交易变动分析出用户的资产转移需求,然后通过“成员签名授权”和“投票”完成资产转移。
4.根据权利要求3所述的跨链资产转移方法,其特征在于,A链到B链的兑换过程如下:前提:A链的联盟程序默认开启两个线程:
一个线程用于扫描联盟地址中的新交易,满足6个块等待的条件后,即可被插入到数据库的数据表中;
另一个线程,会不断访问数据库的数据表,一旦里面有数据被插入,即提取数据,供联盟发起提案;
第一步,A链用户发起兑换资产到B链的用户,发起兑换交易时,需要传入联盟地址,兑换的金额,以及B链上的账户名;
第二步,如果该兑换交易被其他节点验证通过,并被其他节点打包进区块,如果被大部分节点承认并广播出去,等待6个区块的高度后,联盟程序就会发现这笔交易;
第三步,联盟程序发现新的交易后,会立即解析,并提取出相应的数据并存储到数据库的数据表中;
第四步,节点上联盟程序的另一个线程如果发现数据库中对应表中存在数据,就会调用联盟合约接口,发起向B链上的用户交易的提案,对交易签名后,把提案数据推送上B链;
第五步,联盟合约会检测所有联盟的提案数据,如果相同提案的数量达到了联盟总数量的2/3+1,即该提案通过,兑换交易结束。
5.一种跨链资产转移系统,其特征在于,包括2个区块链,每一个区块链中均据具有多个节点;
2个区块链中均具有联盟合约模块,用于执行联盟合约;
2个区块链中均具有联盟节点,用于执行发起跨链交易以及进行投票;
采用权利要求1-4任一项所述的跨链资产转移方法实现跨链资产转移。
6.一种计算机可读存储介质,其特征在于,用于存储计算机程序,该计算机程序运行时,能实现权利要求1-4任一项所述的跨链资产转移方法。