理解闪电网络:结算并关闭支付通道- 比特126网
  • 独家
  • 商业
  • 快讯
  • 行情
  • 专栏
  • 活动
  • APP

    官方微信

    官方客服

    理解闪电网络:结算并关闭支付通道

    BTCWan2021-07-30 09:12:401921

    闪电网络

    目前,Alice 和 Bob 已经开通了一个双向支付通道,并分别往通道中存入了 5btc。他们已经来回完成了两笔交易。在当前通道状态下,Alice 和 Bob 可以通过终止通道各自取回 5btc。

    现在,他们想要在通道中放入一个哈希时间锁合约(HTLC),以确保 Bob 在用 1btc 交换 Carol 手中的秘密值后,Bob 可以从 Alice 那里取回 1btc。

    就像之前的步骤一样(详见 Part 1),Alice 和 Bob 先要各自创建一笔新的承诺事务。这两个承诺事务跟之前创建的承诺事务很像,包含一个普通的输出、一个带有 CSV 时间锁(相对时间锁)的多签地址输出和一个特殊的哈希锁。接着,像之前的步骤一样,Alice 和 Bob 交换之前的秘密值来让之前的通道状态失效。一旦交换过秘密值后,Alice 和 Bob 就可以签署各自的承诺事务,并在任何时候将这承诺事务发送到区块链上。

    这些步骤与之前的步骤基本相同,除了一点。Alice 和 Bob 新创建的承诺事务包含一个新的输出,而这个输出价值 1btc。(因此,支付通道中的 btc 余额变成了 Alice:4;Bob:5;新的输出:1。)

    这个新的输出本质上是哈希时间锁合约,而且相比其它输出更有趣,因为有三种方式可以解锁它。

    第一种方法是,只有当后序事务包含 Bob 的签名和秘密值时,(包含在 Alice 和 Bob 的承诺事务内的)新的输出才会释放 btc。无论 Alice 或 Bob 是否签署并广播承诺事务,只有 Bob 可以解锁该输出——只要他将秘密值包含在后序事务内。但是,两个承诺事务存在一处细微差别:如果 Bob 终止通道,会受到 CSV 时间锁的约束。这时,Bob 必须等待 1000 个区块才能取回自己的 btc。(如果 Alice 终止通道,Bob 就可以立即取回自己的 btc。)

    为什么 Bob 需要等待 1000 个区块呢?原因跟我们之前解释的差不多:如果 Bob 试图签署并广播过期的通道状态,Alice 就可以拿走 1 btc。这就是解锁输出的第二种方法。如果 Alice 提供 Bob 的(最新)秘密值,就可以「偷走」通道内的资金。

    Alice 和 Bob 可以玩这样一个游戏:如果 Alice 试图广播过期的通道状态,Bob 可以使用 Alice 的秘密值取走那 1 btc(甚至无需提供秘密值)。

    第三种方法是,与其它哈希时间锁合约一样,这两个承诺事务也包含常见的 CLTV 时间锁(绝对时间锁)超时退回机制,即,如果 Bob 没有在限期(比如两周)内将秘密值包含在后序事务内,Alice 就可以取回自己的 1btc。在这种情况下,终止通道的人是 Alice 还是 Bob 都没关系。

    那么,具体是如何操作的?

    Alice 和 Bob 各自持有部分有效的承诺事务。如果 Alice 将自己持有的(也是 Bob 发给她的)承诺事务发送到区块链上,就会立即发送 5btc 给 Bob。Alice 则需要等待 1000 区块之后才能取回自己的 4btc。另外,Bob 有两周时间提供秘密值,解锁「哈希时间锁合约输出」对应的 1 btc。(如果他没有在两周内提供秘密值,Alice 就可以取回这 1btc。)

    与此同时,Bob 随时都可以将他的承诺事务上链,并立即将 4btc 发送给 Alice。接着,他必须等待 1000 区块过后才能从一个地址那里取走 5 btc,如果他在限期内提供秘密值,还能解锁「哈希时间锁合约输出」对应的 1 btc。(如果他没有在两周内提供秘密值,Alice 就可以取回这 1btc。)

    当然了,如果 Alice 或 Bob 在将来任何时候试图作恶,签署并广播过期的通道状态,另一方都可以阻止作恶方,并偷走通道内的所有 btc。

    结算状态

    这时,Bob 一定会收到 1btc 来交换他手中的秘密值(假如他有的话)。他要做的只是签署并广播他从 Alice 那里得到的承诺事务,将秘密值包含在一个后序事务内,然后签署并广播该后序事务。

    Alice 知道这一点。她没有办法骗走 Bob 的 btc,即使她通过其它手段得到了秘密值。

    因此,Alice 和 Bob 还不如在支付通道外进行「结算」。Bob 可以将秘密值给 Alice,Alice 可以同意更新通道状态,这样就不需要哈希时间锁合约和截止日期了。

    假设 Alice 和 Bob 都想让通道保持开启,这也很正常:比起在链上终止通道省事多了。

    关闭通道

    最后才是闪电网络真正强大的地方:

    本系列文章中所述内容几乎都不需要实际上用到比特币区块链。

    如果 Alice 和 Bob 想要和平关闭通道,可以创建一个事务来完全覆盖掉开启通道事务之后的所有事务。他们可以根据最新通道状态中所示的 btc 余额归属情况,通过关闭通道事务将自己应得的 btc 余额发送给自己。

    具体来说,这意味着如果 Alice 想要关闭通道,她可以创建一个事务向自己支付 4btc,同时向 Bob 支付 6btc,然后让 Bob 签署并广播该事务。Bob 没有理由不答应这个请求,他大概率会配合 Alice 关闭该通道。

    最后,只会有两笔事务被广播到比特币网络并打包进区块:开启通道事务和关闭通道事务。哪怕 Alice 和 Bob 之间发生了 100 万笔交易也是这个结果,因此极大地减轻了区块链的负担。

    格外感谢 Rusty Russell 和 JosephPoon 的信息和额外的反馈。

    发表评论

    发布评论

    评论

    • 暂无评论

    本文来源:以太坊爱好者

    声明:所有在本站发表的文章,本站都具有最终编辑权。本站全部作品均系比特126网原创或来自网络转载,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责,所产生的纠纷与本站无关。如涉及作品内容、版权和其它问题,请尽快与本站联系。
    首页>金融>理解闪电网络:结算并关闭支付通道

    最新快讯

    以太坊开发者trent在推特解释“为什么gas价格(baseFee)高”以及“为什么priorityFees(“tips”)高于2nanoEth(gwei)”。.一、为什么gas价格(baseFee)高:1. 大量NFT空投导致拥堵;2. 许多服务(例如交易所)在网络升级的窗口中禁用功能。一旦每个平台对链的稳定性感到满意,就会释放这种被压抑的需求;3. 一些矿工将gas limit设置在3000万以下,提供了约1350万gas的目标。升级前的gas limit为1500万,相比之下,导致可用的块空间较少,进而导致吞吐量降低;4. 积极方面, ETH市场波动导致gas价格上涨;5. 用户正在尝试新的1559功能:发送类型2的交易,发送他们的第一个销毁交易。二、为什么priorityFees(“tips”)高于2nanoEth(gwei):1. 钱包接口仍在推出。大多数人甚至没有发送新的交易类型,导致无法调整priorityFees;2. Gas API将需要时间来调整算法以建议priorityFees,现在许多人仍在观察机制并进行调整。此前消息,GasNow数据显示,以太坊在完成伦敦升级后,Gas费上涨,当前平均Gas费超过70Gwei,极速确认Gas达88Gwei,并未因EIP-1559通过降低。据ultrasound.money网站统计,在以太坊伦敦升级后的100个区块内,网络共销毁了37.56个 ETH。自以太坊伦敦升级引入EIP-1559后,以太坊网络会根据交易需求和区块大小动态调整每笔交易的Base Fee,而这部分的费用将直接燃烧销毁。 2021-08-06 09:05:27

    热门链接

    比特币比特币价格比特币行情比特币中国比特币交易比特币挖矿比特币是什么比特币官网比特币交易平台比特币交易所官网火币官网欧易OKEx官网欧易OKEx

    官方客服

    • 比特126网官方微信

    • 比特126网官方客服

    苏ICP备14005197号-1Copyright 比特126网 版权所有