Skip to content

Latest commit

 

History

History
330 lines (256 loc) · 13.2 KB

00-introduction.md

File metadata and controls

330 lines (256 loc) · 13.2 KB

BOLT#0:简介和索引

欢迎朋友!这些闪电技术基础(BOLT)文件 描述了用于通过互相进行的脱链比特币转移的第2层协议 合作,依靠链上交易执行,如果 必要。

有些要求很微妙;我们试图强调动机 并在你看到的结果背后推理。我相信我们已经堕落了 短;如果您发现任何令人困惑或错误的部分,请与我们联系 帮助我们改进。

这是版本0。

  1. BOLT #1:基本协议
  2. BOLT #2:通道管理的对等协议
  3. BOLT #3:比特币交易和脚本格式
  4. BOLT #4:洋葱路由协议
  5. BOLT #5:关于链式交易处理的建议
  6. BOLT #7:P2P节点和频道发现
  7. BOLT #8:加密和认证传输
  8. BOLT #9:已分配的功能标志
  9. BOLT #10:DNS引导程序和辅助节点位置
  10. BOLT #11:闪电付款的发票协议

Spark:闪电简介

Lightning是一种用比特币快速支付比特币的协议 渠道网络。

通道

闪电通过建立频道来工作:两个参与者创建一个 包含一定数量比特币的闪电支付渠道(例如, 0.1比特币)他们已经锁定在比特币网络上。它是 只能与他们的签名一起度过。

最初他们各自持有一个发送所有的比特币交易 比特币(例如0.1比特币)回到一方。他们以后可以签署一个新的比特币 以不同方式分割这些资金的交易,例如0.09比特币到一个 派对,0.01比特币到另一个,并使之前的比特币无效 交易所以不会花。

