分享百科

以太坊节点

以太坊节点

什么是以太坊节点?

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

节点类型

以太坊客户端可以运行三种不同类型的节点:全节点、轻节点归档节点

全节点

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

轻节点

轻节点不下载所有区块,而是下载区块头。 这些区块头只包含区块内容的摘要信息。 轻节点所需的任何其他信息都从全节点请求。 然后,轻节点可以根据区块头中的状态根独自验证收到的数据。

轻节点可以让用户加入以太坊网络,无需运行全节点所需的功能强大的硬件或高带宽。 最终,轻节点也许能在手机和嵌入式设备中运行。 轻节点不参与共识(即它们不能成为矿工或验证者),但可以访问以太坊区块链,其功能与全节点相同。

归档节点

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

运行以太坊节点的好处

对于用户

运行自己的节点能够使自己以私有、自给自足和无需信任的方式使用以太坊。无需依赖对网络的信任,因为用户能够使用自己的客户端验证数据。

  • 用户的节点根据共识规则独自验证所有交易和区块。 这意味着用户不必依赖网络中的任何其他节点或完全信任它们
  • 用户可以将以太坊钱包与用户自己的节点一起使用。 用户可以更安全、更私密地使用去中心化应用程序,因为不必将地址和余额泄露给随机节点。 用户可以用自己的客户端检查所有内容
  • 用户可以运行和自我托管其他依赖于以太坊数据的服务。 例如,可以是信标链验证者、二层网络等软件、基础设施、区块浏览器、支付机构等
  • 用户可以提供自己的自定义远程过程调用端点。 公开供社区使用,甚至私有托管的以太坊端点可以让用户使用你的节点,并避免大型中心化提供商
  • 用户可以使用进程间通信 (IPC) 连接到节点,或者重写节点将用户的程序作为插件加载。 这样可以减少网络延迟,例如在使用 web3 库处理大量数据时或者当用户需要尽快替换交易时(即抢先交易)会带来很大帮助
  • 用户可以直接质押以太币以保护网络并获得奖励。

对于网络

多种节点对以太坊的健康、安全和运行恢复能力非常重要

  • 全节点强制执行共识规则,因此无法欺骗它们接受不遵循规则的区块。 这在网络中提供了额外的安全性,因为如果所有节点都是轻节点,不进行完整验证,验证者可能会攻击网络
  • 如果遇到攻击并且攻破了权益证明加密经济防御,全节点可以执行社交恢复以选择跟随最诚实的链
  • 网络中的节点越多,网络就更加多样化和更加健壮,这是去中心化的最终目标,可实现一个抗审查的可靠系统
  • 这些节点让依赖它们的轻客户端能够访问区块链数据。 在使用高峰期,需要有足够多的全节点帮助轻节点同步。 轻节点不存储整条区块链,而是通过区块头中的状态根验证数据。 如果需要,它们可以请求区块提供更多信息

参考文章:https://ethereum.org/zh/developers/docs/nodes-and-clients/

✍️更新/纠错
登链社区