哈希时间锁定协议

栏目: 数据库 · 发布时间: 6年前

内容简介:来源:

2018-9-25 11:20

来源: blockchainbrother

哈希时间锁定协议(Hashed-Timelock Agreements, HTLAs)是一项可使不同区块链项目之间进行代币交易、互换的技术。在传统的交易所进行代币交易时,交易者往往需要把代币提前质押给交易所,这带来了一定的交易风险,并需要较高的手续费用。而在哈希时间锁定协议中,只需发送者、连接方、接受者三方,即可实现代币的交易,期间不需要任何交易所平台;且在交易失败时,代币并未发生实际转移,不需支付额外的交易费用。与交易所相比,哈希时间锁定协议相当于提供了一个“跳蚤市场”,毋需托管的第三方,交易所的作用被分散至社区内的个人,人与人之间可以安全地进行代币间的交易。

哈希时间锁定协议技术想法的提出,最早应源于2013年BitcoinTalk论坛里的一场讨论 ;而技术的实际落地,又与比特币的闪电网络有关联。在闪电网络中,为实现两个用户之间的小额支付通道,用户需提前锁定自己的部分款项,两用户涉及该部分款项的交易在链下进行。一段时间后,款项的最终分配确定下来,该分配方案再上传至主链(图1)。这样一来,即可使大量的小额交易在链下进行,提高了比特币网络的交易吞吐量。

哈希时间锁定协议 图1 闪电网络示意图

闪电网络中用于锁定用户款项的哈希锁合同(Hashed Timelock Contracts, HTLC)技术启发了后来的开发者们。代币与代币之间的交易,需要经由中间人的转换,这其中的关键在于取得各方的信任。而对代币进行锁定的过程,正是一个可以产生信任的质押过程。

以一笔虚构的交易为例。假如1个比特币与10个以太币的价值等同,发送者(Sender)手上拥有1.1个比特币,希望购买接收者(Receiver)提供的价值10个以太币的服务。则发送者可以联系一个同时具有比特币地址与以太坊地址的连接方(Connector),并协商好代币转换的手续费为0.1个比特币。那么交易的流程如下图(方案一):

哈希时间锁定协议 图2 代币交易方案示意图

在这一过程里,风险较高的是传输1.1比特币的步骤:连接方有可能在收取1.1个比特币后马上退出交易,使得发送方利益受损。合理的方案是把比特币的交付延后处理。当以太币实现交付后,再进行比特币交付,交易风险即转移至连接方(方案二)。

为了同时保障连接方的利益,需解决的问题是确保接收方在获得10个以太币的同时,发送方的1.1个比特币也送往连接方,两个事件需要同时发生。这实际上是交易“原子性”的体现:要么款项完全实现转移,要么款项完全未转移,不存在中间的状态。这一问题由预共享密钥(Pre-Shared Key, PSK)技术解决。

如果把1.1比特币看做一个交易包,10以太币看做另一交易包,在PSK技术中,这两个交易包都由同一个密钥启动,从而实现“两者同时发生”。

发送方预先由加密算法得到一个密钥,把密钥发送给接收者,把相关信息发给连接方。同时,发送方将自己的1.1个比特币锁定在交易包1里,需要密钥才能转移款项。

连接方通过发送方给出的信息,制作一个包含10个以太币的交易包2并发给接收者。当接收者用密钥打开交易包2时,接收者获得10个以太币,同时密钥也被发送给连接方,连接方即可以使用该密钥获得交易包1里的1.1个比特币。这样一来即实现了代币之间的互换。

哈希时间锁定协议 图3 使用哈希时间锁定协议的交易过程

为避免款项锁定时间过长,交易包一、二均需约定限制时间,超出时间后款项即解锁、返回原地址,这就是时间锁(Timelock)功能。而上文提到的预共享密钥则使用了哈希加密(Hashed),因此该技术方案被称为哈希时间锁定协议(Hashed-Timelock Agreements)。

这一技术依然存在一定的局限性:

(1) 连接方需承担一定风险。在PSK技术中,连接方需向交易包1注入密钥才能获得比特币,也就是比特币和以太币的交付并非完全在同一时间发生。由于两个币种的交付均约定了限制时间,若交易包2的限制时间大于交易包1,有可能使得接收者获取10个以太坊后,连接方无法收回应得的1.1个比特币,蒙受损失。这一风险可通过设定交易包1的限制时间总大于交易包2来避免。

(2) 对于不支持哈希时间锁技术的区块链项目,只能通过另外的账本平台进行上述过程。额外的记账平台可保存代币之间转移的交易记录。然而由于记账平台本身不发生代币的转移,本质上记录的是赊账、借账的信息,需交易双方之间相互具备充足的信任,交易才可进行。而通过账本平台,只要保证双方具备信任基础,非区块链的资产亦可通过这一记账方式进行交换。

本质上,不同资产之间的交易、流转,只需提供信任基础(产生联系),保证交易的原子性(资产交割),即可进行。而在哈希时间锁定协议中,代币的锁定实现了资产质押,为交易提供了信任基础。而密钥的传递,则保证了交易的原子性。同时时间锁的引入,避免了交易时间过长而造成的纠纷或意外。除区块链项目外,这一模式可应用到不同资产类别的流转中。

哈希时间锁定协议技术已由Ripple Interledger项目基本实现,在可运行智能合约的区块链项目中,币币交易的落地或将逐渐变得普遍。这一技术提供了一种区块链项目生态的可能性:如BTC等主流区块链项目作为主结算系统,而其他应用项目针对性地解决用户的不同需求。当用户享受服务、进行结算时,使用代币互换技术进行支付。这样一来,主流项目传递价值;应用项目面向细分需求,同时为主流项目分摊服务压力;用户各取所需。最终将构建起一张全球共用的可信任的结算网络,在此基础上运行一切去中心化的应用,真正实现丰富的区块链应用生态。

参考文献:

[1]Interledger Architecture, [EB/OL], https://interledger.org/rfcs/0001-interledger-architecture/

[2]Interledger Protocol V4, [EB/OL], https://interledger.org/rfcs/0027-interledger-protocol-4/

[3]Pre-Shared Key V2 (PSKv2) Transport Protocol, [EB/OL], https://interledger.org/rfcs/0025-pre-shared-key-2/

[4]Lightning Network, [EB/OL], https://en.bitcoin.it/wiki/Lightning_Network

[5]Hashed-Timelock-Contract-Ethereum, [EB/OL], https://github.com/chatch/hashed-timelock-contract-ethereum

[6]Two-Phase Commit, [EB/OL], http://foldoc.org/two-phase%20commit

作者:陈致佳、蒙绎泽、江泽武

来源:币世界

哈希时间锁定协议

声明:“链门户”登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容尽供参考,不构成投资建议。投资者据此操作,风险自担。如有不妥请及时联系QQ:3341927519进行处理。


以上所述就是小编给大家介绍的《哈希时间锁定协议》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

常用算法程序集

常用算法程序集

2009-7 / 58.00元

《常用算法程序集(C++语言描述)第4版》是针对工程中常用且行之有效的算法而编写的,主要内容包括矩阵运算,矩阵特征值与特征向量的计算,线性代数方程组的求解,非线性方程与方程组的求解,插值与逼近,数值积分,常微分方程组的求解,数据处理,极值问题的求解,复数、多项式与特殊函数的计算,查找与排序。书中所有的算法程序均用C++描述,全部程序可从清华大学出版社网站上的《常用算法程序集(C++语言描述)第4版......一起来看看 《常用算法程序集》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具