一种可拔插的多链数据互操作方法技术

技术编号:38505508 阅读:9 留言:0更新日期:2023-08-19 16:52
本发明专利技术公开一种可拔插的多链数据互操作方法。本发明专利技术针对区块链网络体系中没有账户、资产这些概念的,通过在通用哈希时间锁定技术的基础上新增中间人机制,达到跨链进行资产交换的目的,支持不包含资产托管账户的区块链之间的资产互换;另外针对跨链进行资产交换过程中的密钥安全问题、交易隐私性等问题进行处理。理。理。

【技术实现步骤摘要】
一种可拔插的多链数据互操作方法


[0001]本专利技术涉及区块链网络
,尤其涉及一种可拔插的多链数据互操作方法。

技术介绍

[0002]随着区块链在各行各业应用广度和深度的不断拓展,不同链系统之间互操作难、上层应用与底层链对接切换难、链上链下可信交互难的问题日益突出,在一定程度上限制了区块链的应用范围,阻碍了区块链的发展。
[0003]区块链当前面临的“链级孤岛”问题,本质上是技术先行、标准滞后的结果,也是区块链发展的必经之路。为了解决“孤岛”问题,不同厂商已经开展了相应的实践探索,并推出了相应的跨链方案。跨链方案从技术层面验证了跨链互通的可行性,但不同跨链方案之间依然存在互操作难的问题。相对于互联网重点解决数据互通,区块链为了保持“数据安全共享,价值可信流转”的特点,在数据互通的基础上,还需实现不同链系统间的身份互认、共识转换以及协同治理。
[0004]区块链技术自诞生以来,就与资产交易有着密切的关系,第一代区块链公链———比特币公链是以比特币为资产交易的区块链,第二代区块链则是在以太坊上以以太币Ether为资产交易的智能合约平台.随着公链和联盟链上分布式应用的涌现,不同区块链间的资产、价值数据及业务信息如何交互成为了一个迫切需要解决的问题。
[0005]跨链技术从比特币诞生之初就有在研究,经历了从单链扩张到中继等跨链平台的多链协同的时期。在区块链发展初期,区块链基本上都由单链的的形式发展,但是单链的性能优化和技术升级都比较困难,不能满足实际的需求;因此,大量基于单链扩张被研究,并逐渐过渡到了多链协同发展阶段。
[0006]现有跨链技术主要包括:哈希锁定(HTLC)、公证人机制、中继/侧链以及分布式私钥控制。其中,哈希时间锁定可以完成跨链,但它仅适用于不同区块链间的资产价值交换,对于没有资产的联盟链、以智能合约为代表的以太坊并不适用。并且,对于跨链交易开始前,用户通过各自账户私钥对资产进行加密保护,但在HTLC的交易开启阶段,双方协商交换的资金均处于锁定状态。通常这个通信过程会很长,用户一般的做法是选择合适的“热钱包”长连接到指定区块链网络进行交易签名,但这往往会增加用户私钥被盗的风险。为了避免这种情况的发生,可以采取冷热钱包进行切换,减少用户长时间在线的状态。或者设计应用服务进行密钥分割,使用Shamir密钥共享等密码学手段来分布式管理密钥,提高跨链交易时的抗攻击能力。
[0007]另外,协议在交易隐私性方面是稍显劣势的,因为跨链通信时的每笔交易资金的流转方向可查,并没有通过额外的技术手段对交易进行隐匿。
[0008]因此,现有技术存在缺陷,需要改进。

技术实现思路

[0009]本专利技术的目的是克服现有技术的不足,提供一种可拔插的多链数据互操作方法。
[0010]本专利技术的技术方案如下:提供一种可拔插的多链数据互操作方法,包括如下步骤:
[0011]步骤1:用户A通过哈希原像S创建中间账户,得到中间账户地址和哈希值H后,创建Juice上的哈希锁定交易,返回一个交易锁定值id1,并发送给用户B;
[0012]步骤2:用户B通过交易锁定值id1查询Juice上用户A锁定的资产交易,得到哈希值H、中间账户地址midAddress以及时间锁T;
[0013]步骤3:利用步骤2中所获得的哈希值H以及T/2的时间锁创建Chain B上的哈希时间锁定交易,然后返回交易锁定值id2并发送给用户A;
[0014]步骤4:用户A使用哈希原像S与交易锁定值id2尝试在Chain B上取回资产;如果用户A在T/2时间内取回资产,则执行步骤6;
[0015]步骤5:如果步骤4中,用户A未在T/2时间内取回资产,则视为资产交换失败,用户B可退回资产;
[0016]步骤6:用户B通过交易锁定值id2在Chain B上查询锁定资产状态,如果资产已被用户A取走,则查询结果返回哈希原像S,探后用户B通过哈希画像S和交易锁定值id1与Juice进行通信,取回用户A锁定在Juice上的资产。
[0017]步骤7:如果步骤6中,用户B未在T时间内取回资产,则视为资产交换失败,用户A可退回资产。
[0018]进一步地,在进行资源交换的过程中,采用Shamir密钥共享方案保证密钥安全问题,所述Shamir密钥共享方案的具体方式为:
[0019]生成密钥和分享:生成一个需要保护的密钥,然后选择一个安全的随机数生成器和一个大的质数P、需要生成的分享数量n以及需要分享数量k;然后生成一个k

