---
title: "Tipos de nós Ethereum: full vs. archive vs. light"
description: "Explore os tipos de nós Ethereum, como funcionam e como são diferentes"
---

# Tipos de nós Ethereum: full vs. archive vs. light

A blockchain Ethereum é uma rede mundial distribuída de computadores na qual os nós reúnem poder de processamento, recursos, e compartilham responsabilidades de verificação de blocos para que a rede possa chegar a um consenso \(ou seja, concordar sobre um estado compartilhado\).

Este post examina os diferentes tipos de nós Ethereum usados na blockchain Ethereum \(full nodes, archive nodes e light nodes\), e suas diferenças.

## **O que é um full node?**

**Um full node mantém uma cópia completa dos dados da blockchain, e contribui para a rede recebendo transações e blocos de outros full nodes, validando-os, e encaminhando-os para outros full nodes.**

Quando uma transação de smart contract é executada, os full nodes Ethereum executam todas as instruções do smart contract. Juntos, os full nodes determinam se a execução do smart contract está produzindo o resultado desejado. No entanto, [rodar full nodes Ethereum](https://www.alchemy.com/overviews/running-your-own-node) é caro e consome bastante energia.

### **Clientes de full node**

Um cliente é uma implementação de software Ethereum que verifica todas as transações em cada bloco, garantindo que a rede seja segura e que os dados das transações sejam válidos. [Clientes de full node Ethereum](https://ethereum.org/en/developers/docs/nodes-and-clients) validam todas as transações em cada bloco, fornecendo à rede segurança e precisão de dados.

Cada cliente Ethereum vem com seu próprio conjunto de capacidades e vantagens. As implementações podem ser adaptadas a diferentes grupos de usuários devido à sua diversidade. Considere recursos, suporte, [linguagem de programação web3](https://www.alchemy.com/overviews/web3-programming-languages) e licenças ao escolher um cliente de nó Ethereum.

#### **Implementações de software de full node client \(clientes de execution layer\)**

Existem quatro tipos principais de implementações de full node client da execution layer:

1. **[Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) \(Go Ethereum\)** - escrito em Go
1. **[Nethermind](https://www.alchemy.com/dapps/nethermind)** - escrito em C\# e .NET
1. **Erigon** - escrito em Go
1. **Hyperledger Besu** - escrito em Java

Após o The Merge, quando a Ethereum transiciona de Proof-of-Work para Proof-of-Stake, cada full node precisará rodar um [consensus layer client](http://www.alchemy.com/overviews/execution-layer-and-consensus-layer-node-clients) em conjunto com um dos execution layer clients mencionados acima.

#### **Implementações de software de full node client \(clientes de consensus layer\)**

Existem cinco clientes principais de consensus layer:

1. **Prysm** - construído pela Prysmatic Labs em Go
1. **Teku** - construído pela equipe do Besu em Java
1. **Lighthouse** - construído pela Sigma Prime e escrito em Rust
1. **Nimbus** - construído pela equipe Nimbus, escrito em Rust
1. **Lodestar** - construído pela ChainSafe Systems em Typescript

## **O que é um light node?**

Um **light node** armazena dados de cabeçalho de bloco, como o hash do bloco anterior e um timestamp, em vez dos dados completos do bloco como faz um full node. Light nodes enviam requisições sob demanda para full nodes, validando apenas as partes do estado que seus usuários precisam.

Dispositivos de baixa capacidade, como computadores pessoais, podem se beneficiar de light nodes porque eles não realizam tarefas custosas de armazenamento e escrita de dados.

**Exemplos de casos de uso para light nodes incluem:**

1. Examinar saldos
1. Validar se uma transação foi confirmada pela rede
1. Verificar logs de eventos

Além de computadores pessoais, [light nodes](https://www.parity.io/blog/what-is-a-light-client/) também podem ser executados eficientemente em dispositivos de baixa capacidade como celulares ou Raspberry Pis.

## **O que é um archive node?**

Um [**archive node**](https://www.alchemy.com/overviews/archive-nodes) mantém todos os mesmos dados que um full node, além de todos os dados de estado histórico da blockchain desde o Genesis Block (ou seja, o primeiro bloco).

Embora full nodes possam reconstruir dados de estado antigos da blockchain, esse processo de sincronização é demorado e ineficiente. Esses dados podem precisar ser servidos rapidamente dependendo do caso de uso. No entanto, archive nodes conseguem [rastrear transações](https://www.alchemy.com/docs/node/trace-api/trace-api-endpoints/trace-block) já que possuem dados históricos desde o primeiro bloco.

Archive nodes podem armazenar gigabytes de dados passados, o que os torna menos desejáveis para o usuário comum, mas valiosos para provedores de serviços como block explorers, wallets e empresas de análise on-chain.

### **Erigon vs. Geth**

A implementação oficial em Golang para o protocolo Ethereum é o Go Ethereum \(ou Geth\). O Geth é o cliente Ethereum mais popular, tem o maior número de usuários, e fornece uma ampla gama de ferramentas baseadas em Go para desenvolvedores, todas open-source e licenciadas sob a GNU LGPL v3.

O Erigon é um fork do Geth focado em velocidade e economia de espaço em disco. O Erigon é uma implementação de cliente de nó Ethereum totalmente reestruturada, desenvolvida em Go, com planos de ser portada para outras linguagens no futuro. O Erigon busca entregar uma implementação Ethereum mais modular, mais rápida e mais simplificada.

[Em comparação com o Geth](https://medium.com/@giulio.rebuffo/silkworm-and-akula-the-future-of-erigon-fda4d6813505), com seu desenvolvimento paralelizado, armazenamento flat, pré-processamento e sincronização em etapas, o Erigon alcança footprints de armazenamento menores, velocidades de sincronização mais rápidas e, no geral, uma experiência melhor para desenvolvedores que precisam usar trace APIs.

### **Quais são as diferenças entre um full node e um archive node?**

A principal diferença entre um full node e um archive node é que o archive node mantém registro de todos os estados anteriores da chain \(ou seja, um retrato completo do [ecossistema Ethereum](https://www.alchemy.com/dapps/ecosystem/ethereum)\), enquanto um full node só precisa armazenar um snapshot dos dados de estado atuais.

Em outras palavras, archive nodes contêm todos os dados históricos desde o bloco um, enquanto full nodes contêm apenas os dados mais importantes e atuais necessários para validar novas transações, sendo que os dados de blockchain desnecessários são "podados" (pruned).

## **Como escolher o tipo certo de node**

Escolher o tipo certo de nó Ethereum para implantar depende do seu caso de uso e dos seus recursos, pois a configuração e a funcionalidade dos nós diferem significativamente.

Você pode usar a Ethereum de forma privada, autossuficiente e trustless rodando seu próprio nó. Você não precisa confiar na rede porque os dados podem ser verificados com seu próprio cliente de nó.

Um **full node** tem a vantagem de poder se comunicar diretamente com qualquer smart contract na blockchain pública. Smart contracts também podem ser implantados agora na blockchain pública por full nodes.

Uso ilimitado de dados, armazenamento e capacidades diretas de smart contract não são gratuitos, no entanto, e full nodes podem sobrecarregar os recursos de hardware e largura de banda da sua máquina.

**Archive nodes** armazenam todas as informações que um full node armazena e criam um histórico dos estados da blockchain. Mesmo depois que um cliente completa a sincronização, archive nodes continuarão salvando dados anteriores.

Se sua aplicação requer informações históricas da blockchain, você precisará rodar seu próprio archive node ou [escolher um provedor de node de blockchain](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider) que ofereça acesso a archive node.

**Light nodes** são comparáveis a full nodes, no entanto, lidam apenas com uma pequena quantidade de dados. O light node salva dados da cadeia de cabeçalhos, mas só recebe dados extras quando solicitado. Eles podem validar a validade dos dados, mas não participam totalmente da validação de blocos.

## **Infraestrutura de nós da Alchemy**

A Alchemy é um [provedor de infraestrutura de nós web3](https://www.alchemy.com/overviews/blockchain-node-providers) e uma plataforma para desenvolvedores blockchain que oferece aos devs web3 escalabilidade, estabilidade e precisão de dados turbinadas através do Supernode e do conjunto de ferramentas da Alchemy. O Supernode aprimora todos os aspectos da funcionalidade de nós usando sistemas distribuídos especializados e um serviço coordenador proprietário para garantir precisão de dados em tempo real.

Como os nós são de propósito geral e não são projetados para alta disponibilidade, aplicativos que [operam seu próprio nó](https://www.alchemy.com/overviews/running-your-own-node) podem apresentar latência e downtime acima da média em comparação a um provedor de nós.

### **Escalável, confiável e preciso**

O [Supernode](https://www.alchemy.com/supernode) da Alchemy oferece uma arquitetura de nós escalável com garantia de 99,99% de uptime, permitindo que desenvolvedores de dApps continuem escalando sem interrupção para seu produto ou usuários.

A infraestrutura de nós infinitamente escalável da Alchemy, sua confiabilidade e velocidade incomparáveis, e a [precisão de dados](https://www.alchemy.com/blog/data-accuracy) são usadas para dar suporte à **Polygon**, que se mostrou um catalisador de adoção, resultando em um aumento significativo no número de [apps](https://www.alchemy.com/dapps/top/defi-dapps) construídos na Polygon.

A **0x**, a espinha dorsal global para exchanges descentralizadas, que permite que centenas de bilhões de negociações fluam por todas as principais blockchains, confia na Alchemy para infraestrutura de nós confiável.

### **Acesso gratuito a archive node**

A Alchemy oferece um plano gratuito robusto que fornece acesso gratuito a archive tanto para mainnet quanto para testnets. Para saber mais sobre a Alchemy e obter acesso gratuito a archive, [cadastre-se para uma conta gratuita hoje](https://www.alchemy.com/?a=260a7bfa7d).
