主页 > imtoken钱包转usdt > 比特币闪电网络简介

比特币闪电网络简介

imtoken钱包转usdt 2023-10-23 05:10:51

摘要:闪电网络和通证可以在闪电网络的任何节点之间安全地传递价值而无需信任中间节点。相关比特币改进建议应该是比特币

本文是作者有关区块链的系列文章之一,可通过如下链接下载原文:
https://github.com/junahan/JU...

概括

比特币闪电网络是一个去中心化的即时、高吞吐量的小额支付系统,不需要委托可信任的第三方来托管资金,没有相应的风险。 实现方式是创新性地利用比特币内置的脚本构建支持链下安全确认交易的通道网络,以比特币区块链为法庭,确保链下交易确认的安全性。

闪电网络的思想不仅限于比特币,也适用于类似的数字货币(如以太坊),其方法甚至可以扩展为一种跨链技术,在不同的账本之间进行价值转移。

本文只是概念性介绍,不涉及闪电网络的具体实现细节。 关于闪电网络的具体实现,可以参考闪电网络论文原文(by Joseph Poon, Thaddeus Dryja, 2016)。

比特币区块链可扩展性问题

交易确认慢——每10分钟一个区块,交易至少需要6个区块才能安全确认,导致交易确认缓慢

可扩展性问题:

交易吞吐量有限:所有交易在链上广播,单个区块容量有限,每秒仅支持10笔以下交易

区块大小的快速增长限制了节点的参与并导致中心化风险:随着比特币交易需求的快速增长,数百GB甚至数十TB的区块大小限制了普通节点(如个人PC和移动终端)从加入网络。 它还导致参与节点中心化的风险。

比特币社区中有很多关于比特币可扩展性的讨论和提议。 感兴趣的朋友可以参考比特币可扩展性评论(Bryan Bishop,2015)。

闪电网络方案

比特币闪电交易打不开_比特币闪电网络支付_找回比特币支付密码

解决问题的基本思路是,在不引入可信的第三方中介的情况下,如果有合适的方法可以在链下安全地确认交易,就没有必要在链上广播所有交易。

闪电网络是一个由小额支付通道互联形成的庞大网络,可以实现链下交易确认、链上执行不合作节点惩罚和有效的交易净结算(Net-settlement),并且可以去信任(Trustless) ) 方式来实现网络中任意节点之间的价值传递。

闪电网络设计目标:

即时支付:闪电网络交易无需区块确认,交易可立即在链下确认。

小额支付手续费低:闪电网络使用真实的比特币交易,但最大限度地减少了交易结算(链上交易广播)的需要,可以以极低的手续费实现小至0.00000001比特币的交易。

大容量可扩展性:闪电网络交易在链下确认,允许用户进行近乎无限的小额支付交易,可以满足物联网设备等大量自动交易。

小额支付渠道和 RSMC

闪电网络支持交易双方共同贡献创建一个双向微支付通道,然后双方可以通过通道链确认彼此之间的一系列交易,而无需将交易广播到链上进行确认。 只有当需要最终结算且其中一方不再合作的情况下,才需要在链上广播交易。 打个比方,闪电网络以比特币区块链为法庭,算法为法官,RSMC(Revocable Sequence Maturity Contract)机制提供证据,共同保证链下确认支付的安全:

可撤销序列到期合约机制提供链下交易确认的证据——有效交易和无效交易的证据

净额结算 - 可以通过在链上广播有效交易(即最后一笔交易)来实现净额结算

违规处罚——如果一方违规,比如链上有一笔对自己有利的旧交易,另一方可以在链上以相应的违规补偿交易(Breach Remedy Transaction)作为证据,实施违规处罚。 结果是,所有渠道资金都可以归还提供违规证据的一方所有,惩罚是通过算法执行的。

小额支付通道创建和链下交易确认

该示意图显示了微支付通道和 RSMC 的工作原理。

找回比特币支付密码_比特币闪电网络支付_比特币闪电交易打不开

Alice 和 Bob 各出资 0.5 BTC 建立支付通道。 该通道的建立意味着双方签署的资金交易在链上广播(图中链上侧)和双方第一笔链下交易(图中链上侧)Alice 0.5 / Bob 0.5 在链下)已经确认。

然后双方可以通过通道链确认彼此之间的一系列交易,以重新分配资金交易金额,而无需将交易广播到链上进行确认。 新的交易会有效地使之前的历史交易失效,因为交易机制会导致提交历史交易的一方损失资金。 因此,只有最新的交易才有效。

