• 【转】闪电网络是比特币的 TCP/IP 协议栈


    在比特币和比特币现金社区,甚至在更大的加密货币生态系统中对闪电网络(Lightning Network)产生的诸多混淆引起了我的注意。因此,我想跟大家分享我在严格的网络背景下对比特币、区块链以及闪电网络的观点。

    为了理解区块链与闪电网络是如何运作的,我们应该从 Twitter 与 Reddit 充满硝烟的战场 (并没有产生好结果 )退一步,并回顾一下那些支持我们互联网的网络协议与系统。在理解了如何通过计算机网络与互联网的运作解决比特币自身的扩展限制后,我相信你会受益匪浅。本文我主要介绍的三个协议分别是:以太网(Ethernet), IP和TCP。通过了解这些协议是如何运作的,我们就可以更好地解答很多比特币以及所有区块链中有关扩展的问题。 简单介绍完,让我们开始吧。

    如今,计算机网络中最常见的两种数据传输(data transmission)的形式是广播(broadcast)和单播(unicast)。还有其他形式例如任播(anycast)和组播(multicast),但本文将不会涉及到。我们先来定义并理解这些数据传输的形式。

    • 广播指信息从网络中的一个点传送到所有其他点;一对所有的数据传输模式。

    -图为广播数据模式-

    • 单播指信息从网络中的一个点传送到另一个点;一对一的数据传输模式。

    -图为单播数据模式-

    基于对以上数据传输形式的理解,我们很快发现区块链交易就类似于广播的通信形式。当在比特币网络进行了一笔交易时,这笔交易信息就会被传送或广播到网络中所有 连接的节点。也就是说,在比特币网络中,所有节点都必须接收并记录下任何一笔存在或产生的交易。区块链交易的运作与传统的以太网集线器(ethernet hubs) 对数据传输的处理非常相似。

    过去,我们总是依赖于以太网集线器来进行计算机之间的数据传输。显然,我们发现以太网集线器本身的局限性导致它不能扩展。 旧时的以太网集线器严格支持广播传输,来自于一个接口(interface)或端口(port)的数据将会被广播并复制到网络的其他接口或端口。形象一点就是,想象在一个100人的网络中,如果你想发送给我一张1 MB大小的图片,那么这张1 MB大小的图片也会相应地需要复制99次并广播至其他的所有 网络用户。

    在比特币网络中,我们也能观察到类似的现象,来自一个节点的数据(一次交易或一个区块)被广播并复制到其他所有的网络节点。如同旧时的传统以太网集线器,区块链在实现数据传输与通讯方面可以说是很差的媒介了。作为一名网络工程师,考虑扩展像比特币那样基于广播的链上交易的全球支付网络系统对我来说是不切实际的。即使到今天,我们网络工程师在跨越以太网和局域网 (LAN network)时都非常小心谨慎,更不用说扩展到全球范围了。

    全面地来看,也就是说如果我们通过像区块链和以太网集线器那样严格依靠于广播数据传输来重新设计互联网,我们等于是要把世界上的每个人、主机和设备都集中在同一个局域网段(LAN segemnt)或广播域( broadcast domain)中。那么互联网将会变成一个巨大的平面局域网, 所有 通信都将会被复制与广播到每一台设备。当您打开这篇文章阅读时,每一个 互联网的其他设备都会被迫下载这篇文章。换句话说,整个互联网就会戛然而止。

    在计算机网络中,应用最频繁的通信形式是依靠于单播数据传输,或点对点传输。互联网上大部分通信都是从一台计算机发送到另一台计算机,我们不再需要依赖于盲目的广播传输数据,希望接收者能够接收或看到数据。我们能够准确地将信息发送,路由并传递给我们一个或多个接收方。我们前面已经了解到在广播网络中发送1 MB大小的图片是要被复制并广播到网络中每一位用户的。相反,在支持单播数据传输的网络中,我们能够明确地将图片文件适当地从起点发送到终点。

    对我来说,闪电网络是比特币的IP层(我知道这些数据传输形式同时存在于以太网和IP中)。但是,我确实认为这种类比有助于我们更好地理解这些复杂又抽象的概念:比特币、闪电网络以及通道 (channels)等等。

    先忽略辩论双方中持续了一段时间的有关闪电的所有解释还有那些过于简单的定义。花点时间,让我们客观地仔细地看看闪电并确定我们所知道的。关于闪电我们知道什么?闪电网络允许我们锁定自己的比特币并与其他人建立通道。还知道其他什么?我们可以在构成渠道的两点之间发送或接收交易。还知道其他什么?我们还可以进一步把交易路由到正确的目的地。

    了解了这些关键知识点后,我们就能发现闪电能使原本只支持广播传输的系统 [比特币] 实现单播传输。对我来说,比特币中的闪电节点等同于IP主机,我们最终能够执行或发送一对一或点对点交易至其准确的接收方。在传统的IP协议中,我们发送接收数据包(data packets);在闪电网络中,我们发送接收比特币。IP协议使我们能够从过去的小而原始的网络扩展成今天的全球巨头,互联网。同样的,闪电也将能扩展我们的全球比特币网络。

    如果说闪电节点可被视为IP主机,我就将闪电通道视为建立好的TCP连接。举个例子,在今天的互联网,当我们尝试连接一个网页,我们会打开一个TCP连接到能让我们下载该网页HTML源代码的网页服务器。或者,当我们下载一个torrent格式的文件,我们将会打开TCP连接至互联网中其他计算机,以便于传送torrent数据。

    在闪电网络中,我们与各方建立通道使其能够像TCP那样直接[点对点]发送与接收数据(交易)。如果说区块链是以太网,那么闪电节点 (Lightning Nodes)就是我们的IP,闪电通道(Lightning Channels)就是我们的TCP。

    总的来说,我观察到闪电网络拥有许多与我们早已存在的支持计算机网络的网络技术与协议的相似之处,并且我认为这是在重新设计互联网。从技术的角度来看,我不认为链上扩展比特币会有用,我担心未来会发生类似广播风暴(broadcast storm)的事件。我衷心希望通过闪电网络能实现我们新的单播传输方式。 更重要的是,我对比特币的网络时代充满兴奋与期待。

    当所有人的目光都集中在区块链技术上的时候,我更期待闪电网络。闪电是比特币的TCP/IP 协议栈 。我们将会在闪电上执行交易。所有东西都会建立在闪电上。闪电能够支持我们的应用和其他协议与层。也就是说,主要的比特币区块链会成为什么?它将会并应该保持一个去中心化,防篡改且无法回滚的基础层,为我们提供比特币的密码学证据。

    我们社区和行业中的某些个人和组织散播恐惧并警告我们有关“闪电中心”(“lighting hub”)的错误信息,却没有意识到他们链上交易的扩展方法只会将我们推向一个真正的(以太网)中心设计的方向。如果比特币失去了它去中心化的基层,我们将会失去比特币。过去9年的努力将只会带来一个庞大的中央广播中心,仅有少数人有能力运作这只怪物。

    我写这篇文章就是希望能够帮助大家理清有关比特币、区块链以及闪电的疑惑。旨在通过类比我们更熟悉的概念来更好地解释区块链和闪电。由于我很快就写完了这篇文章, 所以可能包含错别字。 如果您发现了任何错别字,请告知我。


    链接: https://medium.com/@melik_87377/lightning-network-enables-unicast-transactions-in-bitcoin-lightning-is-bitcoins-tcp-ip-stack-8ec1d42c14f5

  • 相关阅读:
    C++的开源跨平台日志库glog学习研究(一)
    C++实现的字符串模糊匹配
    Git&GitHub学习日志
    UTF-8和GBK等中文字符编码格式介绍及相互转换
    HDU
    340. 通信线路(分层图最短路)
    ACwing 你能回答这些问题吗(线段树求最大连续字段和)
    Laptop(线段树+离散化)
    Infinite Inversions(树状数组+离散化)
    HDU-4417-Super Mario(主席树解法)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13312935.html
Copyright © 2020-2023  润新知