数学证明,闪电网络不可能成为分散的比特币扩容解决方案
2018-03-10 14:54 文章来自:IFTNews 收藏(0) 阅读(2420) 评论(0)

IFTNEWS区块链报道:比特币闪电网络是“使用这些微支付渠道的网络,比特币可以达到每天数十亿笔交易。”通过使用大型集中的“银行”中心来实现。

比特币社区的许多人错误地认为或被误导,认为闪电网络(LN)将是一个分布式的p2p网络。

然而,这是不可行的。事实上,即使使用大量的假设,我们也会证明它在数学上是不可能的。

我们将把这份文件分成几部分。第一部分是对LN的简要概述。第2部分将用简单的术语解释为什么它不能提供分散的扩展。第三部分将是更严格的数学证明。

第一部分:闪电网络概述

比特币扩容辩论

比特币最初被设计为peer to peer cash,它可以随着简单的blocksize的增加而扩大规模。然而,关于如何扩展网络的讨论变得更加复杂和有争议。

57个比特币“核心”开发者已经签署了他们支持的官方扩容路线图,该路线图主张闪电网络是一种“非带宽扩展机制”,可以提供“非常高的分权”。

我们不同意,并将证明它不存在。在阅读和理解这里的信息之后,我们建议您得出自己的结论。

什么是闪电网络,它是如何工作的?

闪电网络(LN)是一种允许一系列离线双向支付通道的协议。

“双向”只是指两个方向,所以AliceBob可以打开一个私有通道,并在区块链之外发送比特币:


为了打开通道,一方或双方必须将比特币存入一个特殊的比特币地址。¹之后,他们可以做他们想做的尽可能多的事务内部的通道,直到他们决定关闭它,解决(支付适当的期末余额)主要比特币区块链。

连接多个通道

再往前走一步,如果爱丽丝和鲍勃有个频道,鲍勃也和卡罗尔有个频道,那么爱丽丝可以间接地给卡罗寄钱:鲍勃先付卡罗,然后爱丽丝就会给鲍勃补偿。


设想网络

在传福音的人提倡如果Alice可以通过Bob支付Carol,我们应该能够继续扩展这个想法,建立一个完整的支付渠道网络,从而允许很大比例的交易发生在链外。

然而,这不能作为一个对等网络实现,至少没有一个重要的规模。

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

在日常的关于比特币的讨论中,大多数人都说“分散化”意味着什么是技术上的“分布式拓扑”。

相反,如果没有一个单一的中心,一个集中式集线器的网络在技术上可以被称为“分散”。

但我们不要沉迷于文字游戏。下面的图²应该明确的东西:


第二部分:外行人的解释:为什么闪电网络不能扩容

首先,您必须了解闪电网络不像其他网络,因为您不能简单地连接到另一个用户。

要发送或接收比特币,您需要使用特定用户的支付通道,或连接的支付通道(“路由”)

创建一个用于发送off-chain事务的唯一目的的支付通道是无意义的,因为它需要一个on-chain事务来打开通道(另一个通道关闭)。你也可以直接发送连锁交易;你不需要LN

这个想法是,你应该能够通过一系列的连接将你的付款发送到任何目的地。从用户的角度来看,任何人的潜在路径看起来都像树结构:


它从一个基本的数学问题开始。

我们假设目标是达到一百万用户。

我们来考虑一下:如果你有一个有10个分支的树,每个分支都有10个叶节点,那么你可以达到100个叶子。

10个分支机构,如果你有一个树,每个有10个支行,这些反过来又10支行等…你可以6水平“深”,得到:10 x 10 x 10 x 10 x 10 x 10,或者仅仅是:10⁶,等于一百万。

因为你必须从一个分支跳到另一个分支,才能到达叶子,我们可以说我们有“6个啤酒花”。这是10个分支,有6个啤酒花,或者在我们的例子中:10个通道,6个啤酒花。

