• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    比特币之家手机版
  • 关注官方公众号
    微信扫一扫关注
    比特币之家公众号
  • ad
  • ad

数学证明:闪电网络无法成为去中心化的比特币扩容方案

来自: 闪电HSL 收藏 分享 邀请

你听过比特币闪电网络吗?这是一个扩容方案:

“通过使用小额支付通道网络,实现比特币扩容,每天将可以处理数十亿美元。”

他们并没有告诉你,只有使用大型中心化的“银行”中心才能实现这个方案。

比特币社区的很多人错误地引导认为,闪电网络(LN)是一个分布式的P2P网。

但是,这个方案是不可行的。事实上,使用一组宽松的假设,我们也可以从数学的角度证明这是不可能的。

我们将本文分为几个部分。第一部分,简单概述闪电网络。第二部分,简单说明为什么闪电网络不能实现去中心化的扩容。第三部分,更为严格的数学证明。

第一部分:闪电网络概述

比特币扩容之战

比特币最初被设计成一个点对点的现金系统,可以直接通过增加区块大小进行扩容。但是,关于网络如何实现扩容的讨论已变得更加复杂和更具有争议。

57名Bitcoin“Core”开发者签署了一份官方的扩容路线图,提倡把闪电网络作为“高度去中心化”的“非带宽扩容机制”(译者注这里的“非带宽”原文是non-bandwidth)。

我们不同意并将证明这是无法做到的。阅读和理解这篇文章后,你可以自己得出你的结论。

闪电网络及其工作原理是什么?

闪电网络(LN)是一种可以提供一系列链下双向支付通道的协议。如果你想了解技术细节,Aaron van Wirdum提供非常棒的一个由三部分组成的系列。

“双向”简单来说就是两个方向,所以Alice和Bob可以打开一个私人通道互相发送比特币(在区块链下):

 

预期的网络

LN传道者提出了这个Alice通过Bob支付Carol的设想,我们可以扩展这个设想来构建一整个支付通道网络,从而能够在链下进行大量的交易。

但是,实际上这实现后并不是一个P2P网络,至少不是一个大规模的P2P网络。

“去中心化”VS“分布式”语义

大多数人每天谈论比特币的时候说的“去中心化”,从技术上是指一种“分布式拓扑”技术。

相反,如果没有单一的中心,拥有中心化中心机构的网络可以从技术上来说是“去中心化的”。

但是,让我们别陷入文字游戏。下面的图表应该可以把事情说清楚:

 

第二部分:一个给外行人看的解释:为什么闪电网络无法扩容?

我会尽可能简短地对此进行说明:

首先,你必须了解闪电网络不同于其他网络,因为你无法随时链接到另一个用户。

为了发送或是接收比特币,你需要和具体用户建立一个支付通道,或者需要一系列相互连接的通道。(一个“路由”)。

只是为了发送一笔链下交易,就创建一个通道是毫无意义的,因为它要求链上交易打开通道。你倒不如直接在链上发送一笔交易;你不需要LN。

这个设想你可以通过一些链接将交易发送到任何地方。从用户的角度来看,发送交易给其他人的潜在路径就像一个树结构:

 

它开始像是一个基础的数学问题

我们假设目标是规模扩大到100万用户。

让我们来思考一下:如果你有一棵树,树上有10个树枝,每根树枝有10篇叶子。你可以得到100片叶子。

如果你有1棵长着10根树枝的树,每根树枝有10个小树枝,每个小树枝又10个小树枝等等…你可以进行到第六层“深度”并得到: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发送1个比特币给Carol, 像这样:Alice->Bob->Carol

为了发送交易,Bob在与Carol连接通道的时候,余额里必须至少有1BTC。本质上,Alice是借Bob的钱支付给Carol。

Bob在[Bob->Carol]通道将自己的1BTC转给Carol。而Alice在[Alice->Bob]通道上将1BTC给Bob。这就是它的工作原理——Alice不能“给”1BTC给Bob,然后传给Carol。

这实际上是贷款,因为网络使用时间锁来消除保管风险:Alice在确认Bob已经支付Carol之前不会偿还Bob。

实际上,在达到目的地的路径中每一跳都必须要有足够的资金来进行每一笔交易。所以,跳数越多,借贷的负担成倍地变得更大。

为什么这是一个大问题?

大量的“跳”意味着交易破坏(Deal-Breaker)

让我们假设所有人使用进行20跳的路由,大多数用户每个月消费1000美金。如果所有人都做完成了自己要完成的部分来帮助发送交易,每个用户每个月路由寻径所需的交易金额为2000美金。

这可能吗?

这取决于很多因素,包括:一个路由寻径的时间和交易数量。

即使我们(可能很宽松的)假设,用户可以路由的交易加载量是正常交易加载量的10倍,并其在通道可用性只减少50%,那么他所需的通道数量将是平时的两倍。

在现实中,甚至更糟糕

至少还有5个额外的问题会使情况变得更糟。

1.即使我们从基础数学开始:10⁶=1,000,000并不太适用。如果我们假设peers大多是随机链接,并且没有一个中央机构来规划路径,则有一定的成功概率。百万分之一的机会,重复一百万次,只能产生63%的成功率。选择两百万次,成功率增加到84%,这也意味着要增加通道的数量。

