主页 > 海外版imtoken > 什么是比特币闪电网络?

什么是比特币闪电网络?

海外版imtoken 2023-01-18 11:05:04

什么是闪电网络

闪电网络是比特币最受讨论的第 2 层扩展解决方案之一,其背后的主要思想是设计一种支付协议,该协议可用作解决比特币面临的可扩展性问题的链下解决方案。 比特币面临的问题究竟是什么? 闪电网络要解决什么问题? 这里举一个简单的例子来简单介绍一下。

就比特币的交易速度而言,每秒只能处理2~7笔交易。 想象一下用比特币支付,就像需要去银行排队转账一样。 白发? 这种支付方式显然是不可接受的。

闪电网络就像移动支付,你可以将部分资金存入移动支付,并与任何支持的商家或个人快速转账。 一天晚上,夜深人静的时候,阿萍和阿彩无聊,决定比试一下,用手机支付给对方转账。 每次转账只要一元钱,看谁转的多。 如果是传统的银行模式,可能两个人排队,一个晚上只能玩几次,还需要交手续费,没办法玩。 通过行动付出,一晚上可以转几千次,最后的结果是阿彩比阿平快,赢了一枚棋子。

结算的时候,移动支付会去银行让他们排队,然后告诉柜台:“平的账户余额-1,阿彩的账户余额+1”。 阅读本文后,您可以大致了解闪电网络解决方案的基本逻辑。

重点来了,“闪电网络”是如何保证资产可以无信任交易,交易可以安全返回比特币主链确认的呢? 下面对闪电网络的几个关键技术的概念进行介绍。

单向支付渠道

在闪电网络之前,单向支付渠道的概念已经存在了一段时间,但采用有限。 Alice 为 Bob 开通了一个单向支付通道。 在这个通道中,Alice 有 10 BTC。 Alice 可以向 Bob 支付链下交易费用,但是这个通道是单向的,这意味着 Bob 不能通过同一个通道向 Alice 支付费用。

如果 Bob 收到 1 个比特币:

问题是 Bob 拥有最终的签名和广播权。 如果 Bob 是流氓,保持通道畅通,Alice 将永远无法结算,10 BTC 将在该支付通道中被绑架。 因此,一般来说,支付渠道都会配备“时间锁”的配套措施。

时间锁检查序列验证 (CSV)

所谓时间锁,就是在创建频道的时候,先约定一个时间。 一旦时间到了,必须强行关闭通道。 具有两个签名的交易将被上传到链上以进行交易确认。 没有签名的余额将退还给原始持有人。

Alice 和 Bob 创建时,他们约定通道必须在 1000 个区块后关闭。 所以 Bob 必须在时间到之前签署并广播交易,才能得到 Alice 给他的 1 个比特币。 如果 Bob 长时间不签播,一旦约定的时间到了,Bob 将得不到一分钱。

双向支付渠道

单向支付通道之所以简单如何拿到别人的比特币,是因为交易是单向的。 只允许两个人中的一个人发送交易,另一个人广播交易。 不会有信任问题,但是应用场景比较有限。

鉴于单向通道应用的匮乏,闪电网络想要打造的是一种无需信任的双向支付通道,让通道双方可以自由进行交易。 那么闪电网络是如何避免交易双方之间的信任问题,实现双向支付通道的呢?

所谓的信任问题包括:

RSMC 可撤销序列到期合同

RSMC其实就是一个资金池。 当支付通道开通后,双方将自己的资产放入这个资金池中,用钥匙封存上锁。 资金不会用于交易,而是以合约的形式记录在案。 两者在资金池中的剩余资产,在通道关闭前不会开通结算。

双向支付渠道如何运作?

自始至终,参与的双方只需要与比特币区块链交互两次。 一次打开支付通道和再次关闭支付通道之间发生的所有其他交易都不会直接触及主链,这意味着交易只有在双方同意并签字的情况下才会被确认。

假设Alice和Bob打算进行频繁的交易,双方约定开通双向支付通道,约定1000个区块后强制结算。 Alice 和 Bob 必须先在链上开通一个多重签名钱包,才能开通双向支付通道。

这时双方会各自生成一组Secret Key(密钥)和Hash(锁),Hash交给对方,Secret Key自己保管。 打通双向支付通道后,Alice 和 Bob 之间的每一次支付都像是签订了一份合约。 在签订新合同之前,旧合同将被丢弃。 需要注意的是,当旧合约失效时,彼此将获得对方旧合约的Secret Key。 ,合约的内容是关于如何重新分配资金池的资产。

