闪电网络“肮脏的小秘密”:哈希时间锁定智能合约能确保支付安全吗?
![闪电网络“肮脏的小秘密”:哈希时间锁定智能合约能确保支付安全吗?](https://s.hougarden.com/image/05/cc/05ccb7838d7fb84ebe65e5eeccc66c8a.jpg?x-oss-process=image/quality,q_80/resize,w_1920/format,webp)
比特币闪电网络(Lighting Network)概念是在知名开发人员 Joseph Poon 和 Thaddeus Dryja发布的《比特币闪电网络:可扩展链下实时支付》(The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments)白皮书中提出的,本质上是由了哈希时间锁定智能合约(Hashed Time Lock Contract)来安全地处理“0确认“交易的一种机制,通过巧妙设置”智能合约“,用户可以在闪电网络上进行未确认的交易。
(星球君注:区块链去信任是指用户不需要相信任何第三方。用户使用去信任的系统或技术处理交易时非常安全和顺畅,交易双方都可以安全地交易,而不需要依赖信任的第三方。)
哈希时间锁定智能合约(HTLCs)
第一种是在提供正确密码的时候才能被打开的“锁“——我们称之为”哈希锁(hash-lock)“。
第二种是在一段时间延迟之后自动打开的“锁“——我们称之为”时间锁(time-lock)“。
图2:当哈希值达到指定值的时候(在本例中为45f8),输入密码即可打开哈希锁;而时间锁则是在指定时间过后就会被打开(在本例中为 48 小时)。
图5,Carol 公布了自己的密码,然后打开密码锁取出代币。
获取了 Carol 的密码之后,Bob 用同样的方式解锁了 Alice 给自己的珠子(如图 6 所示),整个支付交易完成。
图6,获取了 Carol 的密码之后,Bob 现在可以获取 Alice 给自己的珠子,整个支付交易也因此完成了。
如果你对闪电网络支付流程感兴趣的话,可以深入探讨一下如果其中一方在不同步骤中变得不合作,Alice、Bob 和 Carol 会不会因为对方行为面临资金损失的风险。
闪电网络的肮脏小秘密
闪电网络有一个很少人知道的肮脏小秘密,如果想要了解这个秘密是什么,以及这个秘密对闪电网络支付交易会有什么影响——我们需要再深入挖掘一下。
现在让我们回想一下,当 Alice 通过 Bob 向 Carol 发送一笔支付交易的时候,其中还存在一种“中间状态”(如图 7 所示)。我们就直接用比特币来做解释,渠道状态包括三种输出:
图7,此时闪电网络通道状态交易包含了三种输出:Alice 的比特币、Bob 的比特币、以及“交易过程中”的比特币。
图8,如果“交易过程中“的比特币低于粉尘阙值,则不能使用哈希时间锁定智能合约机制,因为在广播情况下通道状态交易无法被挖掘,此时”交易过程中“的代币会被倾倒进”矿工费用篮子“里。
为什么 “闪电网络肮脏的小秘密” 值得关注
2、一些小微支付交易可能会出现快速、连续地丢失(例如发生了一起闪电网络路由攻击),可能会造成重大损失。
想象一下,未来大部分支付交易都发生在闪电网络上,第一层上的交易费用一直都超过 100 美元,此时主链上低于 100 美元的粉尘输出就会变得没什么价值了,因为链上费用比交易金额本身还高。
未来,那些连接状态较好、但却收取较高链上费用的闪电网络路由中心必须要受到监管,因为他们已经能够对其客户资金进行“托管控制(custodial control)”了。
如果底层区块链不受约束,闪电网络就很可能无法像人们所期望的那样工作。
最后的话
未来,当大多数比特币交易都发生在闪电网络上,而且区块链也收取高额费用的时候,人们可能会发现闪电网络和预期的有很大不同,除了本文提到的这个“肮脏的小秘密”之外,其他闪电网络的潜在问题还包括:
1、闪电网络扩容的是交易,而不是用户。运行完整闪电网络交易验证节点的成本仍然很高;
2、第一层上的问题(摩擦)会影响第二层可互换性(fungibility),代币存在“位置依赖(position-dependent)”价值;
3、流动性:通过闪电网络交易,大多数“财富状态”其实是无法获得的,支付失败也是不可避免的;
4、如果闪电网络铺的很大,路由就会变得越来越难:闪电网络路由中心将集中化地减少路由和流动性问题;
6、系统性风险:闪电网络通道(热钱包)里需要锁定大量代币,这样才能确保提供足够的流动性;
7、当区块奖励用完的时候,第一层上的总矿工费将不足以确保区块链安全。