“节点”是为了以太坊区块链的运作,网络中的参与者需要运行特定的软件,协助他们与区块链进行交互。我倾向于认为,每个节点作为独立计算机运行着以太坊软件。同样地,节点(网络中的参与者)越多就越去中心化,但有时,维护所有节点有些麻烦。
不同的节点针对不同的目的:
全节点:用来储存完整的区块链数据,帮助区块进行验证并打包到链上,这类节点还为过去的交易提供有效性证明;
轻节点:功能在设计上相对少于全节点,比起储存完整的区块链数据,轻节点仅仅储存较少量过去交易的证明,这类节点让更多人参与到网络中,因为它们存储更少的数据,运行起来更加经济;
归档节点:是以太坊世界的程序库/维基百科词典,它们储存全节点所有的数据,甚至更多,分析工具和钱包提供商也许会利用归档节点来拉取很久之前的信息。
客户端:这是以太坊的软件,使得计算机(节点)能够同以太坊网络进行交互。单个节点可以选择他们想用的客户端软件,但多用一些不同类型的客户端对于去中心化至关重要,以免其中某个客户端出现 bug 或者问题。现在有执行客户端和共识客户端两种类型,但这不在指南介绍的范围内。现如今,链上有很多可用的客户端,最近以太坊社区争取让最大的一些节点运行机构多样化其运行节点的客户端。重要的是,任何想要参与运行以太坊网络的用户,都可以创建他们自己的客户端,这意味着用户不必信赖第三方实体为其验证区块链。
状态:以太坊区块链的状态指的是在任何特定时间点区块链上的账户余额情况。一旦有新的事物产生(比如处理一个新的交易区块),那么状态则会更新并精确地反映区块链在打包新交易后的状况。以太坊的状态保存不同账户及其余额的信息。换言之,一旦区块链验证新的交易,状态也会随之更新,利用刚添加的新交易信息反映出新的账户余额。