TLC作为构建基块
假设你是一个比特币的持有者,早些时候你将一些比特币发送到了你朋友马丁的地址上。要花费你所发送的比特币,马丁需要证明他具有该地址相对应的私钥。这就是比特币最基本的工作原理:马丁证明他有钥匙的所有权,然后才可以花你发送给他的比特币。
说这是最基本的原理是因为,如果你想限制马丁使用你所发送的比特币,你其实可以增加更多的限制条件。比如马丁必须在给定的时间段内揭示某个秘密,否则时间到了之后,这些比特币可能被另一个密钥的拥有者所使用。
那这个秘密又是什么?这个秘密是马丁或网络中其他人创建的一条信息。如果是马丁自己创建了这个秘密,他当然会知道它是什么。但如果是别人创造的秘密,马丁便需要想办法找出这个秘密。无论如何,只要马丁知道了这个秘密,他便可以使用比特币,进一步将比特币发送到自己的钱包地址以防止超时,我们称此动作为资金获取。
这整个流程简而言之就是一个HTLC:它的本质是一个合同,在某个交易中,其要求收款人在一定时间内证明自己知道特定的秘密后才能花钱。 事实证明,添加这个条件后将实现一个非常有趣且实用的功能:链接付款功能。这可能与链上交易无关,因为在链上交易中,人们可以直接向最终收款人付款,但是在闪电网络中这非常有用,因为在闪电网络中如果直接向所有人付款会使得效率非常低下。
在诸如闪电网络之类的路由网络环境中更容易理解HTLC的原理和目的,让我们先来看一个脱链支付的示例。看之前请记住,无论交易发生在链上还是链下,HTLC其实都可以起到相应的作用,它们甚至可以在其他区块链(例如莱特币)中工作。
02
闪电网络中的HTLC
假设你现在想向Sandra支付1个BTC,但你和她之间却没有付款通道。而托马斯与你们两个都有付款通道,于是你们便可以通过托马斯来实现这笔交易。在没有HTLC的情况下,这个交易过程中可能会出现什么问题?取决于谁先付款作为前提,可能会出现以下两个问题:
如果你先付钱给托马斯,并相信他会付钱给桑德拉,那么很有可能托马斯会携款而逃。
如果托马斯先付钱给桑德拉,并相信你之后会再付给他,那么你就可以让托马斯为你支付费用,然后永远不付这笔钱。
如果使用HTLC,Sandra便可以创建只有她自己知道的秘密,你则可以安全地将比特币发送给Thomas并添加一个限制条件,比如他必须在一定时间内揭示秘密,否则你便可以使用比特币。而Sandra会给你看她闪电网络的凭证,上面的二维码会提示你相关的信息。
由于HTLC的特性,你将知道Thomas揭示的是否是Sandra所创建的秘密,即使你事先并不知道这个秘密是什么。现在,Thomas可以向Sandra发送一个比特币,并且包含相同的条款:如果要花费它,她需要在一段时间内揭示秘密。而已经知道秘密的Sandra可以立即使用这笔钱。
在获取资金的那一刻,Sandra揭示了秘密,于是Thomas也可以使用你发送给他的比特币了。最终的结果是在彼此不信任的情况下,你通过Thomas成功向Sandra支付了比特币。现在,你和Thomas都知道了Sandra创造的秘密,你们都可以将其用作付款证明,因为Sandra揭示了这个秘密用来获取她的款项。值得注意的是,如果Sandra拒绝或者无法揭示秘密,超时这个限制条件非常关键,其赋予了交易回滚的可能性。
03
潜交换中的HTLC
我们一般称普通的比特币交易为链上交易, 闪电网络通道建立后,所有交易都是链下交易, 也可以理解为闪电支付就是链下交易,而HTLC可以同时在链上和链下交易中实现。实际上,它们可以用于链接链上付款和链下收款的交易,反之亦然。这便是潜交换。
假设你想在闪电网络中实现一笔交易,但又怕麻烦不想自己管理。潜交换允许你通过中介使用链上的比特币来支付闪电凭证,这个过程是如何实现的?闪电网络中的商人会生成一个二维码,用来提示你需要向潜交换提供者获取的秘密,只有揭示了这个秘密,你才能使用资金。完成这个步骤后你便可以安全的将比特币发给服务提供商,形成一个链上的HTLC。服务提供商由于不知道秘密,所以无法立即使用你发给他们的比特币。相反,他会将比特币转移到闪电网络商家那里,并加上一条条款,要求闪电网络商家必须披露相应的秘密才可以获取资金。
闪电网络商家已经知道了这个秘密,但要想获取这笔钱,他必须揭露这个秘密。在这个过程中,交换服务提供商会了解到这个秘密,并获取你支付给他们的钱。交换服务提供商和商家都可以收取相应的钱,但是有一个区别:交换服务提供商收到的是链上的钱,而商家收到的是链下的钱。
04
潜交换有什么用?
潜交换可能是通过闪电网络进行付款的最简便方法了。虽然它仍旧需要支付链上费用,但付款流程类似于一个链上支付的过程,并且付款可以是即时的(取决于实现方式)。如果用户需要将部分资金从链上转移到链下(或者相反),那么潜交换将会非常有用。例如,在通过闪电网络成功进行了一周的运作后,商家可能需要获取链上的比特币才能向提供商付款。而回滚机制则提供了一种反向潜交换的方法,同时可以重新平衡通道以获取容量。
最后,考虑到其他代币也可以进行潜互换,例如使用Litecoin(费用较低且确认时间较短)和商家完成闪电付款或为您的渠道提供更多的流动性。
潜交换是Alex Bosworth和Olaoluwa Osuntokun提出的想法,并随着时间的推移越来越受到人们的欢迎。尽管潜交换不是完美的,但它现存的一些应用程序可以帮助整个网络在初期发展的过程中解决两个主要问题:流动性和采用率。