APP下载

一种改进的区块链跨链技术

2019-01-17魏昂

网络空间安全 2019年6期
关键词:区块链

魏昂

摘   要:伴随着区块链技术的飞速发展,各类区块链项目呈井喷式增长。在区块链项目数量呈现加速上升态势的同时,后续没有相应的配套措施,导致目前大部分的区块链项目无法互联互通。为了解决每个链都是独立的、垂直的封闭体系,让链与链之间的互操作性成为可能,文章基于哈希锁定技术,设计了一种改进的跨链技术,通过将主链资产双向锚定到侧链,利用哈希时间契约锁协议HTDLC,哈希锁防止信息篡改,时间锁限制交易时间,违约锁放置违约强制保障协议,实现资产跨链交易。

关键词:区块链;跨链;哈希锁定;HTDLC;违约锁

中图分类号:TP311.13          文献标识码:A

Abstract: With the rapid development of blockchain technology, blowout growth of all kinds of blockchain projects. At the same time, the number of blockchain projects is increasing rapidly, and there are no corresponding supporting measures in the follow-up, which makes most of the current blockchain projects unable to interconnect. In order to solve the problem that each chain is an independent and vertical closed system, it is possible to make interoperability between chains. This paper designs a new cross-chain technology based on atomic swap. By anchoring the main chain assets to the sidechain in two directions, using the HTDLC, hashlock prevents information tampering, timelock restricts transaction time, and delylock places compulsory guarantee protocol to realize cross-chain transaction of assets.

Key words: blockchain; cross-chain; hash-locking; HTDLC; delylock

1 引言

区块链(Blockchain)[1]技术作为继云计算、物联网、大数据之后的又一项颠覆世界的技术,在金融、互联网等领域已得到广泛的应用,显现出广阔的前景。目前,GitHub上的项目数达到10万个以上,另据Coinmarketcap数据显示,目前已有Token种类达到2397个,总市值约2700亿美元。

随着区块链应用的蓬勃发展,区块链所面临的问题也日益突出。在诸多问题中,各链之间彼此没有任何连接,在很大程度上限制了区块链应用空间的发展,这对于整个区块链生态来说,都是极其不利的。例如Alice需要到商场购买一部手机,Alice仅拥有BTC(比特币),商家支持使用ETH(以太币),不接受与BTC的交易。此时Alice需要通过一定渠道将BTC兑换成商家支持的ETH。这笔交易的过程应该是,首先Alice把BTC卖出得到ETH,然后再用ETH买入ETH,在这个过程中将会出现很多问题,如币价不稳定将会导致价值损耗,同时交易过程也很繁琐,周期过长。于是,打破不同区块链项目间通信壁垒的需求呼之欲出,链与链之间的互联操作,越来越被重视,跨链技术也由此诞生。

本文设计了一种改进的区块链跨链技术,实现了双链之间资产交易,让链与链之间的互操作性成为可能,解决每个链都是独立的、垂直的封闭体系,实现信息传递互联网向价值互联网IoV(Internet of Value)[2]的進步。

2 区块链跨链技术

2.1 跨链技术

跨链技术(Cross-chain Technology)[3],顾名思义,就是能让价值跨过链和链之间的障碍,进行直接流通的一项技术。跨链本质上和货币兑换是一样的,跨链并没有改变每个区块链上的价值总额,只是不同的持有人之间进行了一个兑换而已。

跨链技术的核心要素是帮助一条链上的用户与另一条链上的用户进行商品兑换。从业务的角度上来看,跨链技术更像是一个中间交易所,用户能够到交易所里进行跨链交易。相比于之前的交易所都是中心化的法币交易,现在主流的交易所都变成了币与币的交易。币与币的交易所当交易所由多个主体共同运行,或者干脆是一个公有链,任何人都能参与到这个交易所的运行中,从而避免中心化交易所存在的盗币、储备不足等信用问题。

2.2 主流跨链技术对比

本节将对比分析目前主流跨链机制,公证人模式、侧链/中继模式、哈希锁定、分布式私钥控制、公证人机制+侧链混合技术[4],从双链之间互操作性,链操作信任模式,面对交易方面从是否支持跨链的资产交换、资产转移、资产抵押,技术本身方面交易速度、实现难度、多币种智能合约,多方面、多角度进行对比分析,得出分析结果如表1所示。

从互操作性上看,公证人模式、侧链/中继模式和分布式私钥支持所有,而哈希锁定其实是一种依赖关系,存在着明显的不足。

从信任模型上看,公证人模式需要多处公证人的证实,公证人是第三方、特权机构,很容易成为整个系统中信任环节中最弱的那一环,其它模式则不会出现此类问题。

面对交易方面,公证人模式、侧链/中继模式和分布式私钥均能支持跨链资产交换及转移,跨链合约和资产抵押。而哈希锁支持的功能比较少,能够支持跨链资产交换,大部分场景能够支持资产抵押,但不支持跨链资产转移。

