科普

有关闪电网络的常见疑问

曾汨   |     |   595 次阅读

Default featured image huge

1

1. 问:什么是闪电网络?

答:闪电网络是一个去中心化网络,旨在在无需可信第三方的情况下实现比特币所有权的实时链下转移。该系统目前还在开发中。(译者注:原文撰写于 2016 年)

闪电网络使用由多签地址组成的双向支付通道。

开启和关闭通道各需执行一笔链上事务。

一旦通道开启,价值就可以在交易对手方之间即时转移。交易对手方之间相互发送比特币交易,但是不会将它们广播到比特币网络上。

新的交易会覆盖之前的交易。只要通道未关闭,交易对手方就会将所有数据存储在本地。

2. 问:闪电网络是开源的吗?

答:没错,闪电网络是开源的。任何人都能审查闪电网络的代码(就像审查比特币的代码那样)。

3. 问:闪电网络由谁所有?受谁控制?

答:和比特币一样,闪电网络不归任何人所有,也不受任何人控制。

闪电网络的代码是开源的,可供任何人下载并审查。

任何人都能运行节点并参与该网络。

4. 问:闪电网络的创造者是谁?

答:Joseph Poon 和 Thaddeus Dryja 撰写了闪电网络的白皮书

闪电网络是开源项目,因此任何人都可以贡献代码。

目前有几个独立实现正在开发中:

lnd — Lightning Labs

eclair — ACINQ

lightning-d — Blockstream

5. 问:闪电网络有发行自己的代币吗?

答:没有,也不需要这么做。

闪电网络将使用真正的比特币来进行交易。

6. 问:闪电网络的实现依赖于共识吗?

答:不,闪电网络的实现不需要比特币网络的共识。

闪电网络既不是软分叉,也不是硬分叉,而是在比特币网络的基础上构建的一个附加层。

因此,闪电网络的实现是不需要共识的。

7. 问:闪电网络存在任何托管风险吗?我需要将资产交由其他可信方保管吗?

答:不,闪电网络并非建立在信任基础上。你的资产仍在你的完全掌控下。

如果出现任何问题,你只需将通道的最新状态作为普通的比特币事务广播到链上。

你的所有资金都会退回你的比特币地址,并记录在链上。

8. 问:我听说闪电网络交易发生在 “链下” …… 这是否意味着我的比特币会从链上抹去?

:不,你的比特币永远都不会离开区块链。

当你的支付通道处于开启状态时,你的比特币将存储在一个多签地址上。通道关闭后,最后一笔交易将会上链。

“链下” 不是一个非常恰当的表述。之所以会用它,是为了强调所有权转移不再体现在链上这一事实。

9. 问:我听说闪电网络要将我的比特币锁仓……是真的吗?

答:就闪电网络而言,“锁仓” 一词极具误导性。

闪电网络不影响你访问自己的资产。

实际上,闪电网络通道会让你的资产变得更易用。

首先,在闪电网络中,你不需要等待确认,资产转移几乎是即时的。

其次,让你的资产 “回到链上” 就和发送普通的比特币交易一样简单。你只需等待一次确认,你的资产就从 “链下” 转移到链上了。

只有一个例外:你的通道在交易过程中发生故障(交易对手离线),但是这种情况很少见。

一旦出现上述例外情况,你要等待一小段时间才能动用你的资产。等待的时长视你的支付通道的参数而定(估计最短要几个小时,最长要几天)。

10. 问:闪电网络有自己的区块链吗?

答:没有,闪电网络依托于比特币区块链。当比特币网络中的对等节点开启和关闭支付通道时,需要执行链上事务。

一旦通道开启,比特币的所有权就可以在链下进行双向转移。

通道内的交易是货真价实的比特币交易,但是当通道处于开启状态时,这些交易不会在比特币网络中广播,而是由通道内的交易对手方存储在本地。

因此,闪电网络可以实现即时交易和近乎无限的吞吐量。

11. 问:有任何形式的挖矿保障闪电网络的安全性吗?

答:没有,安全性由比特币网络中的矿工提供。

12. 问:比特币区块链的算力高达 2 ExaHash/s,但是闪电网络没有任何算力保障其安全性……闪电网络如何才能跟比特币区块链一样安全呢?

答:闪电网络的安全性源自比特币区块链。

闪电网络无法独立运行,它完全依赖于比特币区块链来保障安全性。

简单来说,比特币网络是闪电网络下方的安全网。

如果闪电网络的通道出现问题(如交易对手方掉线),你还可以选择落入安全网。

(你可以将通道的最新状态作为普通的比特币事务广播到链上。)

13. 问:闪电网络是否有自己的公共账本或记录所有交易的数据库?

答:没有,闪电网络没有自己的账本和数据库。

在闪电网络上持有价值意味着你拥有经过双重签名的交易。这些交易都是有效的,只是没有广播到比特币网络上。

你持有的交易属于 2/2 多签交易。

你和你的对手方都会签署这些交易,并将它们存储在本地。

