本文概述
- 先决条件:比特币扩展问题
- 比特币闪电网络
- 比特币闪电网络解释
- 进一步的阅读和资源
在本文中, 我们将探讨比特币闪电网络的真正含义, 如何保证提供的保证以及其当前状态。
注意:本文假定你熟悉比特币。如果你不熟悉加密货币的工作方式或需要复习, 请阅读傻瓜的加密货币:比特币及以后。
先决条件:比特币扩展问题 如果你知道比特币扩展问题, 请随时跳过本节, 但是如果你不知道或需要复习, 请继续阅读。
比特币有规模问题。比特币旨在将所有交易存储在称为块的数据结构中。一个区块包含有关前一个区块的信息, 有关采矿奖励的各种数据, 并且大多数区块仅是交易数据。块也固定为最大1 MB。最后一点就是麻烦所在。
因为块的大小为1 MB, 并且每10分钟创建一个块, 所以假设事务不是SegWit(稍后再介绍), 则网络每秒最多可以处理3.3到7个事务。对于旨在供数十亿人及其机器大规模使用的货币而言, 每秒7笔交易的交易额就达不到标准。 Visa则声称每秒能够处理24, 000笔交易。
随着交易数量的增加, 你的单个交易会相互竞争以将其包含在有限的区块空间中, 因此, 将你的交易包含在区块中的可能性开始降低。由于在这种情况下, 矿工可以任意决定要在区块中包含哪些交易, 因此激励矿工包括你的交易的唯一方法是增加交易费用。但是, 这开始使交易变得异常昂贵—例如, 这笔192字节的交易价格为92.98美元, 而交易费用为14.86美元。
那么, 我们如何” 缩放” 比特币?有三种主要的思想流派, 或者(我喜欢称呼它们)是” 大规模扩展比特币大战” 的战斗:
- 增加块大小:2X, 8X, …, ∞X
- 较小的交易:SegWit等。
- 侧链:比特币闪电网络
这一点很容易理解:如果问题是1 MB的块限制, 请加大它!关于这一点的辩论很激烈, 而且仍在继续。最终, 2017年8月1日, 比特币(BTC)被分叉, 比特币现金(BCH)诞生了。两者之间的主要区别在于BCH具有8 MB块。这样可以使块大部分保持为空, 并且费用非常低。
但是, 8 MB的块意味着BCH区块链的总大小可能会以更快的速度增加, 从而使存储成本成为进入矿工场景的明显更高的障碍。有观点认为这将减少矿工的总数, 从而保护区块链, 减少分散性和比特币网络的整体安全性。
对更大的障碍的另一种批评是不能解决问题本身。而是暂时修补该问题。始终会有一个较大的块的最大限制, 并且最大限制总是比我们要达到的目标限制小得多:每秒24, 000个事务。即使拥有更大的8 MB块, BCH每秒也只能限制61个事务。
较小的交易:见证人隔离
其他解决方案指出, 当前的交易格式并不是最有效的交易方式, 其目标是在同一区块中打包更多交易。其中最著名的是隔离见证(SegWit), 它是通过BIP 91提出的, 并于2017年8月25日在481824块中激活。SegWit现在是比特币的一部分, 非常高兴!
文章图片
Non-SegWit和SegWit块的比较, 基于David A. Harding的插图
SegWit从事务中获取签名数据, 并将其存储在与事务块不同的结构中, 从而使单个事务更小, 并更好地利用每个块中的有限空间。然后, 在同步区块链时, 此结构是可选的, 从而减少了磁盘上的大小。
这也可以解决交易延展性问题, 并且仅花费SegWit输出的交易就不再容易受到攻击。
比特币闪电网络 闪电网络是第二层网络, 在同级之间传输已签名但未广播的交易, 并且仅依赖于比特币区块链来最终结算资金。这意味着交易根本不限于区块大小, 确认时间也无关紧要, 并且比特币区块链不需要存储曾经发生的每笔交易。
谁开发了比特币闪电网络?它最初是在约瑟夫·庞(Joseph Poon)和萨德斯·德里亚斯(Thaddeus Dryja)撰写的白皮书中进行描述的, 但此后已发展成为由第三方个人甚至公司为规范和实现做出贡献的社区活动。
稍后会有更多信息。
SegWit与增加的区块大小与比特币闪电网络
那么, 哪个最好?我没有经验证据可以作为我的答案的依据, 所以这是一种观点:虽然我确实认为更好地利用块空间(即la SegWit)是一件好事, 但我认为增加块大小就像推动未来的目标。如果比特币的使用量大幅增加, 我们将在一开始就开始讨论区块大小的另一增加。
不同意?在下面发表评论!
话虽这么说, 虽然我认为像比特币闪电这样的替代结算网络是一个很棒的主意, 但我也在等待观察它在现实世界中如何运作。截至目前, 这还不是我父亲和我可以使用的状态。
比特币闪电网络解释 我已经提到过, 闪电网络是第二层网络, 可在同级之间传输已签名但未广播的交易, 并且仅依赖于比特币区块链来最终结算资金。
让我们来看看这在现实生活中如何运作。
闪电节点和通道
闪电节点的运行方式与比特币节点非常相似, 与之不同, 它以网络方式运行, 验证交易并与其他节点通信, 但它做的事情是比特币节点历来不具备的:它拥有资金, 充当自动化金融中介, 主动监视Lightning” 通道” 的恶意行为并采取防御措施(稍后将对此进行详细说明)等。
为了执行这些功能, 节点需要金钱。
注意:这些示例最初假设每个人都运行一个比特币闪电网络节点, 该节点全天候24/7连接到互联网。该假设将在” 闪电钱包与闪电节点” 部分中被打破。
创建一个闪电通道 假设你和你的朋友Bob的关系涉及大量金融交易。你们不时闲逛, 一起吃午餐或看电影。有时你们中的一个人现金短缺, 有时另一个人, 然后你通常在事后互相讨价还价。
但是, 作为加密货币的拥护者, 你们俩都决定尝试使用Lightning并创建一个新的共同渠道, 用一半的比特币平均投入资金(这是很多午餐)。
文章图片
创建一个新的Lightning渠道就像创建一个多签名比特币钱包, 需要你的两个签名来批准交易, 但有一个区别。根据Lightning Network白皮书, 你每个人都会获得一个已签名但尚未广播的” 承诺交易” , 该协议会将你的初始存款退还给你。这样, 如果你的友谊陷入困境, 或者你中的任何一个需要钱, 你都可以通过广播此交易单方面关闭渠道, 每个人都可以得到应有的报酬。
与你有渠道的人进行闪电交易 假设你有一天再次外出吃午餐, 最后你欠鲍勃的钱等于8, 000聪(相当于我写这篇文章的0.31美元)。目前, 如果你使用比特币来清算这笔款项, 最终将需要支付0.10美元并等待一个小时, 这变得不可行。
文章图片
但是, 使用Lightning, 你只需简单地将” 承诺交易” 替换为新交易即可供你免费使用, 这两个交易都可以保留。仅这次, Bob多了8, 000个聪, 而你却少了。 (如果你现在想通过广播旧交易来作弊, 请等到” 关闭频道” 部分。)
你可以广播交易并关闭渠道, 但是, 关闭渠道会产生交易费用, 并且由于你们俩都不立即需要该金额, 因此你只需保留该渠道并用它来偿还未来的债务。
与你没有渠道的人进行闪电交易 假设某天, 鲍勃邀请另一个朋友爱丽丝(Alice), 经过一个小时的吃三明治, 你们俩都欠了爱丽丝, 因为这家店只接受了Coinye(在Kanye West起诉后被废弃的一种已失效的加密货币), 而爱丽丝发生了拥有。
文章图片
现在, 假设鲍勃(Bob)与爱丽丝(Lightning)开通了一个频道, 那么你也可以通过鲍勃(Bob)向爱丽丝(Alice)付费。你的节点计算出你和Alice之间的最佳路由(在这种情况下, 以Bob为财务中介), 中间商都可以向前付款, 如果他们愿意的话, 也可以支付少量费用。
关闭频道:两种好的方法和一种不好的方法 有三种关闭闪电通道的方法:
- 协作:频道中的任何一方都发起关闭比特币闪电频道, 另一方批准。没有时间限制, 一旦批准, 这笔钱就可以投入使用。这是关闭渠道的” 最佳” 方法。
- 单方面:只要其中一方愿意, 即使另一方不同意, 该频道中的任何一方都可以关闭Bitcoin Lightning频道。这会导致时间锁定, 在此情况下, 另一方可以通过” 违约救济” 交易(请参见下面的情况3)对关闭交易提出异议, 但我们假设这种情况不会发生。时间锁定到期后, 资金可免费使用。这是关闭渠道的” 可接受” 方式。
- 违反补救措施:由于雷电交易是签名交易的带有时间戳记的列表, 其中资金分配有所不同, 因此, 一方可能会通过单方面关闭持有更多资金的旧交易来试图欺骗(违反信任)(请参阅)情况2)。这导致了时间锁定, 在此期间, 受害方不仅可以收回自己的资金, 而且还可以使用” 违约救济” 交易(如《比特币闪电网络》白皮书中所述)刷扫通道的整个容量。
但是, 《闪电网络》白皮书介绍了解决此问题的方法:
…应该定期监视区块链, 以查看对方是否广播了无效的承诺交易, 或委托第三方进行了广播。只能通过将违约救济交易提供给该第三方来委派第三方。在交易对手恶意的情况下, 可以通过向第三方收取一定的费用来激励他们观看区块链广播此类交易。由于第三方只能在交易对手恶意行事时采取行动, 因此该第三方无权强制关闭渠道。这些第三方通常被称为监视塔, 应减轻用户的在线负担。
闪电网络的状态
截至2019年3月27日的比特币闪电网络:
- 拥有超过7.5千个节点
- 拥有近4万个开放频道
- 容量超过一千BTC
- 每小时25个节点
- 每小时304个频道
规格和实施
比特币闪电网络规范处于请求征询(RFC)状态, 并且由一系列称为闪电技术基础(BOLTS)的文档构成。截至本出版物发行时, 螺栓不断变化, 值得欢迎。
闪电网络节点也有几种BOLT兼容的实现:
- LND:Lightning Network Daemon的缩写, 主要是基于Go的实现。
- Eclair:主要基于Scala的实现。
- C-lightning:一种主要基于C的实现。
照明网络的优势和批评
那么, 闪电网络可以实现什么呢?
- 真正的微交易(分数)
- 可以想象到的最低费用(分数)
- 一定程度的隐私(无区块链记录)
- 路由和集中化:由于闪电网络的流量在不断变化, 通道状态每天都在变化, 打开和关闭, 并且有历史记录的集中存储可供回溯, 因此需要每次重新计算支付路径。当网络很小时, 这很好, 但是当网络变得足够大时, 在微型硬件上运行的小型节点可能就没有处理能力来计算路由。该问题的解决方案可能是具有可查询的高级知识的集中式超级节点。此处将对此进行详细说明。
- 放贷过多:本文最恰当地描述了这一点, 甚至让以太坊的联合创始人Vitalik Buterin筹集了资金。这本质上说, 由于10跳的链必须支付10美元, 因此每个人都必须支付10美元的远期收益, 最终转移了$ 100的资金。一方面, 大量运输变得不可行。这在现实世界中是否成立尚待确定, 但这仍然是一个令人信服的论点。
进一步的阅读和资源 我希望你最终了解闪电网络的真正含义。在这一切之下, 它只是一个基于交换加密令牌的消息传递系统。它不是完美的或尚未广泛使用, 但这并不意味着它不是令人印象深刻的工程。
我建议阅读原始的比特币闪电网络白皮书。我还可以推荐更多阅读材料和应用程序, 书籍和论文的列表, 但是GitHub用户Ben Congdon已经开始这样做了, 所以我建议你查看bcongdon / awesome-lightning-network。谢谢本!作为比特币开发人员, 你应该自己阅读尽可能多的有关这项新技术的信息。
【快速扩展(解释了比特币闪电网络)】如果所有这些信息太多, 让我们以有趣的笔记结尾。这是一个有趣的视频, 据说是Satoshi Craig Wright试图谈论比特币的美好时光。
推荐阅读
- 确保干净的代码(Python参数化)
- FE5226 风险管理
- OpenGL ES for Android
- 安卓----控件基础
- SliverAppBar 介绍及使用
- Android数据存储之SD卡文件操作
- AppStore中使用IDFA后提交应用的注意事项
- Android数据存储之SQLite数据库
- Vue入门实践 每日一文Webapp