在技术方面,公证人模式、侧链/中继模式处理交易速度相对较慢,哈希锁定、分布式私钥控制、公证人机制+侧链混合技术交易处理速度相对较快;实现起来,哈希锁定具有良好的实现可能,其它模式则相对困难,要具备良好的知識储备;而多币种智能合约在哈希锁定不具备此业务拓展,其它模式实现起来来比较困难。

当然不同的应用背景下,跨链技术的选择存在着明显的不同,技术的应用不仅要考虑技术本身的条件,还应考虑各技术存在的问题。

2.3 跨链技术难点

当前,跨链技术存在三个需要解决的难点问题。一是保障跨链交易的原子性:交易发生的可能性只有发生与不发生,保障交易双方账本信息一致且同步,创建无信任的环境避免双花(Double-spending)[5]等问题,是跨链交易的基础。二是技术实现难度较大:交易涉及两条主链间的价值流通,需要根据原链的特性适配开发[6],对交易模型、加密技术、智能合约等方面具有较高的要求。三是交易速度有待提升:随着数字经济的到来,跨链交易规模必将不断增长,交易的复杂性决定了节点验证过程的严格性,严格性决定了对时间、通道的资源占用,传统跨链技术对于大规模跨链交易并发执行速度必将有待改进。

3 改进的跨链技术设计

3.1 哈希时间契约锁协议

为实现跨链交易的原子性,创建无信任的环境,需要特定的事务类型,本文设计了一种基于哈希锁定[7]的哈希时间契约锁协议(Hashed Timed DelyLock Contract,HTDLC)。HTDLC是指以加密方式进行哈希处理并具有相关时间与保障金限制的合同,是一种能够在加密货币渠道中进行使用的智能合约。它用以实现有时间限制的事务,这意味着交易的接收者必须通过在特定时间范围内生成加密证据来确认付款。否则,交易不会发生。它同时规定了违约赔付的相关事务,这意味着一旦线下协约一致进行交易,出现单方违约,将不可避免地受到惩罚,扣除约定金额的违约金交予守约方。

HTDLC使用现有加密货币交易中的多个元素,包括私有公钥来验证事务,但是有三个因素是区分HTDLC和标准的加密货币交易,如图1所示。

哈希锁(HashLock)是由事务的发起者生成的加密密钥的加扰版本,其是一种阻碍,它限制输出的开销,直到公开显示指定的某个数据(作为加密证据)。这种证据也可以称为反复嵌段的前映像。预映像只是用于生成反馈锁的信息,以及稍后解锁其资金的信息。

时间锁(TimeLock)是一种限制资金支出的功能,使用时基来锁定和释放交易货币,仅在特定时间和日期或块大小的特定高度完成事务。它可以在比特币中实现,例如使用Check Lock Time Verify(CLTV)或Check Sequence Verify(CSV)等函数。

违约锁(DelyLock)是一种在跨链交易过程中作为保障交易强制执行的方法,通过将10%的交易金额放入违约锁进行锁定,一旦出现单方面发生了违约操作,例如在交易过程中,超出时间锁限制的情况,则将对违约方进行资金处罚,扣除违约锁内的金额给与应约方。通过违约锁设置,可间接减小双方交易的时间,提高交易人双方利益保障。

3.2 跨链设计

3.2.1 跨链交易模型

要使用HTDLC进行交易,相关方需要相互打开渠道。准备条件传输时,发送方向收件人发送包含哈希锁和超时与违约的通道的签名更新。当且仅当他们可以在超时之前呈现散列原像时,接收者可以兑换转移金额。如果发件人和收件人同意在超时之前交付了原像,他们可以用新商定的渠道余额交换签名的陈述。如果存在违约,另一方可以向侧链提供最后一个索赔和散列锁原像,侧链将确定原像是否有效并在超时之前提交。

使用有条件支付渠道,发件人和收件人可以在没有任何资金风险的情况下进行交易,因为所有争议都将由侧链调解,建立跨链协议模型如图2所示。

区块链A上用户Alice与区块链B上用户Bob进行数字资产的交易,假设两者不能直接进行跨链交易,此模型通过将两种交易的资产通过双向锚定机制暂时锁定在侧链,再进行HTDLC合约实现价值传输的跨链协议。通过哈希作为合同的锁,避免了第三方直接参与交易过程,明显地提高了资产交易的安全性。同时,为了降低交易对手风险,支付接收方需要提供交易执行的证据,避免出现单方违约,加入了强有力的单方违约处罚规则。

3.2.2  跨链交易过程

改进的跨链技术要想实现跨链交易,首先交易双方通过线下商议协定合同内容,接着进行线上服务请求,再一步进行链间认证资金流转,最终实现数字资产的跨链交易。

如图3所示,跨链交易过程具体步骤。

(1)首先,Alice与Bob交易之前,进行线下商议交易合约,双方约定交易金额Alice用100ALC换Bob的1BTC,时间锁锁定时间48小时,10%交易金额的违约锁保障资金等内容达成一致性共识,并会把这些内容写入到智能合约当中。

