风险提示:理性看待区块链,提高风险意识!

以太坊节点分为哪些类型?

1个回答

想想当初的马云7星评价

2021-06-03 16:08:39

以太坊节点分为哪些类型?

以太坊节点分为四种类型:全节点、轻节点、存档节点、硬件节点。

全节点

全节点的功能:

1、将所有区块链数据存储在磁盘上,可以根据请求为网络提供任何数据。

2、对区块进行验证时接收新交易和新区块。

3、验证所有区块和状态。

4、为了初始同步更为高效,全节点会存储最近的状态。

5、整个区块链的所有状态都可以从全节点导出。

6、一旦完全同步,全节点就会存储所有状态,类似于存档节点(更多信息参见下文)。

客户端同步模式

geth——快速同步模式

快速同步模式是geth默认的同步模式。通过下载整个状态数据库可以快速同步全节点。首先是请求同步区块头,然后加入区块体和收据,从而对整个节点进行同步。快速同步模式开启后直到以太坊网络的最终有效区块也被同步,就切换到全同步模式。

geth——全同步模式

从创世区块开始同步全节点,验证所有区块并执行所有交易。这种模式比快速同步模式稍微慢一点,但是安全性有所提高。

parity——warp同步模式

warp同步模式是parity默认的同步模式。通过下载记录了第30,000个最终有效区块和最新状态数据库的快照,使用warp同步模式对以太坊全节点进行同步。

数据经由快照恢复后,客户端切换到全同步模式,并在后台同步网络中的旧区块。

在完成同步后,parity默认节点将作为全节点服务于网络。

parity——非warp模式

从创世区块开始同步全节点,验证所有区块并执行所有交易。这种模式比warp同步模式稍微慢一点,但是安全性有所提高。

采用geth完全同步模式和parity非warp模式进行同步的节点都被认为是一个以太坊全节点,因为:

1、节点从创世区块开始同步完整区块链数据。

2、节点重放所有交易并执行所有合约。

3、节点为每个区块重新计算状态。

4、节点将所有的历史区块存储在磁盘上。

5、节点将最新的状态存储在磁盘上,并修剪旧状态记录。

轻节点

轻节点的功能:

1、存储区块头链并按需请求所有其他信息内容。

2、可以通过检验区块头的状态根,从而验证数据的有效性。

轻节点适用于低容量设备,比如嵌入式设备或移动电话,这些设备无法存储几十GB的区块链数据。

客户端同步模式

geth——轻同步模式

等待大约200秒后,从第2300个区块开始同步,然后定期接收到含有1到10个区块的区块包。初始同步只需要很短时间。

parity——轻同步模式

立即从一个硬编码值(区块高度6219777)开始同步,速度大约为每分钟23,500个区块,同步区块高度达到6,500,000,过程需要15分钟。一旦同步,当新区块被挖出并经由全节点验证,轻节点就会接收到这些区块。

parity——非硬编码轻同步模式

除了从创世区块开始同步以外,其他设定与轻同步模式一样。

连接Parity 轻节点到MetaMask(MacOS操作系统)

步骤如下:

1.下载自制程序(homebrew)(必须先通过苹果的开发条款)。

查找和打开应用终端(应用/终端)。

在终端中依次输入以下命令:

brew tap paritytech/paritytech (把parity添加到brew tap列表)

brew install parity (安装parity稳定版本)

parity --light --jsonrpc-cors="chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn" & (同步轻节点,与其他节点相互连接,下载区块头信息)

按ctrl+C,然后键入:

tail -f nohup.out (将给你展示日记,以确保所有工作得到切实履行)

1.在网页浏览器上打开Metamask,断开网络,连接到本地主机。

存档节点

存档节点的功能:

1、存储所有全节点保存的内容。

2、也创建了历史状态的档案。

若你想要检查任何给定区块高度的帐户状态,只能查询存档节点。例如,如果你想知道一个账户在区块高度4,000,000时的以太币余额,你就要运行并查询一个存档节点。

像Infura这样的基础设施,它作为存档节点通常只提供服务。存档节点依赖于用例,对区块链的安全性或信任模型没有影响。

客户端同步模式

geth——轻同步模式——存档模式

从创世区块开始同步存档节点,充分验证所有区块,执行所有交易,并将所有中间状态写入磁盘(“存档”)。

在Geth客户端中,这称为gcmode模式,指的是“无用单元回收”(garbage collection)的概念。把区块与交易存档基本上就等于把它们封存起来。

parity——非warp模式——修剪存档模式

从创世区块开始同步存档节点,充分验证所有区块,执行所有交易,并将所有中间状态写入磁盘(“存档”)。

在Parity客户端中,“修剪”(Pruning)指状态树修剪。把区块与交易存档基本上就等于把它们封存起来。

硬件节点

一般消费者级别的笔记本电脑性能足以运行全节点,但不能运行存档节点。运行存档节点需要2+ TB的磁盘空间,不能使用硬盘作为磁盘,必须使用能运行完整节点和存档节点的固态硬盘。轻节点在SD卡和硬盘上运行情况良好。

如果全节点离线一段时间,数据可能会损坏,需要一段时间才能恢复。若要运行自己的节点,请保持设备持续开机并且联网,从而最大化可靠性,最小化停机时间,获得最佳效果。这在笔记本电脑上是不可能实现的,而使用台式电脑(500W+)则价格昂贵,所以最好选择一种在制造和替换成本低廉,且最好可以免费运行的设备。树莓派的性能足以运行轻节点,而在ARM微型计算机上全节点才能运行良好。可以在Block And Mortar、Ava.do与DAppNode上查看预同步的预制设备。

警告:永远不要把任何无法彻底检查和验证的数据接入自己的局域网,否则可能会在不知情的情况下遭到DNS劫持或密码劫持。如果硬件和软件不是开源的(至少汇编软件不是开源的),那么就无法确保其安全。