所以,我们面临的挑战是什么?

你的钱不能同时出现在两个地方。

如果我们假设我们需要10个支付通道以6个跳线到达整个网络,这意味着你必须把你的比特币分成10个部分。

但是,在任何给定的时间内,这些通道中可能只有一个将到达指定的接收方。这意味着你只能把一部分钱寄出去,比如10%

我们可以通过2个通道来解决这个问题吗,比如说20个啤酒花?我们会回到这个问题。首先,让我们了解另一个重要的事实:

每个人都在借钱给别人。

想象一下,Alice想通过Bob发送一个BTCCarol: Alice->Bob->

为了赚钱,Bob必须在与卡萝尔的频道中至少有一个BTC的“平衡”。从本质上讲,爱丽丝是从鲍勃那里借钱给卡洛的。

Bob将他的BTC传输到[Bob->Carol]通道中的Carol,然后Alice1 BTC传输给[Alice->Bob]通道中的Bob。这就是它的工作原理——爱丽丝不能“给”一个BTC给鲍勃,然后把它传给卡罗尔。

这真的是一笔贷款,因为网络使用timelocks来消除托管风险:Alice不能安全的偿还Bob,直到她确定Bob已经支付了Carol

事实上,到达目的地的每一跳都必须有每个交易的可用资金。因此,使用的啤酒花越多,这种贷款负担就会增加。

这有什么大不了的?

这意味着大量的啤酒花是一种打破常规的方法。

假设每个人都使用20个啤酒花的路线,大多数用户每月花费大约1000美元。如果每个人都能公平地分担费用,每个用户每月需要支付2万美元。

这有可能吗?

它取决于许多因素,包括:路线所需的时间和事务的数量。

即使我们做出(可能是慷慨的)假设,一个用户可以将正常事务负载的20倍路由到他的正常事务负载,并且只在他的通道可用性上减少50%,那么他需要的通道数量是正常情况下的两倍。

实际上,情况更糟。

至少还有5个问题使情况更加恶化。

甚至连基本的数学开始:10⁶= 1000000不太适用。如果我们假设同伴基本上都是随机的,没有中央权威来规划路线,那么就有一定的成功几率。百万分之一的机会,重复一百万次,只会产生63%的成功率。选择200万倍提高到84%,这意味着³增加渠道的数量

当用户使用他们的收入时,可用的路由会降低,直到有更多的资金被存入。换句话说,当一个人在网络中收到工资和存款的时候,他们的渠道是最多的,有完全的路由能力。但是当他们的钱花完的时候,这种力量就会降为零。平均来说,这种模式将路由能力减少了一半,需要增加两倍的通道数量。

为他人提供的路由资金会扰乱资金的分配,这也减少了可用渠道的数量。

在任何人口中都存在着巨大的贫富差距。因此,为任何其他随机用户提供资金的用户数量只是网络的一小部分。随着啤酒花数量的增加,这个问题呈指数级放大。

总是存在路由通道变得无响应的风险(有意或无意)。随着啤酒花数量的增加,这种风险也呈指数增长。

TLDR”总结

要在一个拥有一系列分支通道连接的大网络中访问任何人,您要么需要大量的通道,要么需要大量的hops

两者都是一个巨大的问题。大量的渠道意味着用户不得不分割他们的资金,除了小额的购买,他们什么也做不了。大量的啤酒花意味着每个人的钱将被绑在其他人的钱上。

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

当网络达到一百万用户时,似乎没有现实的方法来避免这些问题。把资金分成许多渠道,不断地借出资金,使得网络无法使用。

唯一可以想象到的是,要么是A)每个人的存款都比他们需要交易的要多得多,要么B)系统依赖于大型集中的中心。

这两种方法都不是分散式的缩放解决方案,甚至都不是其中的一个主要部分。

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

1。假设

建立一个不存在的理论网络,一个庞大的多元化群体,显然是不可能做到的。我们承认做了一些假设,一些陈述,一些隐含的,一些对这个证明的批评的慷慨。