(2)接着交易双方在各自的主链上,进行交易请求,主链判断用户可用余额大于实际交易过程使用的金额,会对资产进行暂时锁定(其中包含交易金额和10%交易金额的保障资金),放入ALC、BTC资产冷藏池(主链上分配进行资产暂存的位置)。

(3)交易双方通过双向锚定,在侧链上生成等价值冷藏池的ALC、BTC代币。

(4)Alice随机生成一个密钥data1,通过哈希算法将密钥进行计算,得出= hash(data1),然后再使用自己的私钥对进行签名,即,将传递给Bob,发起交易1,向Bob比特币账户转100ALC,其中金额分为两份,90ALC放入侧链交易池中,10ALC放入DelyLock中。交易池中的金额可通过Bob的签名和密钥data1获得,但是DelyLock中的金额,只有双方完成交易或Alice出现违约才会发送给Bob,同时Bob出现违约,则将其返回给Alice。

(5)同时Alice会广播一笔违约交易(交易2),交易2中说明双方完成交易或Alice出现违约会自动执行将DelyLock中的10ALC发送给Bob,超过48小时未完成交易1,资金退回Alice账户。

(6)在交易1、2发起前,Alice会广播一笔回撤交易(交易3),该交易表明若48小時内交易1未完成,则将资产回退给Alice;回撤交易得到Alice与Bob的共同签名后生效。同时,Alice只有在交易3成功生效的情况下,才会发起交易1、2。

(7)Bob接收到Alice的交易3、2,若同意跨链转账则在交易3、2中添加签名。此时交易3、2生效,Alice将交易1向全网广播。

(8)Bob在B链上发起交易4,向Alice支付1BTC以得到密钥data1,Alice在交易中输入data1和签名后才可以得到0.9BTC。为保障交易4中Bob资产安全,在交易4之前同样会发送一笔违约交易(交易5),一笔回撤交易(交易6)。

(9)Alice收到交易6、5后,会附加自己的签名,交易6、5生效后,Bob将交易4在全网广播。

(10)Alice为获得0.9BTC,在交易4中附上自己的签名和密钥data1'。

(11)Bob对data1'进行哈希处理,得到=hash(data1'),同时将交易1发生时收到的用Alice的公钥进行解密,得到,判断与是否一致。

(12)与一致,此时交易4成功,Alice获得0.9BTC,Bob获得密钥data1。

(13)在B链中Bob输入自己的签名和data1,获得90ALC。

(14)双方48小时内完成交易,DelyTime违约金发送给双方,完成交易,将交易记录写入各自主链中。

4 结束语

本文基于侧链和哈希锁定设计的跨链技术,利用HTDLC合约去信任的管理机制完成“锁定”“解锁”的过程,密码学技术的使用保证交易过程中交易双方外部信息进入另一条链时是正确的,双方账本信息一致且同步。违约锁的设计,可有效地避免单方违约情况,减少单方违约所造成对方时间成本的浪费,以及占用交易通道的浪费,一切纠纷将由侧链解决,督促双方高效快速的完成交易,提高交易速度,为面对大规模交易并行计算,提供了一种解决思路。

价值互联网如何能够链接成“网”,而不是各自的一条线,解决链间无规律的联系,这需要不断地实践创新跨链技术。在区块链大浪潮下,跨链技术作为整合区块链项目,提高区块链性能的重要手段,必将受到核心开发者的重视。无论是作为技术研究还是投资的角度,跨链的发展都是值得进一步关注和研究的。未来跨链技术发展方向,必将会对智能合约进一步增强,同时使用并行计算提高智能合约的效率,提高链的可扩展性从而使各链进行安全、高效的互操作交易。

参考文献

[1] ANTONOPOULOS A M. Mastering Bitcoin[M]. USA:O'Reilly Media,2014.

[2] 刘权.区块链与人工智能 构建智能化数字经济世界[M].北京:人民邮电出版社,2019.

[3] 李芳,李卓然,赵赫.区块链跨链技术进展研究[J].软件学报,2019,30(06):1649-1660.

[4] 江鹏.跨链技术概览及项目对比[EB/OL]. http://www.mimajike.com/2417/.html.

[5] KARAME G O, ANDROULAKI E, CAPKUN S. Doublespending Fast Payments in Bitcoin[C]//ACM. The 2012 ACM Conference on Computer&Communications Security, October 16–18, 2012, Raleigh, North Carolina, USA. New York:ACM, 2012:906-917.

[6] 路爱同,赵阔,杨晶莹,王峰.区块链跨链技术研究[J].信息网络安全,2019(08):83-90.

[7] 张诗童,秦波,郑海彬.基于哈希锁定的多方跨链协议研究[J].网络空间安全,2018,9(11):57-62+67.

猜你喜欢

区块链
区块链对互联网金融发展的重塑与挑战分析
区块链技术在国内外金融领域应用动态
基于区块链技术的海上散装液体化学品运输安全监管方法
保险企业的区块链技术应用方向选择研究
区块链技术在金融领域的应用与前景研究
区块链技术的应用价值分析
“区块链”发展现状评述及展望
“区块链”的苟且、诗和远方
基于区块链技术的数字货币与传统货币辨析
智能合约与金融合约