主页 > 下载imtoken钱包20app > HashKey Capital:一篇了解比特币闪电网络机制、进展和挑战的文章

HashKey Capital:一篇了解比特币闪电网络机制、进展和挑战的文章

下载imtoken钱包20app 2023-04-22 07:26:24

相反,在 C1b 的第一个输出 RD1b 中,Bob 将他的另一个私钥 Bob2 交给了 Alice,这意味着 Bob 放弃了 C1b 并认可了 C2b。同样,Alice 可以构造一个针对 Bob 的惩罚交易。

从上面不难看出,seq变量为执行惩罚和对策提供了一个时间窗口。

关闭支付通道,按照双方最终批准的资金分配方案构建并广播交易。

HTLC

RSMC已经可以满足基本的清算要求,但也有明显的局限性:通过RSMC方案进行结算的双方必须建立直接支付渠道进行支付。基于这个痛点,闪电网络需要另一个协议,HTLC。

HTLC支持“Conditional Payment”(条件支付),一种将多个端到端支付通道串联起来形成的支付路径,支持首尾两方通过支付路径完成支付。

HTLC的核心是时间锁和哈希锁。时间锁只有在双方同意在一定时间T内提交时才有效,承诺方案到期(无论是proposer还是acceptor)都将失效。哈希锁可以理解为为一个哈希值H提供一个原像R,使得Hash(R) = H,promise有效;否则无效。如果支付交易因各种原因失败,时间锁可以让参与交易的各方收回资金,避免欺诈行为。

假设 Alice 想和 Bob 开启一笔交易,交易金额为 0.5 BTC,但 Alice 需要通过 Carol 与 Bob 建立通道进行交易(图 4):

图 4:HTLC 和支付路径

第一步:Bob 设置原像 R(也称为提示数),并告诉 Alice 哈希值 H=Hash(R)。

步骤 2:Alice 通过 HTLC 有条件地向 Carol 付款:当且仅当 Carol 在时间 T 之前提供相应的哈希值 H Alice 为 Only pays 0.的原像支付 0.5 BTC 给 Carol @>5 BTC 给鲍勃。其中,t

第三步:Bob在时间t之前将R提供给Carol,得到0.5 BTC,此时Carol知道了R,相反比特币的运行机制,0.5 BTC会返还给Carol,Carol不会有任何损失。

步骤 4:Carol 在时间 T 之前将 R 提供给 Alice,并获得 0.5 BTC。反之,0.5 BTC 将返还给 Alice,Alice 不会有任何损失。

可以看出两点:第一,在HTLC下,支付要么完成,要么未完成,但不会给参与者造成损失,所以是“原子”(Atomic),这是序贯博弈均衡;其次,原像R(信息)和资金流向相反,原像R可以看作是Receipt。

总的来说,RSMC 保证两个人之间的直接交易可以在链下完成,HTLC 保证任何两个人之间的转账可以通过端到端的支付进行。闪电网络融合了这两种机制,并且任何两个人之间的交易都可以在链下完成。在整个交易中,智能合约扮演着重要的中介角色,区块链网络保证了最终交易结果的确认。

路由

Lightning Network 使用源路由和洋葱路由。使用源路由,源节点负责计算从源到目的地的整个支付路径。因此,源节点需要下载完整的公共支付通道表才能计算出一条支付路径,并根据该支付路径所涉及的所有通道的负载计算手续费和所需数量。在点对点的交易中,这个过程会涉及到大量的数据,而且随着网络的扩展,数据量也会增加。洋葱路由可以防止交易链的中间节点知道整个交易的发起者或接收者,从而保证了用户的隐私。

由于HTLC的时间限制,交易如果完成不够快就会失败,因此提高交易传播速度对闪电网络的效率非常重要。要提高交易传播的速度,最重要的问题是如何规划最短的支付路径。

Lightning Network 使用 PBMC(基于概率的任务控制)机制来解决这个问题。最初,每个节点都有一个默认的成功率,根据实际传输完成率进行调整。网络路由的交易越多,任务控制组件就越了解网络的特征,并且可以更好地规划支付路径。

收费机制

对于链上 BTC 交易,用户选择每笔交易的交易费用,矿工选择交易费用较高的交易产生区块以最大化收益。但闪电网络目前以不同的方式运作:节点运营商设定费用,用户选择支付路径和渠道以最小化费用。因此,闪电网络可以提供更便宜的费用结构。运营商提供专业化服务,更适合运营商(而不是普通用户)在费率上进行竞争,操作起来也更方便。