这些交易将使用多签地址作为输入(资金地址),并指向两个不同的地址作为输出。

一个输出指向只有你可以控制的地址,另一个输出指向只有你的对手方可以控制的地址。

14. (1)问:你说闪电网络中的交易都是真正的比特币交易……既然没有记录在链上,怎么能说是真实的比特币交易呢?

简答:

要想弄懂这点,我们首先要理解什么是真正的比特币交易……

事实上,比特币区块链上没有所谓的 “代币”……只有已签署的消息和提交至区块链的更新。

假设 Alice 向 Bob 发送 1 BTC……

我们称之为点对点交易,因为价值的所有权直接从 Alice 转移给了 Bob。

但是 Bob 实际上并没有从 Alice 那里收到 “数字代币”。

实际情况是:网络中的所有节点将更新它们存储在本地的公共账本副本。

公共账本更新后,原先登记在 Alice 的地址下的 “代币” 被重新登记到了 Bob 的地址下。

详解:

Alice 发送给 Bob 的比特币交易实际上只是一条 Alice 广播给所有人的已签名消息。

这个消息不仅发送给了 Bob,还被广播给了网络中的所有节点。

在撰写本文时,比特币网络中有 5400 多个 “全节点”。

Alice 向 Bob 发送比特币交易的具体流程如下:

  1. 当 Alice 广播她已签名的消息(即比特币交易)时,该消息将被网络中的一些全节点接收。
  2. 这些全节点将按照共识规则独立验证该消息(交易)。如果节点发现该消息有效,就会再次广播该消息给网络中的其它节点。
  3. 网络中的其它节点收到该消息后重复上述流程,直到全网 5400 多个全节点都独立验证并广播该消息(交易)为止。
  4. 某一时刻,矿工成功挖出包含 Alice 的消息(交易)的有效区块。由于挖矿会消耗大量电力,矿工必须承担高昂的成本。
  5. 矿工将新挖出的区块广播出去。一些全节点将收到该区块,并独立验证该区块及其全部内容。这就意味着,它们会对 Alice 的消息(交易)进行二次验证。如果全节点(按照共识规则)确认该消息有效,它们将广播该区块给其它全节点。
  6. 其它全节点接收、验证并广播该区块。这一流程将持续下去,直到网络中所有全节点都验证过该区块且二次验证过 Alice 的消息(交易)为止。

由上述步骤可见,一笔普通的比特币交易实际上涉及到全网参与者。

Alice 的消息经过 5400 个节点独立验证过两次(总共经过 10800 次验证)。

尽管如此,我们还是称之为 “点对点交易” ,因为价值的所有权直接从 Alice 转移给了 Bob。

(但是,所有人都要帮忙更新他们存储在本地的账本副本。)

结论:

比特币交易本质上是已签名消息。

假设 Alice 想要通过闪电网络上的支付通道向 Bob 发送 1 BTC:

Alice 将一些 BTC 存入一个 2/2 多签地址。

Alice 和 Bob 签署同一个消息,将 1 BTC 的所有权从 Alice 转移给 Bob。

该消息是一笔有效的比特币交易,但是不会广播到比特币网络上

Alice 和 Bob 都将该交易(消息)存储在本地。

从 Bob 的角度来看,这个 “双重签名消息” 价值 1 BTC。

这个消息之所以价值 1 BTC,是因为 Bob 随时都可以在链上花费这笔钱,只需将该消息广播至比特币网络即可

比特币交易 = 已签名消息 = 闪电网络上的交易

任何货币交易的目的都是改变价值的所有权。

在比特币网络中,我们使用已签名消息来改变价值的所有权。

闪电网络交易是双重签名消息

因此,双重签名消息货真价实的比特币交易

14. (2)问:一个标准的比特币交易需要链上确认……声称闪电网络交易和比特币交易一样真的公平吗?

答:说到点上了,二者是不同的……

闪电网络交易是零确认交易。但是,只要被广播到比特币网络上,它就和 “链上的” 零确认交易一样有效。

两种交易最终都会被记录到比特币区块链上,只要支付足够多的交易费。

但是,相比标准的零确认交易,闪电网络交易采用的安全模型不同,因此可靠得多。

闪电网络交易间接受到工作量证明的保护。这是因为闪电网络完全依赖于底层比特币网络(见第 12 问)。

在一条开启的闪电网络通道内,会有一组不同的博弈论机制提供不同类型的安全模型。

闪电网络将在不引入可信第三方的前提下扩展比特币的功能。

但代价是,你必须通过运行全节点来监控比特币网络。

监控可以外包给其他人来做,但是这样一来,你必须信任外部服务器会忠于职守。你的资产不会经过外部服务器路由。该服务器的唯一作用就是监控比特币网络,并在必要时广播 “惩罚交易”。

请注意,外包监控服务只是一种选择,在你不想运行自己的全节点的时候可以选,不是说你非得外包。

第三方不可能从闪电网络的通道内窃取资金。

另外还要注意的是,闪电网络被设计为小额价值(低于 100 美元)转移平台。