闪电网路(2)-双向支付通道如何运作

闪电网路(2) - 支付通道

联名钱包中的钱只能在三种情况下解锁:

锁定时间到了

任何一方通过对方的密钥从他们设置的多重签名钱包中解锁资金

双方签订合同,其中一方播出

请注意,如果一方决定关闭支付通道并广播交易,则广播方必须等到交易签署时设定的预定时间才能收到他的那部分资金。

会有人作恶吗?

例如:闪电网络中的一位参与者广播了对他有利的旧合约以进一步获利,而不是按照正常程序广播最新的合约。

此时,以上两个值得注意的点就派上用场了

如果Alice试图恶意广播旧合约关闭通道,根据上述闪电网络机制,Bob和Alice都拥有对方旧合约的秘钥,Alice必须等到预定的时间才能拿到Alice的份额旧合约BTC,所以只要Alice广播旧合约,Bob就可以在Alice等待的时候用旧合约的秘钥拿走Alice的BTC。 他为自己的恶意行为付出了代价。

读到这里,我们已经讲完了双向支付渠道的工作原理。 接下来要介绍的是如何将双向支付通道编织成支付网络。

支付网络

现在,除了 Alice 和 Bob 之间的支付通道外,Bob 还开通了与 Carol 的支付通道。 如果 Alice 想付给 Carol 1 个比特币,她应该怎么做?

闪电网路(2)-支付网路

Alice可以选择直接与Carol建立支付通道,但是对于Alice和Carol来说,需要在主链上建立多重签名钱包并存币,不仅麻烦还需要额外的费用。 相信大家都想出了解决办法。 Alice只需通过现有的支付渠道发送1个BTC给Bob,Bob再发送1个BTC给Carol,这样就可以完成交易,无需额外费用。 但是,这也带来了几个信任问题。

鲍勃不诚实。 他拿走了 Alice 的 BTC,并在没有给 Carol 的情况下挪用了它。

卡罗尔接过钱,但告诉爱丽丝他没有拿到。

如何解决这部分信任问题,取决于闪电网络的另一项核心技术“HTLCs”。

HTLC 哈希时间锁定合约

要解决上述信任问题,必须做两件事:

Alice 想确定 Carol 自己确实收到了比特币

必须确定 Bob 不会拿走这个比特币

还记得我们之前介绍过的公钥和私钥吗。 HTLC 使用相同的概念来扩展它。 我们把钥匙看成私钥,把锁看成公钥。 假设 Alice 需要支付给 Carol 1 BTC,收款人 Carol 会创建一个 Value(key)和对应的哈希值(lock),然后把锁给 Alice。

这是这种技术的本质。

“只要他能拿到钥匙,就说明他是卡罗尔”

“只有卡罗尔有钥匙,换句话说,只有卡罗尔可以打开锁”

在此前提下,Alice 和 Bob 提出合约。 如果 Bob 在 3 天内(锁定时间 = 3 天)提供哈希值对应的 Value,Alice 将给 Bob 1.0001 BTC。 3 天后,BTC 将返还给爱丽丝。

Carol 也和 Bob 签订了合约如何拿到别人的比特币,只要 Carol 提供哈希值对应的 Value,她就必须给 Carel 1 BTC。

因此,Carol 向 Bob 提供 Value 并从 Bob 那里获得 1 BTC。 Bob 把这个 Value 给 Alice,从 Alice 那里得到 1.0001 BTC,0.0001 BTC 的差价给 Bob 作为手续费。

闪电网路(2) - 时间锁

闪电网络的优势

闪电网络致力于解决比特币可扩展性问题的链下解决方案。 如果成功,可能会显着降低比特币区块链的负载,增加比特币的实际应用。

通过使用双向支付渠道,闪电网络可以实现近乎即时且成本极低的交易。

闪电网络的局限性

与链上交易不同的是,如果收款方不在线,则无法确认交易,也无法进行支付。

网络中的参与者可能需要定期监控支付渠道以保证他们的资金安全。

闪电网络很难支持大额支付。 闪电网络交易有时需要依赖中介机构。 例如,闪电网络中有 Alice、Bob 和 Carol。 Alice 想给 Carol 发送一笔 1 BTC 的交易,这需要经过 Bob。 如果 Bob 的余额小于 1 BTC ,则交易无法成功完成,因此交易金额将受到中介资产余额的限制。

闪电网络的实用性取决于网络的规模。 如果没有足够的用户,闪电网络就无法发挥其价值。 加入的人越多,闪电网络就越健壮和完善,流动性也会相应提高。