哈希时间锁定协议技术想法的提出,最早应源于2013年BitcoinTalk论坛里的一场讨论;而技术的实际落地,又与比特币的闪电网络有关联。在闪电网络中,为实现两个用户之间的小额支付通道,用户需提前锁定自己的部分款项,两用户涉及该部分款项的交易在链下进行。一段时间后,款项的最终分配确定下来,该分配方案再上传至主链(图1)。这样一来,即可使大量的小额交易在链下进行,提高了比特币网络的交易吞吐量。
闪电网络中用于锁定用户款项的哈希锁合同(HashedTimelockContracts,HTLC)技术启发了后来的开发者们。代币与代币之间的交易,需要经由中间人的转换,这其中的关键在于取得各方的信任。而对代币进行锁定的过程,正是一个可以产生信任的质押过程。
以一笔虚构的交易为例。假如1个比特币与10个以太币的价值等同,发送者(Sender)手上拥有1.1个比特币,希望购买接收者(Receiver)提供的价值10个以太币的服务。则发送者可以联系一个同时具有比特币地址与以太坊地址的连接方(Connector),并协商好代币转换的手续费为0.1个比特币。那么交易的流程如下图(方案一):
在这一过程里,风险较高的是传输1.1比特币的步骤:连接方有可能在收取1.1个比特币后马上退出交易,使得发送方利益受损。合理的方案是把比特币的交付延后处理。当以太币实现交付后,再进行比特币交付,交易风险即转移至连接方(方案二)。
为了同时保障连接方的利益,需解决的问题是确保接收方在获得10个以太币的同时,发送方的1.1个比特币也送往连接方,两个事件需要同时发生。这实际上是交易“原子性”的体现:要么款项完全实现转移,要么款项完全未转移,不存在中间的状态。这一问题由预共享密钥(Pre-SharedKey,PSK)技术解决。
如果把1.1比特币看做一个交易包,10以太币看做另一交易包,在PSK技术中,这两个交易包都由同一个密钥启动,从而实现“两者同时发生”。
发送方预先由加密算法得到一个密钥,把密钥发送给接收者,把相关信息发给连接方。同时,发送方将自己的1.1个比特币锁定在交易包1里,需要密钥才能转移款项。
连接方通过发送方给出的信息,制作一个包含10个以太币的交易包2并发给接收者。当接收者用密钥打开交易包2时,接收者获得10个以太币,同时密钥也被发送给连接方,连接方即可以使用该密钥获得交易包1里的1.1个比特币。这样一来即实现了代币之间的互换。
为避免款项锁定时间过长,交易包一、二均需约定限制时间,超出时间后款项即解锁、返回原地址,这就是时间锁(Timelock)功能。而上文提到的预共享密钥则使用了哈希加密(Hashed),因此该技术方案被称为哈希时间锁定协议(Hashed-TimelockAgreements)。
这一技术依然存在一定的局限性:
(1)连接方需承担一定风险。在PSK技术中,连接方需向交易包1注入密钥才能获得比特币,也就是比特币和以太币的交付并非完全在同一时间发生。由于两个币种的交付均约定了限制时间,若交易包2的限制时间大于交易包1,有可能使得接收者获取10个以太坊后,连接方无法收回应得的1.1个比特币,蒙受损失。这一风险可通过设定交易包1的限制时间总大于交易包2来避免。
(2)对于不支持哈希时间锁技术的区块链项目,只能通过另外的账本平台进行上述过程。额外的记账平台可保存代币之间转移的交易记录。然而由于记账平台本身不发生代币的转移,本质上记录的是赊账、借账的信息,需交易双方之间相互具备充足的信任,交易才可进行。而通过账本平台,只要保证双方具备信任基础,非区块链的资产亦可通过这一记账方式进行交换。
本质上,不同资产之间的交易、流转,只需提供信任基础(产生联系),保证交易的原子性(资产交割),即可进行。而在哈希时间锁定协议中,代币的锁定实现了资产质押,为交易提供了信任基础。而密钥的传递,则保证了交易的原子性。同时时间锁的引入,避免了交易时间过长而造成的纠纷或意外。除区块链项目外,这一模式可应用到不同资产类别的流转中。
哈希时间锁定协议技术已由RippleInterledger项目基本实现,在可运行智能合约的区块链项目中,币币交易的落地或将逐渐变得普遍。这一技术提供了一种区块链项目生态的可能性:如BTC等主流区块链项目作为主结算系统,而其他应用项目针对性地解决用户的不同需求。当用户享受服务、进行结算时,使用代币互换技术进行支付。这样一来,主流项目传递价值;应用项目面向细分需求,同时为主流项目分摊服务压力;用户各取所需。最终将构建起一张全球共用的可信任的结算网络,在此基础上运行一切去中心化的应用,真正实现丰富的区块链应用生态。
BitMere.com is Information release platform,just provides information storage space services.
The opinions expressed are solely those of the author,Does not constitute advice, please treat with caution.
The opinions expressed are solely those of the author,Does not constitute advice, please treat with caution.
Write the first review