节点和客户端 您所在的位置:网站首页 以太坊收费标准 节点和客户端

节点和客户端

2023-08-30 08:03| 来源: 网络整理| 查看: 265

节点和客户端

上次编辑: , Invalid DateTime

以太坊是一个由计算机组成的分布式网络,这些计算机运行可验证区块和交易数据的软件,称为节点。 软件应用程序(客户端)必须在电脑上运行,将你的电脑变成一个以太坊节点。

注意:现在再也不能仅运行执行客户端了。 合并后,执行客户端和共识客户端必须一起运行,用户才能够访问以太坊网络。

前提条件

在更深入地探索并运行自己的以太坊客户端实例之前,你应该先理解对等网络的概念和以太坊虚拟机基础知识。 查看我们的以太坊简介。

如果你不熟悉节点这一主题,建议先查看便于用户理解的运行以太坊节点简介。

什么是节点和客户端?

“节点”是指任何以太坊客户端软件的实例,它连接到也运行以太坊软件的其他计算机,形成一个网络。 客户端是以太坊的实现,它根据协议规则验证数据并保持网络安全。

合并后的以太坊由两部分组成:执行层和共识层。 这两层网络是由不同的客户端软件运行。 在本页面,我们分别称他们为“执行客户端”和“共识客户端”。

执行客户端(也称为执行引擎、EL 客户端或旧称“以太坊 1”客户端)侦听网络中广播的新交易,在以太坊虚拟机中执行它们,并保存所有当前以太坊数据的最新状态和数据库。共识客户端(也称为信标节点、CL 客户端或旧称“以太坊 2”客户端)实现了权益证明共识算法,使网络能够根据来自执行客户端的经过验证的数据达成一致。

在合并之前,共识层和执行层是独立的网络,以太坊上的所有交易和用户活动都发生在现在的执行层。 一个客户端软件为矿工生产的区块提供执行环境和共识验证。 2020 年 12 月后,共识层即信标链一直单独运行。 它引入了权益证明,并根据来自以太坊网络的数据协调验证者网络。

通过合并,以太坊连接这些网络并过渡到权益证明。 执行客户端和共识客户端共同验证以太坊的状态。

各种软件协同工作的模块化设计称为封装复杂性(opens in a new tab)。 这种方法更轻松地实现了顺利合并,并支持各客户端的重用,例如在二层网络生态系统中的重用。

已连接的执行客户端和共识客户端 (opens in a new tab) 已连接执行客户端和共识客户端的简化图。

客户端多样性

执行客户端和共识客户端采用各种不同编程语言编写,并由不同团队开发。

多种客户端实现减少了对于单一代码库的依赖,使网络更强大。 理想的目标是实现多样性,即没有任何客户端在网络中占据主导地位,从而排除潜在的单点故障。 语言多样化令开发者社区更加广泛,并允许他们用自己喜欢的语言创建集成。

了解有关客户端多样性的更多信息。

这些实现的共同点是它们都遵循一种规范。 这些规范规定了以太坊网络和区块链如何运作。 规范定义了每个技术细节,并有以下几种形式:

最初为以太坊黄皮书(opens in a new tab)执行规范(opens in a new tab)共识规范(opens in a new tab)在各种网络升级中实现的以太坊改进提案(opens in a new tab)跟踪网络中的节点

多种跟踪器提供以太坊网络中节点的实时概览。 请注意,由于去中心化网络的性质,这些爬虫只能提供有限的网络视图,并且可能会报告不同的结果。

节点地图(opens in a new tab),由 Etherscan 提供以太坊节点(opens in a new tab),由 Bitfly 提供以太坊节点爬虫(opens in a new tab)Nodewatch(opens in a new tab) 由 Chainsafe 提供,爬取共识节点节点类型

如果你想运行自己的节点,就应该明白节点有几种不同类型并且使用数据的方式亦不同。 事实上,客户端可以运行三种不同类型的节点:轻节点、全节点和归档节点。 还有不同同步策略的选项,可以实现更快的同步时间。 同步是指节点能以多快的速度获取最新以太坊状态信息。

全节点存储全部区块链数据(会定期修剪,所以全节点并不存储包含创世块在内的所有状态数据)参与区块验证,验证所有区块和状态。所有状态都可以从全节点中获取(尽管非常久远的状态是通过向归档节点发出请求重建的)。为网络提供服务,并应要求提供数据。轻节点

轻节点不下载所有区块,而是下载区块头。 这些区块头只包含区块内容的摘要信息。 轻节点所需的任何其他信息都从全节点请求。 然后,轻节点可以根据区块头中的状态根独自验证收到的数据。 轻节点可以让用户加入以太坊网络,无需运行全节点所需的功能强大的硬件或高带宽。 最终,轻节点也许能在手机和嵌入式设备中运行。 轻节点不参与共识(即它们不能成为矿工或验证者),但可以访问以太坊区块链,其功能与全节点相同。

执行客户端 Geth 有一个轻量同步(opens in a new tab)选项。 然而,Geth 轻节点依赖于提供轻节点数据的全节点。 很少有全节点选择提供轻节点数据,这意味着轻节点通常无法找到对等节点。 共识层目前没有生产就绪的轻客户端,但是,有几个正在开发中。

可能还有一些方法可供在 gossip 网络(opens in a new tab)上提供轻客户端数据。 这是有利的,因为 gossip 网络可以支持轻节点网络,而无需全节点来满足请求。

以太坊目前还不支持大量轻节点,但轻节点支持是一个有望在不久的将来快速发展的领域。

归档节点存储全节点中保存的所有内容,并建立历史状态存档。 如果你想查询区块 #4,000,000 的帐户余额,或者想简单可靠地测试自己的一组交易而不使用跟踪挖掘它们,则需要归档节点。这些数据以太字节为单位,这使得归档节点对普通用户的吸引力较低,但对于区块浏览器、钱包供应商和链分析等服务来说却很方便。

以归档以外的任何方式同步客户端将导致区块链数据被修剪。 这意味着,没有所有历史状态的存档,但全节点能够在需要时构建它们。

为什么我要运行一个以太坊节点?

运行一个节点可以让你直接、无需信任和私密地使用以太坊,同时通过保持网络更加健壮和去中心化来支持网络。

对您的好处

运行你自己的节点使你能够以私有、自给自足和无需信任的方式使用以太坊。 你无需信任网络,因为你可以使用自己的客户端验证数据。 “不要信任,就验证”是流行的区块链口头禅。

你的节点根据共识规则独自验证所有交易和区块。 这意味着你不必依赖网络中的任何其他节点或完全信任它们。你可以将以太坊钱包与你自


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有