在闪电网络中,节点运营商必须确定两种类型的路由费用:基本费用和费率。基本费用是每次交易路由支付时收取的固定费用,以聪的千分之一表示。例如,基础费用为 1000,这意味着每笔交易的基础费用为 1 聪。虽然费率是指按支付价值的百分比收取费用,但实际费率公式是费率除以 1,000,000。例如,比率 1000 表示 1,000/1,000,000,即 0.1%。一旦转账成功,路由通道将收取0.转账金额1%的费用。

另外,为了给路由支付提供流动性,闪电网络节点运营商需要在支付通道中锁定一定数量的比特币,无论是入站还是出站。入站流量是指一个节点的支付通道可以从其他路由节点接收到的最大资金量。出站流量是指一个节点的支付通道可以用来支付其他路由节点的最大资金量。节点可以控制流出流量,但不能控制流入流量,因为流入流量取决于其他路由节点在通道中存入的资金量。例如,如果节点 A 想通过路由节点 B 从节点 C 接收 1 BTC,那么节点 A 需要至少有 1 BTC 的入站流量。即路由节点 B 需要在 A 和 B 之间的通道中放置至少 1 个 BTC 才能使交易成功。

无法控制的入站流量会导致闪电网络交易效率低下。如果两个节点之间的交易中存在多个路由节点,即使两个节点的入站当前余额充足,也无法确认其他路由节点的入站当前余额是否充足。只要有一个路由节点入站余额不足,交易就会失败。

节点运营商需要不时调整基础费用和费率,并监控调整的影响。由于支付需求渠道不时变化,而目前的费率普遍偏低(一个大节点的日均收入为 10 万聪,约合 7 美元),导致大部分节点入不敷出。因此,当前闪电网络中的流动性提供者不受投资回报的驱动。但是,为了实现大规模应用,闪电网络的费用设计需要重新考虑激励机制,通过考虑投资回报和流动性结构来吸引节点运营商。

2019闪电网络技术进展

2019年,闪电网络取得了长足进步,大大提高了易用性、用户资产安全性和支付规模。以下是 4 项最重要的技术进步:

瞭望塔瞭望塔

闪电网络白皮书首先描述了瞭望塔机制,该机制在 2019 年得到了改进和应用。瞭望塔解决了使用闪电网络的人需要保持在线以确保其交易对手不会试图窃取资金的问题。瞭望塔可以检测不诚实方是否试图窃取资金,然后广播一条正确交易的消息,将资金发送回诚实方(即使诚实节点离线)。换句话说,如果一个表现不好的节点试图传播一个旧的交易,瞭望塔会惩罚这个节点。

闪电网络用户可以连接专业运营的第三方瞭望塔来保护自己的利益,任何路由节点也可以运行自己的瞭望塔来保护自己的利益。瞭望台还具有恐吓和阻止欺诈的作用。对于潜在的攻击者来说,欺诈成本大幅增加,因为不清楚对方是否正在连接瞭望塔。瞭望塔的运行机制如图5所示,瞭望塔实际上是由专业机构代表普通用户执行,以惩罚图3的机制。

图5:瞭望塔运行机制

继续图 1-图 3 的描述,考虑两个交易对手 Alice 和 Bob ,每个在通道中放入 0.5 BTC(即 C1a/RD1a 和 C1b/RD1b,可以称为交易 1 或“旧交易”),Alice 支付给 Bob 0.1 BTC(即 C2a/RD2a 和 C2b/RD2b,我们称之为交易 2 或“新交易”)。此时,通道余额应为 Alice 的 0.4 BTC 和 Bob 的 0.6 BTC。假设 Alice 想要作弊并将交易 1 的通道状态与两个签名广播到链上。如果在 seq=1000 区块确认时间内,Bob 没有上线反对,则欺诈成功,Bob 将损失 0.1 BTC。

假设 Bob 委托了一个瞭望塔来防范交易对手欺诈。 Bob 建立一个撤销交易(即图 3 中的 BR1a),授权瞭望塔在必要时撤销交易对手广播的过期交易。 Bob 对交易进行预签名并设置提示比特币的运行机制,并将提示和预签名的交易发送到瞭望塔。这个提示号可以让瞭望塔识别过期交易,但不允许瞭望塔知道交易详情或通道余额。