在这种情况下,我们的目标是通过概率计算来证明,每个用户都需要大量的开放支付通道,从而使系统基本上无法操作,规模为1,000,000用户。

2。通道和跳跃需要,没有限制。

将网络建模为1,000,000个节点的复杂图形,我们将研究给定一定数量的开放通道的随机对等点的概率,并允许一定数量的hops, H

从用户的角度来看,通过一系列的分支通道到达远处的节点类似于树结构。树叶的数量成倍增长,可能的交易的目的地。

为了简化计算,我们将忽略树上的一个分支可以链接到树上的另一个分支(比如祖先或表兄)的可能性。

这种可能发生的情况将会减少从纯指数分支中发现的对等点的数量。因为我们正试图证明,如果没有大量的渠道或啤酒花,就能获得相对较低的同行数量,而实际数字会更低,这是一个慷慨的假设(加强证明)

n树叶的数量,定义为C H。例如,10开放渠道和610⁶= 1000000

如果没有选择一个集合N的成员的概率P (N)抽样次数N次,替换为:


(在我们的例子中,通过匹配一个叶子来获得理想的目的地。)

我们可以用极限形式来推广它:


1 / e = 0.3678…然后正确选择至少一次的概率是(1 -(1 / e))= 63.21%

63.21%的比率访问任何给定的对等点,对于一个支付系统来说,是太低而不能被认为是成功的。

使用不同数量的试验可以表示为:


例如:


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


使用1,000,000用户的值和极限形式,我们推导出公式:


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


3.渠道和啤酒花需要,有基本的资金约束。

沿途所有的啤酒花必须有足够的资金来处理他们想要服务的任何付款。这就是资金限制。

用各种各样的财务状况和消费模式来建立一个拥有百万用户的网络是不可能的,因为有太多的未知因素。

然而,我们可以做出一个非常普遍的假设,即许多或大多数用户将会在某种固定的时间间隔内获得某种收入,并将一笔资金存入LN用于支出。

储蓄资金一般会被花掉或最终收回。(我们假设LN不用作储蓄工具)

当用户使用资金时,用于路由的支付通道可用性将会降低,这要么是因为通道关闭,要么是因为资金数量减少。当额外的资金被存入时,路由能力就会恢复。

我们没有一个详细的模型,以及有多少用户得到了多少报酬,什么时候,多少次。然而,由于大量的法律,我们可以将用户的行为集合起来,这说明“大量试验获得的结果的平均值应该接近期望值”。

典型的消费周期包括收入、支出和重复。我们可以将这种行为概括为反向锯齿波:


在视觉上,它表现为:


工资的支付用尖峰来表示,然后将收入逐渐用于下一次支付。

积分函数给出周期的一半值,如预期:


这在视觉上也很明显,因为波浪形成直角三角形,切割出一半面积。

其含义是,大约一半用于路由的通道无效。因此,每个跳跃的通道数量需要增加一倍。

我们的概率公式改变为:


我们的结果表是:


我们正在做一个巨大的假设,即所有用户都是所有其他用户的路由参与者的有用部分。在现实中,财富分配的极不均衡可能会给系统带来额外的、重大的约束。

4.额外的贷款约束

除了分配资金和寻找路由的负担之外,我们假定用户还通过帮助其他的路由支付来参与网络。

这在两方面影响了用户。

首先,它可能导致用户个人资金的分配变得不平衡,减少可用的路由数量。随着时间的推移,理论上来说,这可能意味着资金流向任意给定渠道的任意方向。但是,每个用户在任何给定的时间都会受到很大程度的差异。

第二,在路由使用期间,用户无法获得用于路由他人支付的资金。

我们将慷慨地忽略第一个造成破坏的原因,并且只尝试对第二个原因进行建模。我们将采用简单的方法,假设所有用户的事务和开销都是相同的,并且假定每个用户都平等地参与了路由。