1次的多项式,使得多项式的常数项等于密钥,多项式的其他k

1个系数均从随机数生成器中选择,并且保证均小于p;将这个多项式的k个点(x,y)作为分享,并发送给n个不同的对象;
[0020]重建密钥:当需要重建秘密时,需要k个分享,使用拉格朗日插值方法,计算这k个分享对应的多项式,然后提取出常数项作为原始密钥;
[0021]安全性:使用安全通道进行加密分享,或将分享保存在不同的地方。
[0022]进一步地,采用Hawk保证交易数据隐私性保护的问题,所述Hawk架构包括四个实体entitise,分别是:
[0023]编程人员Programmer:书写智能合约的人;
[0024]用户User:向智能合约发布转账交易或智能合约交易的人;
[0025]区块链Blockchain:不同区块组成的链条;
[0026]管理员Manager:计算、管理及维护系统的人,在智能合约上,管理员知道用户的input和转账金额,并且知道相应账号下的trapdoor。
[0027]进一步地,所述Hawk包含下列函数:
[0028]Freeze:在开始智能合约之前,用户需要冻结想要的钱;
[0029]用户端compute:用户在本地生成零知识证明,证明正确执行了Freeze步骤,且发送给管理员的数据和commit在区块链中的数据一致;
[0030]管理员端compute:管理员接收各个用户发来的数据之后,将所有的用户的inputs作为智能合约的输入,用零知识证明其计算过程和结果的正确性,根据合约的计算结果计算各个用户的货币分配,并使用零知识证明的方式来隐私保护该货币分配情况,智能合约
的output将以公开的方式保存到区块链中;
[0031]Finalize:区块链功过验证零知识证明来验证管理员的处理结果,确定智能合约的最终状态。
[0032]采用上述方案,本专利技术针对区块链网络体系中没有账户、资产这些概念的,通过在通用哈希时间锁定技术的基础上新增中间人机制,达到跨链进行资产交换的目的,支持不包含资产托管账户的区块链之间的资产互换;另外针对跨链进行资产交换过程中的密钥安全问题、交易隐私性等问题进行处理。
附图说明
[0033]图1为本专利技术的流程框图。
[0034]图2为Hawk的连接逻辑框图。
具体实施方式
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可拔插的多链数据互操作方法,其特征在于,包括如下步骤:步骤1:用户A通过哈希原像S创建中间账户,得到中间账户地址和哈希值H后,创建Juice上的哈希锁定交易,返回一个交易锁定值id1,并发送给用户B;步骤2:用户B通过交易锁定值id1查询Juice上用户A锁定的资产交易,得到哈希值H、中间账户地址midAddress以及时间锁T;步骤3:利用步骤2中所获得的哈希值H以及T/2的时间锁创建Chain B上的哈希时间锁定交易,然后返回交易锁定值id2并发送给用户A;步骤4:用户A使用哈希原像S与交易锁定值id2尝试在Chain B上取回资产;如果用户A在T/2时间内取回资产,则执行步骤6;步骤5:如果步骤4中,用户A未在T/2时间内取回资产,则视为资产交换失败,用户B可退回资产;步骤6:用户B通过交易锁定值id2在Chain B上查询锁定资产状态,如果资产已被用户A取走,则查询结果返回哈希原像S,探后用户B通过哈希画像S和交易锁定值id1与Juice进行通信,取回用户A锁定在Juice上的资产。步骤7:如果步骤6中,用户B未在T时间内取回资产,则视为资产交换失败,用户A可退回资产。2.根据权利要求1所述的可拔插的多链数据互操作方法,其特征在于,在进行资源交换的过程中,采用Shamir密钥共享方案保证密钥安全问题,所述Shamir密钥共享方案的具体方式为:生成密钥和分享:生成一个需要保护的密钥,然后选择一个安全的随机数生成器和一个大的质数P、需要生成的分享数量n以及需要分享数量k;然后生成一个k

1次的多项式,使得多项式的常数项等于密钥,多项式的其他k

...

【专利技术属性】
技术研发人员:龚自洪熊捧李升林张军
申请(专利权)人:矩阵元技术深圳有限公司
类型:发明
国别省市:

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

1