2.当用户花费他们的收入时,可用的路径就会降级,直到存入更多的资金。换句话说,当一个人在网络上收到一笔薪水支付和存款时,他们的通道达到最大值,具备完成路径的能力。但是随着这笔钱被花掉,这个能力也降到了0。平均来看,这种模式将路径的能力砍掉一半,并需要双倍的通道。

3.你帮人路由了钱也改了当前的通道中的资金分配这会进一步减小可用的通道数量。

4.在任何群体都会有贫富差距。因此,能够发送资金给任意其他随机用户的用户数量只是网络的一小部分。这个问题将随着跳的数量增加而呈指数级被放大。

5.这里还一直存在着一个风险:链接的通道变无效(不论是有意地或是无意地)。这个风险也将随着跳的数量增加而呈指数级增加。

简短总结

在大型网络要通过一系列分叉的通道找到某人,你要么需要大量的通道,要么进行大量的跳。

二者都有一个非常大的问题。大量的通道意味着用户必须划分他们的资金,除了接受小额支付什么都做不了。而进行大量跳意味着所有人的钱将都会被占用来路由别人的钱。

结论:一个完全不可用的系统

随着网络规模达到100万个用户,似乎并没有现实可行的方法可以避免这些问题。将资金划分到许多通道上,以及不断将钱借贷出去,二者都将使网络不可用。

唯一能想到的办法是,要么A)每个人都存入远远超过他们所需要转的资金,或者B)系统依靠于一个大型中心化机构。二者都不是一个去中心化的扩容方案,甚至不是其中重要的组成部分。

第三部分:非正式的数学证明

1. 假设

准确搭建一个有一大群人,并且实际上并不真实存在的理论系统网络模型显然是不可能的。我们这里做了一些假设,一些是事实,一些是影射,以及一些批评证据。

在这个情况下,我们旨在通过概率计算,演示每个用户需要拥有大量打开的支付通道,因此,从根本上100万用户规模的系统是无法运行的。

2. 需要通道和跳,没有约束条件

通过将网络搭建成100万个节点的复杂模型,我们将检测在在给定一定数量的开放通道C和允许进行的一定数量的跳H下,找到一个随机Peer的概率。

从用户的角度来看,通过分叉的通道找到远处的peers类似于树结构。树叶的数量呈指数增长并且有可能是交易的目的地。

为了简化计算,我们将忽略树上的分支可能已经连接到树上另一个分支的可能性(例如一个祖先或表亲)。

这种可能性是将分支节点数量降低,因为我们试图证明一个相对低数量的Peer可以才能完成在大量通道和跳来相互到达各个节点,而且真实节点数量可能要比计算值还得更少,因为我们使用了非常宽松的假设(以强化证明)。

假设n是叶子的数量,定义C^H。例如,10个已经打开的通道加上6跳就是 10⁶ = 1,000,000。

The probability P for failing to choosing a member of a set |N| with cardinality n by sampling n times, with replacement is:(译者注:这句句话我也不知道怎么译,反正就是一个概率P的计算式。)

 

通过取不同的指数e,我们可以计算出相应的概率:

 

使用这个公式,我们可以计算出一些至少达到80%概率的初始值;但是,这并没有考虑尚未讨论到的其他因素:

 

3. 使用固定数量的货币,需要的最少通道和跳数量要求

路线上的所有跳都必须拥有足够的资金来处理任何一笔他们希望服务的付款。这就是货币限制。

搭建一个拥有大量金融组合和消费模式的100万用户的网络是不可能的,因为有太多未知因素。

但是,我们使用一个非常宽泛的常识性假设,很多或大多数用户将以某种定期间隔收到某种收入,并存到LN用来消费。

存入资金通常用来消费或者最终用来提现。(我们将假设LN不是用作为一种储蓄工具)

当用户花费资金的时候,可用于路由寻径的支付通道将会降级,要么是因为一个通道关闭,或者是因为提供的资金减少。当额外的资金存入,路由的能力将会恢复。

我们没有哪些和多少用户何时以及多久得到多少资金的详细模型。但是我们可以根据大数定律总结一组用户的行为,该定律指出“从大量实验获得的平均结果将趋向于预期值。”

典型的消费周期有收入、支出组成,然后重复。我们可以用reverse锯齿波总结这这个行为:

 


支付达到峰值,然后收入逐渐等于消费,直到下一次支付。

对函数进行积分得到这个周期一半的值,正如预期的那样:

 

我们的结果变成:

 

这也是我们做的一个非常宽松的假设,即所有的用户都帮助其他用户进行路由寻径。现实中,财富分配不均很可能会给系统带来额外的重大限制。

4. 借贷的额外限制

除了划分资金和寻找路径,我们假设用户还通过帮助其他用户发送支付交易参与网络。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

发表评论

全部评论

  • ad
  • ad
  • ad
粉丝1 阅读 回复0
上一篇:
比特币等虚拟货币,如果不懂就不要碰发布时间:2017-07-04
下一篇:
央行参事盛松成:比特币是资产 但不是货币发布时间:2017-07-07
热门推荐
专题导读
热门话题
阅读排行榜
比特币之家官方②群
我们更懂你。 立即登录 立即注册
iplogger.org - IP Logging Service

扫描微信二维码

随时了解更新最新资讯

kent@btc798.com

电邮:kent@btc798.com

Powered by 比特币之家! X3.1© 2001-2013 Comsenz Inc.( 豫ICP备13024532号-1