从那时起,每当在区块链上广播新交易时,瞭望塔都会将提示与哈希表进行比较。一旦一笔交易的隐含数量与 Bob 设置的隐含数量相匹配,瞭望塔就知道该交易是一个需要撤销的交易。此时,瞭望塔解密 Bob 提供的可撤销交易,证明 Alice 发出的是过期交易,重组并广播 Bob 预签名的交易,并将 Alice 频道中的余额没收给 Bob。也就是说,瞭望塔只有在欺诈发生时才能解密反转交易并知道内容,因此不会严重影响用户隐私。

潜艇交换

Submarine Swaps 由 Alex Bosworth 创建,作为一种无缝连接链上和链下比特币流通的技术。水下交易所的运作机制与HTLC类似,但同时涉及链上和链下交易(图6).

图6:水下交易所的运行机制

假设 Alice 想在闪电网络上向用户 Bob 支付链上比特币,但 Alice 没有闪电网络通道。

第 1 步:Bob 将设置一组提示 Count R(即原像)并将其哈希值 H 告知 Alice。

第二步:Alice 将比特币连同 Bob 的闪电网络地址通过链上 HTLC Provider 发送给偷换服务商,要求偷换服务商在一定时间内透露提示号,以获得链上比特币。类似地,偷换服务提供商通过链下 HTLC 通过闪电网络支付通道将等量的比特币转移给 Bob's。闪电网络地址,Bob需要在一定时间内透露提示号,才能获得这个链下比特币。

第三步:Bob透露提示号获得链下比特币,隐藏交易所服务商复用提示可见,海底交易所最大的作用就是提高链与链之间的互操作性,并且由于HTLC的特性,可以降低信用成本。最低限度。海底交易所可用于延长支付渠道的使用寿命。闪电网络交易需要交易双方有足够的通道余额。当通道流动性耗尽时,用户倾向于关闭原有通道,等到下一次打开新通道。 ,但这限制了闪电网络渠道的拓展和商业规模。使用可潜水互换时,用户可以通过可潜水互换服务商获得链下比特币,无需经过链上交易,从而保持渠道平衡。

原子多路径支付

目前,闪电网络交易的单一支付路径只能是单向的。假设 Alice 想向用户 Bob 支付 0.01 BTC,那么他不仅必须在单个通道上拥有 0.01 BTC,而且该路径上的所有中介也必须拥有 0.01 BTC准备在通道中进行交易。也就是说,支付金额越大,就越难找到合适的支付路径。

多路径支付的想法在2018年已经被很好地讨论过,从以下想法开始:将大额支付拆分为较小的支付,这些较小的钱然后通过不同的节点运营商从付款人转移到受益人该方案的挑战在于闪电网络存在支付失败的可能性,将一笔交易拆分为多笔交易可能会导致部分交易成功和部分交易失败。也就是说,支付金额越大,越容易出现部分支付问题,这将限制用户使用闪电网络进行大额支付的支付意愿。

解决方案是原子多路径支付,简单来说就是多路径支付+反部分支付机制。 “原子”的意思是,只有所有小额支付都成功,交易对手才会收到全额付款;如果部分小额支付失败,则整个交易将失败,资金将退还给付款人。

图 7:原子多路径支付流程

原子多路径支付有以下好处:一是提高隐私性。不管有多少渠道被分成支付,只有交易的双方知道这个过程。二是提升支付体验。用户可以一次大额转账,无需考虑通道金额上限。

中微子协议中微子

Neutrino 协议由一系列“过滤层”组成。每个过滤层都连接到一个比特币块,并以压缩的方式表示其连接的块。与原始块大小相比,过滤层压缩了大约 250 倍。 neutrino 协议的目的是减轻客户端硬件设施的负担,只捕获交易双方相关的数据,避免硬件设施时刻与比特币主链同步。 neutrino协议的操作流程如下:

图8:neutrino协议的运行流程

每产生一个新的区块,全节点都会计算出区块层对应的中微子过滤器,并发送给闪电网络上的所有中微子客户端。因此,大约每 10 分钟,客户端会收到一个中微子过滤层,并且客户端会比较所有钱包以查看是否有任何交易与钱包用户相关。一旦发现该块包含与钱包用户相关的交易,客户端将下载“剥离块”。 “剥离块”只包含交易数据,不包含签名和“见证”数据,可以将客户端的硬件负担减轻一半以上。使用新数据,客户端可以更新钱包余额。