对于一笔新的交易,双方都会有自己的交易版本,比如最近的一笔交易,Alice有Cna和RDna交易,Bob有自己对应的版本Cnb和RDnb(如上图)。 在交易Cnb中,交易输出0表示Alice可以花费输出0.8 BTC,交易输出1是2-of-2签名输出RSMC,Bob持有子交易RDnb按照约定的方式花费RSMC 合同输出。 交易RDnb是交易Cnb的子交易,它的输入来自于Cnb 1 RSMC的输出,并且有一个值为1000的时间锁,这意味着只有在父交易Cnb完成后交易才需要等待1000个比特币链上确认 区块链只能在后面确认。 这是对手对违规行为进行处罚的窗口期。

随着新交易的创建,旧交易实际上是通过生成相应的称为违规补偿的交易来使旧交易失效,例如旧交易C3a的子交易BR3a和C3b的子交易BR3b。 以Bob持有的交易C3b为列,交易BR3b没有时间锁,让Alice立即花费交易C3b 1. RSMC 0.7 BTC输出,实际上取消了交易RD3b,因为RD3b有时间锁比特币闪电网络支付,需要在parent transaction 链确认后,等待1000个比特币区块链才能确认。

净额结算和处罚

在小额支付通道的建立和延续过程中,双方可以在链下确认多笔交易,直至通道关闭。 导致爆仓并关闭通道的三种情况。

双方合作在链上进行清算——双方可能不再有业务往来和交易的需要,希望赎回各自的资金。 双方可以再创建一个没有 RSMC 输出的交易,直接按照上一个交易输出的份额分配交易并交换签名。 任何一方在链上广播最后一笔交易,完成最终的净结算。

单方面提交最后一笔交易——比如Alice想赎回资金但由于无法联系到Bob等原因无法配合关闭通道。 Alice 可以单方面上传她拥有的最后一笔交易并关闭通道。 在这种情况下,Bob 可以立即获得他在上次交易中的份额,而 Alice 必须等待 RDna 交易中指定的时间锁到期才能赎回她的份额。

任何一方违规提交旧的历史交易——这种情况实际上不会发生,但如果发生了,另一方可以提交违规补偿交易进行处罚。 例如,Bob提交了一笔对他有利的历史交易C3b。 那么根据Bob拥有的RD3b交易,在C3b被广播并在链上得到确认后,他需要等待1000个比特币区块。 链上确认。 期间,Alice发现Bob违规提交了一笔旧的历史交易。 她可以广播 BR3b 交易,没有时间锁定,可以立即在链上确认并花费 C3b 1. RSMC 0.7 BTC 输出,考虑到 C3b 输出 0 通道的 0.3 BTC 原本属于爱丽丝。 这样,就相当于通道中的所有资金都属于爱丽丝。 当然,广播违规补偿交易是爱丽丝的责任。 如果 Alice 在惩罚窗口期间没有将违规补偿交易上传到链上,Bob 可以在到期时花费 C3b 第 1 输出的 0.7 BTC。 这就是闪电网络的惩罚机制。

闪电网络和 HTLC

通过 HTLC,价值可以在闪电网络的任何节点之间安全地转移,而无需信任中间节点。

这张示意图展示了 Alice 如何使用 HTLC 通过闪电网络将一笔钱转给 Dave。 假设 Alice 和 Dave 之间还没有建立小额支付通道,但是可以通过闪电网络在 Alice 和 Dave 之间建立一个临时的支付路由通道。

首先,双方通过其他渠道(绿线所示),Alice告诉Dave转0.01 BTC给Dave,Dave生成原始R的随机图像,以及R的哈希值H,Dave保留R并通过将 H 哈希给 Alice。

找回比特币支付密码_比特币闪电网络支付_比特币闪电交易打不开

Alice 和 Bob 之间建立了小额支付通道。 Alice 可以生成一个 HTLC 合约,连同 H(红色虚线所示)一起发送给 Bob。 合约的意思是:如果 Bob 可以提供一个 H 值对应原来的 R 值,合约中规定的 0.01 BTC 将归 Bob 所有。 如果合约到期,合约金额将退还给爱丽丝。 同样,Bob 和 Carol 之间,Carol 和 Dave 之间也可以建立类似的 HTLC 合约。 不同之处在于合约到期时间正在减少。 至此,红色虚线所示的Alice和Dave之间的支付路由通道建立。

履行 HTLC 合约的过程也很简单。 由于Dave持有H的原始R,他可以在HTLC合约(Carol与Dave的合约)到期前将R传递给Carol,从而获得HTLC合约的资金。 同理,Carol通过将得到的R传递给Bob,已经收到了Bob的资金,最后,Bob将得到的R传递给Alice,从而获得资金。 至此,整个HTLC交易完成并关闭。