让我们定义以下变量:

U:用户数量。

H:啤酒花的数量。

V:一段时间内的总网络交易量。

v:在一段时间内每个用户的事务量。

r:用户在一段时间内的总路由量。

D:一段时间内测量的持续时间。

t:每个用户在时间段内的平均事务数。

d:平均路线的持续时间。

由于每个跃点都需要在它参与的路由中为任何事务路由整个事务量,所以在一段时间内,整个网络的总路由量= VH

因此,r = VH / U。由于V / U = V,r =高压。

例如,如果v=$1000,则情节如下:


让我们引入美元小时的概念来测量路由容量。

当然,每个用户只能花自己的钱一次。但是为了让别人赚到钱,我们可以把美元作为他们渠道的总美元,乘以他们的可用小时数。举个例子,1000美元一个星期的闲置时间是16.8万美元。

然后我们可以计算一个商Q,它代表了在为其他用户路由后剩下的可用容量的百分比:

Q = 1 -(d(h))/ d

注意,vt不出现在方程中,因为它们被提出来了,但是它们隐含在d/ d中。H-1的原因是单跳不会花费网络任何超出用户自身事务的东西(r=Hv)

例如,如果网络使用4hops,路由需要4个小时,而用户的路由平衡基于168小时(1),那么:

Q=1-(4)(3))/168 = 0.92

我们的概率公式是:


假设D=168,路由时间D= 4小时,我们得出以下概率:


5。基于帕累托分布确定交易限制。

似乎没有必要证明,如果资金需要被分成小桶,对可用性会产生巨大的负面影响。但是,为了完整性起见,我们还包括了这一部分。

我们假设大多数消费者和企业支出遵循帕累托分布,每个用户只做少量的大型交易、几个中等规模的交易,以及大量较小的交易。

帕累托概率密度函数表示为:


对于最简单的1型帕累托曲线,这个简化为:



不改变分布通过应用常量,但我们可以更好的想象现实世界模型和一些值y乘以1000,所以这对大项目成为巨大的金额,并集成在一套典型的x(每一美元价值的事务数),50


交易总额= $980。使用$9810%

我们可以解方程:98 = 1000 / x²获得3.194事务。

接下来,我们将对较小的事务集进行集成,以获得金额小于我们的最低98美元价值的交易的和值:



因为293.48/980 =299,我们可以说,如果使用10个渠道,所有想要的经济活动中只有29.9%是可能的。

最终的想法

我认为批评家会吹毛求疵。我鼓励你们自己做批判性思考。不要忘记我们曾做出的忽视贫富差距的慷慨假设。

记住,比特币必须是分散化的。要警惕“集权是可以的,只要底层是分散的”。这是一种阴险的陷阱,它允许用户离开底层,进入集中的系统。我们决不能允许这种情况发生。

那么,比特币有麻烦了吗?因为第二层解决方案可能行不通?,不是。比特币的设计初衷是为了扩大规模,并增加简单的区块规模。如果我们允许,它可以而且将会这样做。

齿顶高

我发表了一篇简短的后续文章,解决了一些误解和反对意见。

脚注

不是一种新的地址。简单地说,一个多签名的地址用于信道的目的。

最初由Carl S. Sterner发表在《弹性与权力下放》一书中。

在第三部分中讨论了附加的概率考虑。

从技术上讲,这是一个复杂的图形,而不是树结构,尽管树是一个适当的心理结构。我们可以使用更复杂的图论计算(也许是学位求和公式或相关公式)到达一个更精确的节点数量达到给定的D学位和E边缘,但决定是不必要的,因为使用节点的最大数量,这是一个慷慨的假设。

作者:Jonald Fyookball

来源:https://medium.com/@jonaldfyookball/mathematical-proof-that-the-lightning-network-cannot-be-a-decentralized-bitcoin-scaling-solution-1b8147650800