您的位置:网站首页 > 区块链技术 > 正 文 比特币

如何更新一个支付通道的余额

【作者:网文】 来源:转载 日期:2022-1-20 9:17:11 人气: 标签:BTC 区块链 【打印】

 

作者:Vlad Stan

来源:https://motorina0.medium.com/updating-the-balance-of-a-payment-channel-944a713a8408

在本文中,我们会深入地探究,闪电网络通道是如何做到既能更新余额、又无需任何一方承担资金丢失风险的。

闪电网络是一个对抗性的网络,参与者们并不信任自己的对手。实际上,他们的 假设 是对方如有可能就会欺诈他们。参与者只有在知晓其操作的安全性时才会签名。而且,需要保证任何时候参与者都有拿着资金退出合约(离开通道)的选择。

在这篇文章中,我们假设支付通道已经开好了,当前的 Alice 有 0.10 BTC 的通道余额,Bob 只有 0.00 BTC 的余额。

承诺事务

在支付通道打开之后,Alice 希望给 Bob 支付 0.02 BTC。双方之间的支付是使用一种特殊类型的交易来达成的,它叫做 “承诺事务(commitment transactions)”。

这种事务的特殊之处在于:

  • 它是可以可以撤销的,如果双方都同意的画
  • 总是花费充值交易的那个 2-2 多签名输出

承诺事务的初衷是放在支付通道里使用,而不是放到主链上,不过,它们是完全有效的比特币交易,任何一方,只要想的话,都可以将它广播到主链上。

- 一个支付通道内部的多笔承诺事务 -

为了给 Bob 支付,Alice 必须创建两笔交易,两笔都会给 Bob 支付 0.02 BTC,但这两笔交易的输出有不同的花费条件。下文我们会管这两笔交易叫 “先给自己支付” 交易和 “先给对方支付” 交易。记住,两笔交易都由 Alice 来创建,无需使用来自 Bob 的输入。在 Bob 发送 accept_channel 消息时,Alice 就已经获得了所有的信息。

“先给自己支付”

在 “先给自己支付” 交易中,Alice 可以理解花用自己的输出,而 Bob 必须遵守 RSM 合约。RSM 合约(Revocable Sequence Maturity Contract,可撤销的相对时间锁合约)对输出的花费作了以下限制:

  • 资金的受益者只能在一段时间的 “成熟期” 之后花费这些资金(不能立即花费)
  • 合约可以(被受益者)撤销
  • 如果受益者已经撤销了这个合约,但仍尝试花费这些资金,则有可能遭遇惩罚(丧失所有资金)

更多关于 RSM 合约的细节可见此处

这笔交易对 Alice 更有利,你可以在这里看到这种交易的一个例子。

- Alice 创建的 “先给自己支付” 的交易 -

“先给对方支付”

在 “先给对方支付” 交易中,Bob 可以立即花费属于他的输出,但 Alice 受到 RSM Contract 的约束。这种交易对 Bob 更有好处。你可以在这里看到这种交易的一个例子。

  1. Receive(payAliceFirstSignature) —— Bob 收到了 payAliceFirstSignature 消息。注意,Alice 只发送了签名,没有发送完整的交易,因为 Bob 可以自己重构出完全相同的交易。

返回顶部】【关闭窗口 风险提示:本站分享转载的信息均来自互联网,且仅供阅读参考,不作为具体投资的依据,据此入市,风险自担。本站所有内容涉及到的“货币”字眼需谨慎研判,我们维护各国法币的合法地位,同时数字资产具有货币的某些属性,目前是不能替代任何国家的法定货币的,请谨慎理解投资并严格遵守各国法律法规!详见本站[免责声明]。】
【读完这篇文章后,可否发表您的感受?】
0
0
0
0
0
0
0
0
本文网址:
安全联盟站长平台 互联网举办平台 公共信息安全网监 中国网安 赛门铁克安全响应中心