主页 > imtoken安全下载地址 > 区块链网络层是什么意思? (区块链网络层概念与机制解析)

区块链网络层是什么意思? (区块链网络层概念与机制解析)

imtoken安全下载地址 2023-09-07 05:10:41

区块链的网络层

区块链的网络层

本文介绍区块链中的网络层。

什么是网络层

网络层是区块链平台信息传输的基础。 通过P2P网络、特定的信息传播协议和数据验证机制,区块链网络中的每个节点都可以平等地参与共识和记账。 在网络层,主要涉及P2P网络架构的相关技术,并基于核心技术衍生出数据传播机制和数据验证机制。 [1] 在区块链系统中,网络层的作用与P2P网络基本相同,即保证在区块链网络中,每个节点都是平等的,每个节点共同为整个网络提供服务网络,并且没有集中的特殊节点,每个节点以扁平拓扑连接。 因此,区块链具有其最重要的特征之一——去中心化。 由于P2P网络通信不需要第三方验证,避免了信息被非法篡改比特币需要解决的核心问题是,从而保证了区块链系统的安全。

网络层核心技术:P2P网络

比特币需要解决的核心问题是_外国的比特币便宜中国的比特币贵为什么?_比特币勒索病毒解决

说到区块链技术,就不得不提最关键的P2P网络架构。 当前的区块链系统大多采用P2P网络架构。 点对点(Peer-to-peer,简称P2P)又称点对点技术,是一种没有中央服务器,依靠用户群(点)交换信息的互联网系统。 它的作用是减少之前网络传输中的节点数量。 , 以降低数据丢失的风险。 [2] 与具有中央服务器的中央网络系统不同,对等网络的每个客户端不仅是一个节点,还具有服务器的功能。 任何一个节点都不能直接找到其他节点,必须依靠自己的用户群进行信息交换。 传统的集中式网络如图1所示。图1是传统的服务器-客户端集中式网络。 每个client通过中间的S,也就是server传递信息。 这种方式使S成为中心化节点,信息通过S中心化,信息的隐私和安全得不到保障,与区块链区域中心化的理念背道而驰。 P2P 网络中的每个节点既可以是客户端,也可以是服务器。 如图2所示,网络中的所有节点都可以相互传输。 整个网络没有中心,网络中任意两点都可以交换数据。 传播。 在区块链网络中,每个节点都要承担网络路由、区块数据的传播和区块数据的验证等功能。 [3]

区块链的网络层

图 1 中心化网络[3]

区块链的网络层

图2 P2P网络[3]

根据中心化程度,P2P可分为中心化、纯分布式和混合型。 但需要指出的是,这里所说的网络模型主要是指路由查询结构,即不同节点之间如何建立连接通道。 一旦在两个节点之间建立了连接,在这两个节点之间传输什么数据就发生了什么事情。

比特币需要解决的核心问题是_比特币勒索病毒解决_外国的比特币便宜中国的比特币贵为什么?

在中心化的 P2P 网络中,有一个中心节点存储所有其他节点的索引信息。 索引信息一般包括节点IP地址、端口、节点资源等。集中式路由的优点是结构简单,易于实现。 但缺点也很明显。 由于中心节点需要存储所有节点的路由信息​​,当节点规模扩大时,容易出现性能瓶颈,同时也存在单点故障问题。

纯分布式和集中式是完全不同的。 去除中心节点,在P2P节点之间建立随机网络,即在新加入的节点与P2P网络中的节点之间随机建立连接通道,从而形成随机拓扑。 新节点加入网络的方式有很多种。 最简单的就是随机选择一个已经存在的节点建立邻居关系。 新节点与邻居节点建立连接后,需要向全网广播,让全网知道该节点的存在。 纯分布式结构不存在集中式结构的单点性能瓶颈和单点故障问题,具有良好的可扩展性。

第三种混合 P2P 网络兼容集中式和纯分布式结构。 在混合P2P网络中,有多个超级节点组成一个分布式网络,每个超级节点有多个普通节点与其组成一个局部中心化网络。 当一个新的普通节点加入时,首先选择一个超级节点进行通信,超级节点再向新加入的节点推送其他超级节点的列表,由加入的节点根据具体情况决定选择哪个超级节点作为父节点。到列表中超级节点的状态。 这种结构的泛洪广播只发生在超级节点之间,可以避免大规模泛洪的问题。 [2,4]

网络层的传输机制

