作者:Nocolas Dorier
引言
我的开场白是:我认为,有一项创新多年来近在我们眼前,而我们最大的错误就是没有正确看待它。
我准备要讲的东西,从技术上来说,没有什么新颖之处;在这篇短文中,我唯一想要说服各位的地方是,从另一个角度来看待我们已知事物的重要性,这样可以在我们当前的经济技术中为一项创新找到更适合的背景描述。
我会先讲一些我并不专业的东西:微观经济学、金融学或者银行学。即便如此,我认为,从中揭示的想法已经值得深思,因为它提出了利用闪电网络上的金融工具的完全不同的方法。
我的想法如下:
如今,没有任何东西能够阻止以下创新:
- 无需信任的 “比特币美元(Bitcoin-Dollar)”,这是更好的 “离岸美元(Eurodollar)”,会让稳定币(stablecoins)过时。
- 无需信任的中介活动
术语
美国境内的美元
这些美元通常被理解为 “美联储(FED)” 的债务。不过,在美国,美国银行的美元债务也被理解为美元。
实际上,美国的银行们可以创造的美元数量并没有根本上的限制。银行美元在发放贷款时就产生,在偿还贷款时就消灭。
虽然 FED 施加了一个比例上的限制,但目前,这并不是限制发放贷款的因素。
离岸美元
类似地,美国境外的银行也可以创造美元(US Dollar)债务。因此,欧洲的银行创造出了 “欧洲美元”、亚洲的银行创造出了 “亚洲美元”。这些美元是由外国银行持有的、以美元(US Dollar)计价的债务。
稳定币
稳定币,比如 “USDT”,与离岸美元非常相似;稳定币是它们的发行者的债务,这些发行者都是外国实体(不是美国境内的实体)。稳定币的主要创新之处在于跟踪这些债务的方式。它不使用复式记账的账本,而表现为一种资产,可以通过一个区块链上的操作来转移。
如果你感兴趣的话,可以看看 Lyn Alden 撰写的 “崩溃的货币”,深入介绍了历史上的各种记账技术。
稳定币并没有改变离岸美元的概念;它只是使用了另一种办法来跟踪和转移这些债务。
比特币美元
另一方面,闪电网络,或者更广义的,真正的 Layer 2 技术(定义为允许单方面退出关系的协议)可以创造出全新形式的美元(a completely new form of US Dollar),无需信任,也不是债务。
我认为,这代表着一种基础性的货币创新;以事后之明,这是显而易见的,但却因为过于关注技术而被忽视了。这种创新甚至比稳定币还要重要。
稳定币的创新只在跟踪债务的方式上,但比特币美元不是债务。
我认为,它会让稳定币过时。(声明:我们的项目 BTCPay Server 很高兴能得到 Tether 公司的资助;这并非个人情绪,我们依然爱你们!)
虽然我在这里讨论的是 “比特币美元”,但在这里,“美元” 并无特殊之处。同样的原理可以运用在任何资产上,这个我会在后文讨论。
本文接下来的部分要探讨的是这项创新的经济机制,不会讨论其技术方法。
文本结构
首先,我们要介绍这种通过闪电通道来实现的 USD 锚定物的具体稳定机制,并将它普遍化为锚定一个投资组合(可能是衍生品)。
然后,我们将讨论在这种稳定机制内加入支付。
然后会有一个简短的章节,介绍我们的方法的风险和局限性。
最终,我们会枚举提供此种锚定服务的主体(也叫 “锚定服务商”)的各种开销。
稳定机制
我们先来看看这种机制的详情:Alice —— 并不必然想要比特币资产 —— 如何与 Bob 互动,从而让自己在通道中的余额与一种(或多种)资产保持锚定。
虽然在这里我们以两个人举例,但在后续章节中,我们会探讨这种稳定机制如何让闪电网络中两个节点间的跨货币支付成为可能。
如果你不想看算术,可以跳过下面这个章节。
闪电通道中的美元锚定
我们设想有一个商家 Alice ,希望收取与美元价值锚定的比特币支付。这个商家连接到一个闪电网络服务商(LSP)Bob,Bob 承诺会提供这样的服务。
假设这两个闪电节点,分别记为 A[BTC] 和 B[BTC],它们有一条通道相连,并会分别跟踪 Alice 和 Bob 的预期通道余额。
| A[BTC] | B[BTC] |
|---|---|
| 0.5 | 0.5 |
“预期余额” 也许跟闪电通道中的 “实际余额” 不同。两者之间的差值称为 “未结算资金”。
如今 BTC 的价格是 10 0000 美元,而 Alice 向 Bob 表示,她希望让自己的比特币保持一定的美元价值。
那么,这条通道就变成了一种 “锚定关系”。Alice 是一个 “锚定消费者”,Bob 是 “锚定服务商”。
从现在开始,我们将跟踪 Alice 的 “虚拟余额”,记为 $A_v[USD]$ 。
| A[BTC] | $A_v \lbrack USD \rbrack$ | B[BTC] |
|---|---|---|
| 0.5 | 5 0000 | 0.5 |
现在,我们想要的是让下面这个等式保持成立:
$$
A_v \lbrack USD \rbrack = A \lbrack BTC \rbrack * R \lbrack USD \rbrack
$$
如果 BTC 的价格成了 11 0000 美元,那么
$$
5 000 = A \lbrack BTC \rbrack * 11 0000 \\
A \lbrack BTC \rbrack = \frac{5 0000}{11 0000} = 0.45454545
$$
然后,这就意味着,未结算资金部变多了,成了 $0.5− 0.45454545 =0.04545455$ ,应当让 Bob 得到更多比特币;预期余额就反映这种变化。
新的状态将是:
| A[BTC] | $A_v \lbrack USD \rbrack$ | B[BTC] |
|---|---|---|
| 0.45454545 | 5 0000 | 0.54545455 |
未结算的余额可以定期结算,或者立即结算,只需 Alice 与 Bob 发送一条闪电支付,让通道内的实际余额与预期余额匹配,就可以了。(这种机制被称为 “Stable Channel”。)
投资组合锚定
现在,假设 Alice 想让自己在闪电通道中的 BTC 锚定下列资产(的价值),并搭配以对应的权重:
| $A_w \lbrack BTC \rbrack$ | $A_w \lbrack USD \rbrack$ | $A_w \lbrack NVDA \rbrack$ |
|---|---|---|
| 60% | 10% | 30% |
而如今,它们与 BTC 的汇率如下(假设 NVDA 的价格为 100 USD):
| R[BTC] | R[USD] | R[NVDA] |
|---|---|---|
| 1 | 10 0000 | 1000 |
请注意,R[NVDA] 衡量的是 NVDA/BTC,所以,$R \lbrack NVDA \rbrack = R \lbrack USD \rbrack * ( \frac{USD}{NVDA} )^{-1}$
因此,Alice 的虚拟余额成了:
$$
A_v \lbrack X \rbrack = R \lbrack X \rbrack * A_w \lbrack X \rbrack * A \lbrack BTC \rbrack
$$
结果是下面的状态:
| A[BTC] | $A_v \lbrack BTC \rbrack$ | $A_v \lbrack USD \rbrack$ | $A_v \lbrack NVDA \rbrack$ | B[BTC] |
|---|---|---|---|---|
| 0.5 | 0.3 | 50000 | 150 | 0.5 |
现在,假设汇率发生了变动:
| R[BTC] | R[USD] | R[NVDA] |
|---|---|---|
| 1 |
那么 Alice 的通道预期余额 A[BTC] 需要更新:
$$
A \lbrack BTC \rbrack = \sum_{X} \frac{A_v \lbrack X \rbrack}{R\lbrack X \rbrack}
$$
新的虚拟余额将是:
| A[BTC] | $A_v \lbrack BTC \rbrack$ | $A_v \lbrack USD \rbrack$ | $A_v \lbrack NVDA \rbrack$ | B[BTC] |
|---|---|---|---|---|
| 0.3 | 50000 | 150 |
未结算的余额增加为 $0.64545455 - 0.5 = 0.14545455$ ,应由 Alice 获得。
投资组合再平衡
投资组合内的价值比重不可能一直保持最初状态不变,因为价格会不停浮动。
Alice 也许希望通过重新调配资产数量来保持各资产的价值在投资组合中的比重(也可能不会)。
调平一个投资组合是一种并不需要闪电支付的操作,只需要更新 Alice 和 Bob 之间的锚定关系。
比如,在我们的上一个案例中,一旦价格改变,价值的比重就会变成:
$$
A_w \lbrack X \rbrack = \frac{\frac{A_v \lbrack X \rbrack}{R \lbrack X \rbrack}}{\sum \frac{A_v}{R}}
$$
| $A_w \lbrack BTC \rbrack$ | $A_w \lbrack USD \rbrack$ | $A_w \lbrack NVDA \rbrack$ |
|---|---|---|
为了调平并维持最初的价值比重,我们只需执行像上一节一样的操作,只不过是使用新的余额 A[BTC] = 0.64545455 和新的汇率:
$$
A_v \lbrack X \rbrack = R \lbrack X \rbrack * A_w \lbrack X \rbrack * A \lbrack BTC \rbrack
$$
| $A_v \lbrack BTC \rbrack$ | $A_v \lbrack USD \rbrack$ | $A_v \lbrack NVDA \rbrack$ |
|---|---|---|
衍生品
虽然我们的案例只把 USD 和 NVDA 作为资产,但显然我们也可以创建意义衍生品。
比如说,我们可以设想一种 BTC2X 资产,其汇率是:
$$
RATE \lbrack BTC2X \rbrack = RATE \lbrack USD \rbrack * 2
$$
在这种情况下,锚定消费者 可以让自己暴露在两倍的 BTC 波动性之下。
此外,还可以创建债券这样的资产,随时间逐渐给消费者支付利息。
支付机制
收取支付
现在,设想 Alice 连接到 Bob(LSP),后者又连接到 Carol 。
Carol 想通过闪电网络给 Alice 付钱买一份墨西哥卷饼。回顾一下,Alice 要求的投资组合是这样的:
| $A_w\lbrack BTC \rbrack$ | $A_w\lbrack USD \rbrack$ | $A_w\lbrack NVDA \rbrack$ |
|---|---|---|
| 60% | 10% | 30% |
假设她现在的通道状态是这样的:
| A[BTC] | $A_v\lbrack BTC \rbrack$ | $A_v\lbrack USD \rbrack$ | $A_v\lbrack NVDA \rbrack$ | B[BTC] |
|---|---|---|---|---|
| 0.75 | 0.3 | 30,000 | 150 | 0.25 |
而汇率是这样的情形:
| R[BTC] | R[USD] | R[NVDA] |
|---|---|---|
| 1 | 100,000 | 1,000 |
Alice 创建一个发票,要求支付 10 USD(一张价值 10/100,000 BTC 的)闪电发票给 Carol。
当 Carol 支付闪电发票时,当支付通过 Bob ,就需要更更新状态。
$$
\text{Value}{btc}=Value/R \lbrack \text{Currency} \rbrack \A_v \lbrack X \rbrack+= \text{Value}{btc}*R \lbrack X \rbrack * A_w \lbrack X \rbrack
$$
新状态:
| A[BTC] | $A_v \lbrack BTC \rbrack$ | $A_v \lbrack USD \rbrack$ | $A_v \lbrack NVDA \rbrack$ | B[BTC] |
|---|---|---|---|---|
发送支付
发送支付涉及跟收取支付同样的操作。
Alice 先决定用来给 Carol 支付比特币价值的资产比重,然后 $A_v$ 余额会根据所选定的投资组合比重相应降低。
跨货币支付
请注意,有了这种结构,Carol 和 Alice 就有可能使用自己本地的货币形式来给对方支付。
这种转换是自动处理的,与 LSP 和对应用户之间的通道状态更新同步发生。
没有什么因素会阻止 LSP 与用户形成一对一的锚定关系,而从用户(Alice 和 Carol)的角度看,一切都被抽象掉了。
风险和局限性
锚定关系关闭
如果无法维持锚定,对等节点们就必须决定是否要关闭自己的 锚定关系 。
在关闭 锚定关系 的时候,一个对等节点会遭遇的最大损失,只是其闪电通道的预期余额与实际余额的差别(也就是 未结算资金)。
在锚定关系关闭后,资产数量就不再与消费者的投资组合的价值锚定,唯一损失是未结算资金。
不过,也可以重新建立锚定惯性,并不会很管,并且来自上一个锚定关系的 未结算资金 也可以转移到新的 锚定关系 中。
稳定通道方法
为了简化,我们用所谓的 “稳定通道” 来解释这里的锚定机制;稳定通道需要双方定期结算,也就是参与一段锚定关系的两个对等节点来回发送 BTC 。
这种方法的风险在于,因为价格总是不断繁忙下,总会存在 未结算资金。
如果 Alice 并不总是在线,这就很成问题,因为无法结算差额。
我们预期 Bob 会是一个关系众多且众所周知的实体。因此,可能的一种解决方案让 Bob 要求一笔来自 Alice 的可退还存款来抵御风险。另一种解决方案是让 Bob 中止锚定关系,并在建立新的锚定关系时要求Alice 支付以前的差额。
当未结算资金太多时,Alice 和 Bob 都有可能单方面结束锚定关系。
打破一段锚定关系并不必然以关闭通道收场,重新建立锚定关系也是一种可以考虑的操作。
稳定通道方法也难以处理资产的价格随时间剧烈波动的情形。举个例子,一项资产代表对一场足球比赛的赌注,那么这项资产的价格会因为进球而剧烈标动,在锚定关系未打破之前,就会导致显著、突然而且过度的未结算资金变化。
因此,稳定通道不适合打赌,也不适合开设过高的杠杆。
免费弃权
恶意的参与者,可能会把 未结算资金 当成一种免费弃权,在对自己有利时故意打破锚定关系。
以下是缓解这种风险的一些想法:
- 为建立一段锚定关系收取一笔手续费。
- 为建立锚定关系实现一种门禁机制。
- 通过建立黑名单,不再与恶意人重建锚定关系,从而要求该参与者负担建立新通道的费用。
- 在一个 LSP 服务一个当地社区的背景下,用户不是完全匿名的,可以拒绝服务恶意的用户。
闪电通道内的谨慎日志合约方法(DLCs)
在闪电通道中实现谨慎日志合约,也许能消除来回发送 BTC 以结算差额的需要。
这可能会允许 Alice 保持离线,而不必担心锚定关系被打破。
然而,当前,我们并不确定,这种办法是否允许 Alice 轻松改变自己的投资组合。
另一方面,与稳定通道不同,DLC 不会受资产价格剧烈波动的影响。恶意的参与者不可能利用一种资产的价格的突然变动。
需要更多研究,才能得出结论。
价格断言机问题
为了维持锚定,一个可靠的资产价格信息源是必要的,这就带来了关于断言机(oracle)风险的顾虑。与稳定通道方法相比,DLC 方法更容易受这个问题的影响。
在建立稳定通道时,双方无需对价格信息源达成一致。因此,双方可以独立从多个信息源收集信息、过滤掉波动然后聚合这些信息。
关键在于,这些价格信息源必须相对接近。如果它们出现了剧烈偏离,那么唯一的结果就是锚定关系瓦解。
缺少资金
如果通道的容量太少,不足以覆盖消费者的资产,那么锚定也就无法保证了,锚定关系也将瓦解。
避免这种情形的一种办法是,Alice 定期向一个交易所发送比特币,从而调平通道,允许锚定关系继续运行。
成本模型
垫付成本
这种成本指的是,在下列情形中,Alice 可能因为其闪电通道中的比特币不够而无法支付。
垫付成本是 Bob 垫付的成本,需要在未来收回。
这种成本可以反映为 Alice 的负的预期余额(A[BTC])。
资本开销
我们预期在创建闪电通道时,Alice 不会拥有任何余额,所以 Bob 需要给 Alice 提供闪电流动性。
因为钱用在了这里就没法用在别的(可能更有利可图的)地方,Bob 可以正当预期这种机会的损失会得到补偿。
虽然理论上有可能做到让 Alice 与 Bob 每秒结算一次这笔钱的时间价值,但用户体验不好:Alice 会认为她的资产以极微小的速度不断流逝。
相反,我们提议使用月度复利方案,通过更新通道状态的方式,利息每个月结算一次。
这个过程就是这样的:
首先,Bob 选择一个目标 APY(年化收益率),假设是 2%。
将这个 APY 转化为月度复利方案的 APR(年利率):
$$
APY=(1+\frac{APR}{p})^p - 1 \\
APR=((APY+1)^{1/p} - 1)p \\
APR=((2% + 1)^{1/12} - 1) 12=1.98%
$$
计算 Bob 这边在这段时间内的平均 BTC 余额,然后收取 APR 。
比如说:
| 1 to 10 | 11 to 15 | 16 - 20 | 21 - 30 |
|---|---|---|---|
| 0.7 | 0.3 | 0.4 | 0.45 |
首先,计算平均余额:
$$
\text{ AverageBalance }=\frac{10 * 0.7 + 5 * 0.3 + 5 * 0.4 + 10 * 0.45}{30}=0.5
$$
然后,按这个月的天数计算利息:
$$
\text{ Interest } = \text{ AverageBalance } * \text{ Rate } * \frac{30}{365}=0.5 * 2% * \frac{30}{365}=0.00082192
$$
在这个例子中,Alice 会在月末的时候欠 Bob 0.00082192 BTC 。
请注意,每次转账,Bob 这一端的余额都会变化,所以,粒度细化到秒也许比细化到天更好。
此外,请记住,BTC 的资金成本与 USD 不会相同。虽然 USD 可以投资于国债券,而国债券代表着资金的成本,但 BTC 会因为没有货币通胀而上涨。因此,其资金成本可能更低。
(译者注:此处实际上还有一个细节:在出借资金、获得利息这种情形中,你失去了资金的控制权;而在提供闪电网络流动性这种情形中,你并没有出借资金,你的资金依然在你控制中,只是投放到了闪电通道中;因此,后者所能收取的利息率天然比出借资金更低。)
对冲开销
Alice 想要的是将余额与 USD 价值锚定, Bob 最终得到是的 BTC 的带杠杆仓位。
- 如果
Bob也是Olivia的一个锚定消费者,那么他可以在投资组合中分配更多权重给 USD,实际上是将风险转嫁给 Olivia 。 - 如果
Bob无法转嫁风险,那么他应该能够向 Alice 收取费用,来补偿自己。
在第二种情形中,Bob 可以借入 USD 并向 Alice 收取利息率。或者,Bob 可以借入美元、投资国债,然后仅向 Alice 收取国债收益与贷款利息率的差额。
这个领域非常复杂,我们也不是专家,所以这些建议听听就好。
服务开销
运营一项服务的开销。可以在建立通道时一次性收取,也可以定期收取,就像资金成本一样。
虽然这种成本可以隐藏在通道开销或者资金成本中,但为了清晰,单独列出来可能更好。
通道建立开销
建立通道对 Bob 来说构成一项开销。这项开销可以另外结算,也可以作为垫付开销的一部分。
结论
我写这篇短文的目的是说服各位,这种新的、无需托管的资产管理方式,具有不可限量的潜能。
感谢闪电通道提供的高频结算能力,这种新的方式成为可能。
它有希望让每个人都能成为事实上的经理人、提供任何衍生品服务、无需担心资金的托管,同时,严格限制消费者的资金损失可能性。
虽然间歇性连接可能会给 Alice 带来麻烦(打破锚定关系),我并不认为这是一种严重的问题,因为重建锚定关系也是一种便宜的操作。
(完)