有关详细信息,请参阅[BOLT#2:通道建立](02-peer-protocol.md#channel-establishment) 频道建立和[BOLT#3:资金交易输出](03-transactions.md#funding-transaction-output),用于创建频道的比特币交易的格式。参见[BOLT#5:关于链式交易处理的建议](05-onchain.md),了解参与者不同意或失败时的要求,并且必须花费交叉签名的比特币交易。

有条件付款

Lightning频道仅允许在两个参与者之间进行支付,但是频道可以连接在一起以形成允许在网络的所有成员之间进行支付的网络。这需要有条件付款的技术,可以添加到渠道, 例如“如果你在6小时内透露秘密,你会得到0.01比特币”。 一旦收件人提出秘密,该比特币交易就是 取而代之的是缺少有条件支付并增加资金的人 收件人的输出。

参见[BOLT#2:添加HTLC](02-peer-protocol.md#adding-an-htlc-update_add_htlc),供参与者用于添加有条件付款的命令,以及[BOLT#3:承诺交易](03 -transactions.md#commitment-transaction) 比特币交易的完整格式。

转发

这种有条件的付款可以安全地转发给另一个 参与者的时间限制较短,例如“如果你透露这个秘密,你会获得0.01比特币 在5小时内“。这允许将频道链接到网络中 不信任中间人。

有关转发付款的详细信息,请参阅[BOLT#2:转发HTLC](02-peer-protocol.md#forwarding-htlcs),[BOLT#4:数据包结构](04-onion-routing.md#packet-structure)付款指示如何运输。

网络拓扑结构

要进行付款,参与者需要知道它可以使用哪些渠道 发送通过。参与者互相告知频道和节点 创作和更新。

参见[BOLT#7:P2P节点和频道发现](07-routing-gossip.md) 有关通信协议的详细信息,以及[BOLT#10:DNS 初始化的Bootstrap和辅助节点位置](10-dns-bootstrap.md) 网络引导程序。

付款发票

参与者会收到发票,告诉她要付款。

请参阅[BOLT#11:Lightning Payments的发票协议](11-payment-encoding.md),了解描述付款目的地和目的的协议,以便付款人以后可以证明付款成功。

术语表和术语指南

  • 公告

    • 在* peer 之间发送的八卦消息,旨在帮助发现 channel * *。
  • chain_hash

    • 目标区块链的唯一标识哈希(通常是genesis哈希)。 这允许* nodes 创建和引用 channels * on 几个区块链。节点将忽略引用a的任何消息 他们不知道的chain_hash。与bitcoin-cli不同,哈希是 没有逆转但直接使用。

      对于主链比特币区块链,chain_hash值必须是 (以十六进制编码): 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000

  • 渠道

    • 两个同伴之间相互交换的快速,脱链方法。 为了交易资金,同行交换签名以创建更新的承诺交易
    • 查看关闭方法:相互关闭,撤销交易关闭,单边关闭
    • 参见相关:route
  • 结算交易

    • 作为_mutual close_的一部分生成的事务。结账交易类似于_commitment transaction_,但没有待处理的付款。
    • 参见相关:承诺交易,资金交易,罚款交易
  • 承诺号

    • 每个承诺交易的48位递增计数器;计数器 对于* channel 中的每个 peer *是独立的,并从0开始。
    • 查看容器:承诺交易
    • 查看相关:关闭交易,资金交易,罚款交易
  • 承诺撤销私钥

    • 每个承诺交易都有一个独特的承诺撤销私钥 允许其他* peer *花费所有输出的值 马上:透露这个关键是多大的承诺 交易被撤销。支持撤销,每个输出 承诺交易是指承诺撤销公钥。
    • 查看容器:承诺交易
    • 见发起人:每承诺秘密
  • 承诺交易

    • 花费资金交易的交易。 每个* peer 保存该事务的另一个peer的签名,以便每个 总是有一个可以花费的承诺交易。一个新的 承诺交易是协商的,旧的是被撤销*。
    • 查看部分:承诺编号,承诺撤销私钥,HTLC,承诺秘密,outpoint
    • 查看相关:关闭交易,资金交易,罚款交易
    • 查看类型:已撤销承诺交易
  • 最终节点

    • 从_origin node_通过某些_hops_路由付款的数据包的最终收件人。它也是链中的最终接收对等体
    • 查看类别:node
    • 参见相关:原点节点,处理节点
  • 资金交易

    • 不可逆转的链式交易,支付通道上的同行。 它只能在双方同意的情况下使用。
    • 参见相关:成交,承诺交易,罚款交易
    • A 节点。通常,位于原点节点最终节点之间的中间节点。
    • 查看类别:node
    • HTLC *:哈希时间锁定合同。
    • 两个同行之间的有条件付款:收件人可以花费 通过出示其签名和*付款preimage *付款, 否则付款人可以通过支出来取消合同 给定的时间。这些是作为来自的输出实现的 承诺交易
    • 查看容器:承诺交易
    • See parts:付款哈希,付款preimage
  • 发票:可能是闪电网络上的资金申请   包括付款方式,付款金额,到期日等   信息。这就是Lightning的付款方式   网络,而不是使用比特币式地址。

  • 可以奇怪

    • 应用于某些数字字段的规则,指示可选或 强制支持功能。偶数表示两个端点 必须支持有问题的功能,而奇数表示 该功能可以被其他端点忽略。
    • MSAT *:
    • millisatoshi,通常用作字段名称。
  • 相互关闭

    • 合作关闭频道,通过广播无条件完成 花费资金交易与每个同行的输出 (除非一个输出太小,因此不包括在内)。
    • 参见相关:撤销交易收盘,单边收盘
  • 节点

    • 作为Lightning网络一部分的计算机或其他设备。
    • 参见相关:同行
    • 查看类型:最终节点,跳数,源节点,处理节点,接收节点,发送节点
  • 原点节点

    • node_发起一个数据包,该数据包将通过一定数量的_hops_路由到_final node。它也是链中的第一个_sending peer_。
    • 查看类别:node
    • 参见相关:最终节点,处理节点
  • 出点

    • 一个事务哈希和输出索引,用于唯一标识未使用的事务输出。需要撰写新的交易作为输入。
    • 参见相关:资金交易,承诺交易
  • 支付哈希

      • HTLC *包含支付哈希值,它是哈希值 *付款preimage *。
    • 查看容器:HTLC
    • 参见创始人:付款preimage
  • *付款preimage *:

    • 证明已收到付款,持有 最后的收件人,谁是唯一知道这一点的人 秘密。最终收件人释放preimage以便 释放资金。付款preimage被散列为付款散列 在* HTLC *。
    • 查看容器:HTLC
    • 参见派生:支付哈希
  • 同行

    • 两个节点彼此通信。
      • 在建立频道之前,两个对等方可能互相闲聊。
      • 两个对等方可以建立通道,通过它们进行交易。
    • 参见相关:node
  • 罚款交易

    • 花费被撤销承诺的所有输出的交易 transaction ,使用 promise撤销私钥。 A * peer 使用它 如果另一个同伴试图通过广播被撤销来“欺骗” 承诺交易*。
    • 参见相关:交易交易,承诺交易,资金交易
  • 每承诺秘密

    • 每个承诺交易都从每个承诺秘密中获取密钥, 生成这样一系列的每个承诺的秘密 对于所有先前的承诺,可以紧凑地存储。
    • 查看容器:承诺交易
    • 参见派生:承诺撤销私钥
  • 处理节点

    • 正在处理以原点节点发起并且正向最终节点发送以便路由付款的数据包的节点。它充当_receiving peer_接收消息,然后_sending peer_发送数据包。
    • 查看类别:node
    • 参见相关:最终节点,原点node
  • 接收节点

    • 正在接收消息的节点
    • 查看类别:node
    • 参见相关:发送节点
  • 接收同行

    • 正在接收来自直接连接的* peer 的消息的节点*。
    • 参见类别:peer
    • 参见相关:发送peer
  • 撤销承诺交易

    • 由于新的承诺交易已经协商而被撤销的旧承诺交易
    • 查看类别:承诺交易
  • 撤销交易关闭

    • 频道无效关闭,通过广播已撤销完成 承诺交易。由于其他同行知道 承诺撤销密钥,它可以创建罚款交易
    • 见相关:相互关闭,单方面关闭
  • 路线:闪电网络中支持付款的路径   从一个原点节点到一个或多个最终节点   酒花

    • 参见相关:频道
  • 发送节点

    • 正在发送消息的节点
    • 查看类别:node
    • 参见相关:接收节点
  • 发送同行

    • 正在向直接连接的* peer 发送消息的节点*。
    • 参见类别:peer
    • 参见相关:接收peer
  • 单边关闭

    • 通道的不合作关闭,通过广播来完成 承诺交易。此交易较大(即较少 高效)比关闭交易,以及对等 一些承诺是广播不能访问自己的输出 先前协商的持续时间。
    • 参见相关:相互关闭,撤销交易关闭

主题曲

      为什么这个网络可以民主......       钱币...       加密!       为什么它可以被释放闪电!       (释放闪电!)

      我们会和散打的痘痘签订一些时间锁定合同,哦是的。       (继续说话,继续说话)       我们会将证人与无信任的开始分开,哦是的。       (我会得到钱,我必须得到钱)       有了动态的洋葱路线,他们的靴子就会变成“shakin”;       你知道这只是事实,我们将在屋顶上扩展。       释放闪电!       (去,去,去,去;去,去,去,去,去,去)

      [合唱:]       哦发布Lightning,它比借记卡好。       (释放闪电,去释放闪电!)       随着Lightning的发布,小额支付并不难......       (释放闪电,去释放闪电!)       然后kaboom:我们将击中月球 - 释放闪电!       (去,去,去,去;去,去,去,去,去,去)

      我们会有QR码和智能手机应用程序哦,是的。       (Ooo ooo ooo ooo ooo ooo ooo)       P2P消息传递和被动收入,是啊。       (Ooo ooo ooo ooo ooo ooo ooo)       外包闭合手表,让我感受到我的胯部感受。       当repo获得一个标签时,你会发现它不是吹嘘:       发布闪电。

      [合唱]       [乐器,~1m10s]       [合唱]       (闪电!闪电!闪电!闪电!        闪电!闪电!闪电!闪电!)

      来吧,伙计们,让我们开始工作吧!

    - Anthony Towns aj@erisian.com.au

作者

[FIXME:插入作者列表]

![知识共享许可](https://i.creativecommons.org/l/by/4.0/88x31.png“许可证CC-BY”)  
本作品采用[知识共享署名4.0国际许可](http://creativecommons.org/licenses/by/4.0/)许可。