主页 > 最新imtoken官网下载地址 > 以太坊的节点分类和Geth的几种同步方式
以太坊的节点分类和Geth的几种同步方式
文章目录
一、简介
以太坊数据同步以节点(peer)为数据载体,存储和传输主要由 Header、Body、Receipt 组成的数据主体。 数据同步事务通过以太坊p2p通信协议进行管理,最终交由执行者(主动同步交给Downloader,被动同步交给Fetcher)执行最终的数据下载任务。
2.节点分类
以太坊节点主要有四种类型,即全节点、挖矿节点、轻节点和存档节点,它们对网络的贡献各不相同。 它们一起将信息中继到其他节点以太坊节点类型,验证交易和 EVM 状态,并提供保持以太坊网络高效运行所需的基础设施。 他们相互通信以确保他们都能就网络状态达成一致。 因此,拥有更多的节点会使网络更强大,更能抵抗攻击。 下面分别介绍这四个节点。
2.1 全节点
全节点验证交易和 EVM 状态,验证区块,启动和执行智能合约代码,并在请求时提供网络数据。 他们还将以太坊区块链的状态存储到最后 128 个区块,并可以根据需要建立历史状态档案。
2.2 挖矿节点(也叫Miner)
挖矿节点是运行挖矿客户端软件的全节点。 在目前的状态下,以太坊是通过 Ethash 加密算法开采的,使用工作量证明机制 (POW),其中采矿节点与其他采矿节点竞争计算能力以创建下一个区块。 一旦创建,新块将被广播到网络,由其他节点验证,并附加到区块链的末尾。
2.3 轻节点
轻节点是全节点的“轻”版本,它只包含区块头数据,例如前一个区块的哈希值和时间戳,而不是整个区块数据。 他们向全节点发出按需请求,仅在用户需要时验证部分状态。 典型用途是检查余额、验证交易是否已确认、检查事件日志以及执行其他轻任务。 轻节点很容易由低容量设备运行,如手机或树莓派。
2.4 归档节点
存档节点是在“存档模式”下运行的完整节点。 它们包含与全节点相同的所有数据,但还包含一个创世块(第一个块)来记录整个区块链的所有历史状态数据。
例如,如果你想知道你的以太坊账户在过去百万个区块中的余额,那么最快的方法就是运行存档节点,然后查询这个数字。 虽然全节点可以重建历史区块链状态数据,但这个过程缓慢且低效,而存档节点包含从第一个区块开始的历史数据,它们可以随时轻松跟踪任何交易信息,包括账户余额、智能合约代码、交易金额以太坊节点类型,或特定存储位置的值,而归档节点也可以在不在区块链上创建交易的情况下测试智能合约代码。
三、同步方式分类
以太坊节点的同步主要有三种:
3.1 全同步
从创世区块到最新区块,获取区块头,获取区块主体,从创世区块验证每一个元素,需要下载所有的区块数据信息。 速度最慢,但可以获取所有历史数据。
3.2 快速同步
获取块头,获取块体,在同步到当前块之前不处理任何交易。 然后获取快照,之后像全节点一样进行后续的同步操作。 这种方法用得最多。 目的是不关心历史数据。 历史数据为快照,不一一核对。 最新数据库中的交易是沿着区块下载的,历史数据可能会丢失。 这种方式可能会丢失部分历史数据,但不影响以后的使用。
3.3 光同步
从网络同步所有区块头,不同步区块体,不同步状态数据,只在需要对应的区块和状态数据时才从网络获取。