与闪电网络相关的名词

RSMC(Revocable Sequence Maturity Contract / Revocable Sequence Maturity Contract)——一种交易合约,允许以本合约输出的交易(父交易)在交易确认后仅延迟指定时间(由子交易序列决定) . 通过创建一个特殊的子交易来取代其他子交易并立即花费父交易输出。

HTLC (Hashed Time Lock Contract / Hash Security Time Lock Contract) - 一种比特币脚本,允许受托人提供原始密文的指定哈希来花费合约资金,也允许委托人在时间锁定到期后赎回资金.

资金交易 - 用于创建初始支付通道资金池的 2-of-2 多重签名交易。

可撤销承诺交易(Revocable Commitment Transaction) * 资金交易的子交易可以花费资金交易的输出,通过创建新交易和取消旧交易来重新分配交易通道两侧的资金数量.

交付交易——一旦承诺交易在链上广播,该交易可以立即从承诺交易中赎回资金。

Revocable Delivery Transaction - 一种带有时间锁的支付交易,可以延迟承诺交易资金的回收。

Breach Remedy Transaction - 用于对不合作节点施加惩罚的交易。

相关比特币改进提案 (BIP) BIP65:CHECKLOCKTIMEVERIFY

本次BIP为比特币脚本系统引入了一个新的操作码(OPCHECKLOCKTIMEVERIFY),使用比特币交易字段nLockTime来指定交易锁定时间,允许交易输出延迟到指定时间后才可以消费。 闪电网络可以利用这种机制创建小额支付通道,但不便的是到期后需要清算,通道关闭。

BIP68:基于交易序号的相对时间锁

找回比特币支付密码_比特币闪电交易打不开_比特币闪电网络支付

通过在比特币交易记录中引入交易序号(nSequence)实现相对时间锁定(RLT),保证签名交易的输入在其对应的上一笔交易确认后的规定时间内(现为上一笔交易确认)时间点)保持不活动状态。 闪电网络使用 nSequence,但修改了其原始语义以实现 RSMC,其优点是始终保持支付通道畅通。

BIP199:哈希安全的时间锁定合约交易

哈希安全时间锁合约 (HTLC) 是一个脚本,它允许委托人通过提供原始密文的哈希值来花费合约资金,还允许委托人在时间锁到期后赎回资金。 此比特币改进提案实施 HTLC。

闪电网络流动性问题引入的问题

闪电网络要求资金锁定在支付通道,这可能会造成流动性问题。 同时,由于闪电网络大大降低了对链上交易的需求,可能会导致与矿工的竞争。

网络流动性——保持渠道开放和可用

Channel Liquidity——锁定一部分资金,为通道提供可用的资金池

系统性攻击

闪电网络包含数以百万计的支付通道,大量资金被锁定在通道中,尤其是大中介通道很容易成为系统性攻击的目标,隔离措施将不再奏效。 系统性攻击似乎不太可能发生,但一旦发生,后果将是灾难性的。

支付渠道环环相扣,锁定大量资金。 系统性攻击将导致所有渠道参与者损失资金。

支付渠道,尤其是中介渠道,包含大量的历史链下交易(未广播交易)。 通过同时广播历史链下交易,攻击者可以获得更多资金。

系统性攻击可能导致链上交易过多,带来高额交易手续费

来自闪电网络的灵感

比特币闪电网络支付_比特币闪电交易打不开_找回比特币支付密码

闪电网络最大的启发是再次证明,创新使用比特币脚本可以产生颠覆性的创新应用。 当然,闪电网络的思想不仅仅适用于比特币。

使用比特币脚本的创新可能具有颠覆性和创新性。

闪电网络的思想不仅可以用来完善比特币网络,也适用于类似的数字货币。 事实上,以太坊有自己的闪电网络。

HTLC的思想不局限于比特币比特币闪电网络支付,它可以扩展为一种跨链技术,在不同的账本之间交换价值。

参考

中本聪,“比特币:点对点电子现金系统”,2009 年。

Bryan Bishop,“比特币扩容提案回顾”,~bryan/irc/b...,2015 年。

Joseph Poon,Thaddeus Dryja,“比特币闪电网络:可扩展的链下即时支付”,版本 0.5.9.1 2016。

Joseph Poon,“时间与比特币”,2015

《顺丰比特币社交》, , 2015

BIP65 "OPCHECKLOCKTIMEVERIFY", , 2014

BIP68“使用共识强制序列号的相对锁定时间”,2015

BIP199 “哈希时间锁定合约交易”, , 2017

本作品采用知识共享署名 4.0 国际许可协议进行许可。