一般来说,闪电网络钱包运营商希望提供具有高用户体验和低使用门槛的产品,但提高易用性往往会降低安全性,例如个人数据被盗或用户资产丢失。此外,大量的数据承载使得闪电网络难以在移动端实现。 neutrino 协议允许用户在移动设备上进行操作,无需运行全节点,对用户扩展有很大帮助。

闪电网络落地概况及待解决问题

闪电网络落地概览

Bitcoin Visuals 提供的闪电网络节点数、通道数和比特币承载能力等。关键指标显示闪电网络自 2019 年 4 月达到增长峰值以来一直停滞不前。

目前有 5104 个闪电网络节点。 2019 年上半年节点数持续增长,2019 年 1 月至 2019 年 4 月节点数增长 77%。然而,从 2019 年 5 月开始至 2020 年 2 月 10 日,闪电网络节点数仅增长了15%,增长率急剧下降。

闪电网络频道的数量从 2019 年 4 月初开始下降,截至 2020 年 2 月 10 日下降了 20%,目前为 32,030 个频道。

BTC承载能力从2019年1月的525.80增加到2019年4月上旬的1,059.50,增长101.5%;但从 2019 年 4 月开始到 2020 年 2 月 10 日,BTC 的承载能力已经下降到 865.58。

图 9:闪电网络节点(左)、通道(右)和 BTC 容量(左)变化

自 2019 年 4 月以来闪电网络节点数、通道数和 BTC 承载能力下降的主要原因有 3 个:

从图 9 可以看出,闪电网络节点的数量增长最快(2019 年 11 月)。 2019 年 1 月至 3 月),恰好是比特币价格在底部徘徊的区间。在此期间,很多投资者的比特币被困在二级市场无法变现,闪电网络通道成为投资者可以考虑的比特币存管。

但自 2019 年 3 月以来,比特币大涨,闪电网络还没有足够的应用场景和商家。许多闪电网络用户选择在二级市场兑现比特币进行套利,而不是继续存入。在闪电网络上。从图10也可以看出,自2019年4月以来,比特币的交易量明显增加,这意味着比特币在二级市场的流通量有所增加,相对而言,比特币在闪电网络通道中的存储比例有所增加。减少了。

图 9:比特币价格(左)和节点数量(右)

图 9:比特币交易量(左)和节点数(右)

闪电网络节点盈利能力无法覆盖成本和风险

运营闪电网络节点的成本=搭建节点成本+运营成本+锁定资金流动性成本,风险为闪电网络或节点被黑客攻击的可能性。目前,闪电网络已经锁定了价值超过 800 万美元的比特币,损失了大量流动性并面临被黑客攻击的风险,但节点运营商的月利润只有 1-20 美元之间。显然,闪电网络节点目前缺乏可持续的商业模式。

由于闪电网络切换通道费用的设计,用户多开通一个通道将额外收取切换通道费用,且各节点服务高度同质化,主要区别在于数量连接的其他节点。因此,用户倾向于寻找与其他节点有更多连接的节点,这不仅使交易更容易成功,而且降低了要支付的通道费用。从经济角度来看,中心化的超级节点是用户的理想选择。在用户数量没有大幅增加的情况下,关闭小节点或无用节点,扩大大节点的连接数,是节点运营商节省成本的一种方式。

闪电网络要解决的问题

为了使交易成功,闪电网络节点需要一直在线,这与传统支付系统相比是不方便的。闪电网络用户没有资金冷存储选项,用户无法安全存储资金。观测塔虽然可以解决线下诈骗的行为,但也使得整个生态趋于中心化。如果某个重要节点下线,很容易导致全网流动性大幅下降,甚至导致用户资金冻结数日。

Lightning Network 实现了高度隐私的洋葱路由。在洋葱路由下,每个节点只知道前后两个节点的地址,无法还原整条链,也无法确定收款人的身份。实际操作中的问题是无法知道哪个节点在线,哪个节点可以连接到目标用户。虽然找到最短路径不是什么难题,已经有很多成熟可靠的算法,但在交易过程中,闪电网络需要计算整条路径的成本。一旦中间节点发送交易失败,发起交易的用户除了重新发送交易外,还必须从起始节点重新计算费率,造成时间浪费,降低用户体验。

为了提高交易成功率,每个节点都需要维护一个所有节点和通道的列表。随着网络规模的增大,表变得越来越大,需要同步更新的消息也越来越多,占用了大量的带宽。即使这样,发送前也不能保证成功,发送过程中可能会关闭通道。可能的解决方案是构建可靠的路由网络,以大型商业节点作为路由节点,构建低成本、高效的路由网络。