从上一篇文章我们可以了解到,通过特定的算法,一些节点可以通过计算得到新的区块,新产生的区块最终会在区块链的所有节点中得到验证和保存。 网络层负责在新的区块数据生成后将其广播给全网其他节点进行验证。 目前的底层区块链平台,一般会根据自身实际应用需求,在比特币传输机制的基础上,重新设计或改进一种新的传输机制。 例如,以太坊区块链集成了所谓的“幽灵协议”,以解决区块数据确认速度快带来的高区块失效率和后续安全风险。 这里我们以中本聪设计的比特币系统为例,列出其传输协议的步骤如下:

比特币交易节点将新产生的交易数据广播给全网所有节点;

外国的比特币便宜中国的比特币贵为什么?_比特币需要解决的核心问题是_比特币勒索病毒解决

每个节点将收集到的交易数据存储到一个区块中;

每个节点根据自己的算力在区块中找到一个具有足够难度的工作量证明;

当节点找到区块的工作量证明时,将区块广播给全网所有节点;

只有当区块中包含的所有交易都有效且之前不存在时,其他节点才同意该区块的有效性;

其他节点接收数据块并在块的末尾创建一个新块以扩展链,接收到的块的随机哈希值被视为新块的前一个块哈希值。 [1]

网络层认证机制

比特币需要解决的核心问题是_比特币勒索病毒解决_外国的比特币便宜中国的比特币贵为什么?

在区块链网络中,所有节点都会时刻关注网络中广播的交易数据和新生成的区块。 收到相邻节点发送的数据后,首先会验证数据的有效性。 如果数据有效,则按照接收顺序为新数据建立一个存储池暂存数据,并继续转发给相邻节点; 如果数据无效比特币需要解决的核心问题是,则立即丢弃数据,以确保无效数据不会继续在区块链网络中传播。 验证有效性的方法是根据预先定义的标准验证数据结构、语法规范性、输入输出、数字签名等方面。 新区块的验证也是如此。 一个节点生成新区块后,其他节点将根据预先定义的标准验证新区块的工作量证明和时间戳。 如果确认有效,则该区块将链接到主区块链,开始争夺下一个区块的记账权。 [1]

比特币网络中的网络层

比特币开启了区块链时代,任何节点开通客户端后都可以实现去中心化、可信的比特币交易。 比特币网络中的节点主要有四个功能:钱包、挖矿、区块链数据库和网络路由。 每个节点都会有路由功能,但不是所有其他功能。 不同类型的节点可能只包含一些功能。 一般来说,只有比特币核心(bitcoin core,图3)节点才会包含全部四大功能。

区块链的网络层

图 3 比特币核心节点[4]

比特币网络中主要有两类节点,全节点和轻节点。 全节点保存完整的区块链,包含所有数据信息,参与实时数据校验,更新区块链主链。 轻节点只保存部分区块链信息,通过简单支付验证(SPV)完成数据验证。 还有一些挖矿节点,通过解决工作量证明(PoW)算法问题,与其他挖矿节点竞争创建新区块。 [4]

比特币需要解决的核心问题是_外国的比特币便宜中国的比特币贵为什么?_比特币勒索病毒解决

在整个比特币网络中,除了主网使用比特币协议作为不同节点之间的通信协议外,还有很多扩展网络,包括矿池网络。 不同的矿池网络也可能使用不同的矿池挖矿协议。 目前主流的特定矿池协议应该是Stratum协议,它不仅支持挖矿节点,还支持瘦客户端钱包。 一个扩展的比特币网络,包括比特币协议主网、Stratum网络和其他矿池网络的各个节点,大致如下图所示:

区块链的网络层

图 4 比特币主网和各种扩展的比特币网络[4]

以太坊网络中的网络层

以太坊是在比特币的基础上发展起来的,借鉴了比特币的很多思想。 甚至白皮书的一半都描述了比特币的功能。 因此,以太坊不仅可以实现类似比特币的交易系统,还希望建立一个基于区块链的生态环境,扩展依托于以太坊的去中心化应用DAPP。 以太坊采用结构化的P2P网络,通过DHT技术进行结构化。

DHT通过哈希算法将P2P网络节点哈希成标准长度的数据,整个网络形成一个巨大的哈希表。 每个参与节点都有一部分哈希表,存储和维护自己的数据。 哈希表分布在 P2P 网络的各个节点上。 任何连接到 P2P 网络的节点都有自己的 ID 位于哈希表中,通过 DHT 可以找到更多的节点,也可以根据 ID 值被其他节点准确搜索到。 DHT虽然支持节点自由加入或退出,但DHT复杂的维护机制使其无法适应频繁的节点变更。 以太坊使用 Kadenlia (Kad) 协议。 Kad 是一种 DHT 协议,通过它可以快速准确地查找地址。