主页 > imtoken转账需要验证码 > 数学证明:闪电网络不能成为去中心化的比特币扩容解决方案
数学证明:闪电网络不能成为去中心化的比特币扩容解决方案
数学证明:闪电网络不能成为去中心化的比特币扩容解决方案
你听说过比特币闪电网络吗? 这是一个缩放解决方案:
“比特币将扩展到每天使用小额支付渠道网络处理数十亿美元。”
他们没有告诉你的是,这只有在大型集中式“银行”中心才有可能。
比特币社区中的许多人错误地认为或被引导相信闪电网络 (LN) 是一个分布式 P2P 网络。
然而,这种解决方案是不可行的。 事实上,使用一组松散的假设,我们也可以从数学上证明这是不可能的。
我们将这篇文章分为几个部分。 第一部分,闪电网络的简要概述。 第二部分简要说明闪电网络为什么不能实现去中心化扩展。 第三部分是更严谨的数学证明。
第 1 部分:闪电网络概述
比特币扩容之战
比特币最初被设计为点对点现金系统,可以通过增加块大小直接扩展。 但是关于网络如何扩展的讨论变得更加复杂和有争议。
57 位比特币“核心”开发者签署了一份官方扩容路线图,提倡闪电网络是一种“高度去中心化”的“非带宽扩容机制”带宽)。
我们不同意并将证明这是不可能的。 阅读并理解文章后,您可以得出自己的结论。
什么是闪电网络及其运作方式?
闪电网络(LN)是一种提供一系列链下双向支付通道的协议。 如果您想深入了解技术细节,Aaron van Wirdum 提供了一个由三部分组成的精彩系列。
“双向”简单来说就是两个方向,所以爱丽丝和鲍勃可以开通一个私人通道互相发送比特币(在区块链下):
为了开通一个通道,一方或双方必须将比特币存入指定的比特币地址,然后他们可以在通道内随意进行交易,直到任何一方决定关闭通道,即进行结算(支付)在主要的比特币区块链上。 最终余额)。
连接多个通道
更进一步,如果 Alice 和 Bob 有通道去中心化跟比特币有关吗,Bob 和 Carol 也有通道,那么 Alice 可以间接支付给 Carol:Bob 先支付给 Carol,然后 Alice 再支付给 Bob。
预期网络
LN 布道者提出了 Alice 通过 Bob 支付给 Carol 的想法。 我们可以将这个想法扩展,构建一个完整的支付通道网络,让大量的交易可以在链下进行。
然而,实际上这不是一个P2P网络,至少不是一个大型的P2P网络。
“去中心化”VS“分布式”语义
大多数人每天谈论比特币的“去中心化”,在技术上指的是一种“分布式拓扑”技术。
相反,如果没有单一的中心,具有中央集权的网络在技术上可以是“去中心化的”。
但是,我们不要陷入文字游戏的泥潭。 下图应该很清楚:
第二部分:对外行的解释:为什么闪电网络不能扩展?
我会尽可能简短:
首先,你要明白闪电网络不同于其他网络,因为你不能随时链接到另一个用户。
为了发送或接收比特币,您需要与特定用户建立支付通道,或一系列相互连接的通道。 (“路线”)。
创建一个通道只是为了发送一个链下交易是没有意义的,因为它需要一个链上交易来打开通道。 您也可以直接在链上发送交易; 你不需要闪电网络。
这个想法是您可以通过某个链接将交易发送到任何地方。 从用户的角度来看,向其他人发送交易的潜在路径类似于树结构:
它开始像一个基本的数学问题
假设目标是扩展到 100 万用户。
让我们想一想:如果你有一棵有 10 个树枝的树,每个树枝有 10 个叶子。 你可以获得100片树叶。
如果你有 1 棵有 10 个树枝的树,每个树枝有 10 个树枝,每个树枝有 10 个树枝,等等......你可以去第 6 级“深度”并得到:10 x 10 x 10 x 10 x 10 x 10,或者简单地说:10⁶,等于一百万。
由于您要从一个树枝跳到另一个树枝,跳 6 次以获得叶子,我们可以说执行了“6 次跳转”。 所以 10 个分支有 6 跳,在我们的例子中:10 个通道有 6 跳。
那么,挑战是什么?
你的钱不能同时在两个地方
如果我们假设,我们需要 10 个支付通道 6 跳才能到达这个网络,这意味着你需要将你的比特币分成 10 份。
然而,只有一个频道可能在特定时间到达预期的接收者。 这意味着您只能转移部分资金,例如 10%。
我们可以创建两个 20 跳的通道来解决这个问题吗? 我们稍后会回到这个问题。 首先,让我们回顾另一个重要事实:
每个人都在借钱给其他人
想象一下,Alice 想通过 Bob 向 Carol 发送 1 个比特币,就像这样:Alice->Bob->Carol
为了发送交易,当 Bob 连接到 Carol 的频道时,他的余额中必须至少有 1 BTC。 本质上,Alice 借用 Bob 的钱来支付 Carol。 Bob 在 [Bob->Carol] 频道中将他的 1BTC 转移给 Carol。 Alice 在 [Alice->Bob] 通道上向 Bob 发送 1 BTC。 它是这样运作的——Alice 不能“给”Bob 1BTC,然后再给 Carol。
这实际上是一笔贷款,因为网络使用时间锁来消除保管风险:爱丽丝在确定鲍勃已经支付给卡罗尔之前不会偿还鲍勃。
事实上,在到达目的地的路径中的每一跳,每笔交易都必须有足够的资金。 因此,跳数越多,借贷的负担就会成倍增加。
为什么这是一个大问题?
许多“跳跃”意味着交易破坏者(Deal-Breaker)
假设每个人都使用 20 跳路由,并且大多数用户每月花费 1,000 美元。 如果每个人都完成自己的部分来帮助发送交易,则每个用户每月路由所需的交易金额为 2,000 美元。
是否可以?
这取决于许多因素,包括:路由的时间和事务的数量。
即使我们假设(可能松散地)用户可以路由 10 倍的正常交易负载,而通道可用性仅降低 50%,那么他将需要两倍于通常数量的通道。
在现实中,甚至更糟
至少还有 5 个额外的问题会使情况变得更糟。
1. 即使我们从基础数学开始:10⁶=1,000,000 并不适用。 如果我们假设 peer 大多是随机链接的,没有中央权威来规划路径,那么就有一定的成功概率。 百万分之一的机会,重复一百万次,只能产生 63% 的成功率。 选择200万次,成功率提升到84%,这也意味着增加渠道数量。
2. 随着用户花掉他们的收入,可用路径会退化,直到存入更多资金。 换句话说,当一个人在网络上收到薪水和存款时,他们的通道处于最大状态并且有能力完成路径。 但随着钱花完,这种能力也降为 0。平均而言,这种模式将路径的容量减半,需要两倍的通道。
3、你为别人路由资金,改变当前通道的资金分配,会进一步减少可用通道数。
4.任何群体都会有贫富差距。 因此,可以向任何其他随机用户发送资金的用户数量只是网络的一小部分。 随着跳数的增加,这个问题会呈指数级放大。
5. 这里总有一个风险:链接的通道失效(不管是有意还是无意)。 这种风险也会随着跳数的增加呈指数增长。
简短的摘要
要通过一系列分叉通道在大型网络中找到某个人,您要么需要很多通道去中心化跟比特币有关吗,要么需要很多跃点。
两者都有很大的问题。 渠道多意味着用户必须分摊资金,只能接受小额支付。 做很多跳跃意味着每个人的钱都会被用来转移别人的钱。
结论:一个完全无法使用的系统
随着网络扩展到 100 万用户,似乎没有一种切实可行的方法来避免这些问题。 将资金分配到多个渠道,不断借钱出去,都会导致网络无法使用。
唯一能想到的方法是 A) 每个人存入的资金远远超过他们需要转移的资金,或者 B) 该系统依赖于一个大型中央机构。 既不是去中心化扩展解决方案,也不是其中的重要部分。
(还有第三部分,待发布)