所有闪电网络交易必须经过通道内双方参与者的签名才能生效。因此,传统的双重花费攻击很难成功。

但是,有一种风险是确实存在的,即,攻击者可以将过时的闪电网络交易广播至比特币网络。

过时的闪电网络交易指的是代表非最新通道状态的交易。

上述风险就是你(或你信任的服务)必须运行 “瞭望塔节点(Watcher Node)” 的原因。

瞭望塔节点会监控所有被广播至比特币网络的交易。

如果你的观察者节点发现了一笔过时交易,就会广播一笔 “惩罚交易” 来作为应对措施。

惩罚交易 可以让你有权没收你的通道内的所有资产(包括原本属于你的交易对手方的资产)。

但是,只有当你发现过时交易被广播上链时,你广播的惩罚交易才有效。

由于你能够广播惩罚交易,你的对手方广播过时交易时需要承担很大的风险。

另一个 安全/隐私 功能是所有闪电网络交易都将在参与者之间进行端到端加密。

总结:

闪电网络交易在安全模型上有别于传统的比特币交易。

一旦被广播到比特币网络上,闪电网络交易就会被视为有效的比特币交易

但是,

只要支付通道处于开启状态,闪电网络就不会被广播上链,只会在通道内的参与者之间进行交换,并由参与者存储在本地。

因此,我们可以将闪电网络交易定义为:

带有额外安全机制未被广播的零确认多签比特币交易

15. 问:我听过闪电网络需要用户持续监控区块链……这是真的吗?

答:没错,这是真的。

用户需要运行软件来主动监控区块链上是否存在违约行为(即,广播过时交易)。

但是,用户也可以将监控外包给第三方服务提供商。

外包不会侵犯你的隐私,但是你必须信任服务提供商会诚实守信。

优点是

这会鼓励更多人在比特币网络上运行全节点

你的全节点甚至可以帮你赚点小钱:

全节点/闪电网络节点” 可以作为 “Bob” 赚取手续费(详见下文解释)。

你还可以选择自己配置全节点来提供区块链监控服务。从理论上来说,这会给你带来一些 “微薄的收入”。

16. 问:我听说闪电网络会收取一些手续费……这些手续费是给谁的?

答:运行闪电网络节点的任何人。

举例:

Alice 想给 Carol 转账,但是 Alice 与 Carol 之间没有支付通道。幸好 Alice 和 Carol 都与 Bob 创建了支付通道。Alice 可以通过 Bob 将付款路由给 Carol,免去与 Carol 开通新的通道的麻烦:

Alice —> Bob —> Carol

在这种情况下,Bob 会收取少量手续费。

17. 问:使用路由支付时,如果防止中间方 Bob 私吞?

简答:

Bob 先用自己的钱付给 Carol,再从 Alice 那里拿回钱。

详解:

  1. Carol 生成一个随机数 R 作为临时秘密值。
  2. Carol 计算出 R 的哈希值 H。
  3. Carol 将 H 告诉 Alice。
  4. Alice 创建了一笔特殊的转账交易,收款方是 Bob 。但是,该交易必须包含 R 才有效。此时,由于缺少 R,该交易无效。Alice 将 H 告诉了 Bob,Bob 知道 H 就是缺失的 R 的哈希值。
  5. Bob 创建了另一笔特殊的转账交易,收款方是 Carol。但是,这个交易也必须包含 R 才有效。此时,由于 Bob 没有 R,该交易无效。
  6. Carol 想拿回她的钱,于是将 R 告诉 Bob,让交易生效。
  7. 由于 Bob 已经有了 Alice 创建的交易,可以直接将 R 放入交易使其生效。Bob 可以根据 R 的哈希值 H 来验证 Carol 是否给了他对的 R 。
  8. 与此同时,Bob 也将 R 透露给了 Alice。

现在,Alice 可以使用 R 来证明她已经把钱付给了 Carol(R 起到了收据的作用)。

18. 问:闪电网络需要隔离见证吗?

答:靠谱的答案请戳 https://medium.com/@rusty_lightning/bitcoin-lightning-things-to-know-e5ea8d84369f#.oujgao7s2

19. 问:我还可以在哪里找到更多关于闪电网络的信息?

答:闪电网络的相关资料:

https://medium.com/lightning-resourceshttp://lightning.network/

https://letstalkbitcoin.com/blog/post/lets-talk-bitcoin-286-drinks-on-a-lightning-network

https://letstalkbitcoin.com/blog/post/the-lightning-network-elidhdicacs

https://github.com/lightningnetwork/lightning-rfc/blob/master/00-introduction.md

https://www.youtube.com/watch?v=8zVzw912wPo

(完)


原文链接: https://medium.com/@The1Brand7/lightning-faq-67bd2b957d70
作者: Brand
翻译&校对: 闵敏 & 阿剑


你可能还会喜欢:

理解闪电网络,Part-1:构建比特币的双向支付通道

闪电网络的历史:从头脑风暴,到测试版本

闪电网络的入账容量问题

 
0 人喜欢