---
title: "O que é um node Ethereum?"
description: "Um node Ethereum é simplesmente qualquer computador rodando o software necessário para se conectar à rede Ethereum."
---

## Definição e aplicação

Um nó Ethereum é simplesmente qualquer computador rodando o software necessário para se conectar à rede Ethereum. Os nós se conectam uns aos outros para trocar informações e validar transações e armazenar dados sobre o estado da blockchain.

Embora os termos sejam frequentemente usados de forma intercambiável, esses computadores conectados são os nós, e o software que eles executam é chamado de client.

‍

## Por que os nós são importantes para a Web3?

<ImageBlock
  src="https://media.alchemy.com/1704163825-blockchain-nodes.gif"
  alt="Animação de nós de blockchain se conectando na rede Ethereum"
  width={2500}
  height={1700}
  priority
/>

Os nós compõem a rede blockchain e são a única forma de acessá-la.

Cada nó mantém sua própria cópia da blockchain e trabalha para garantir que essa cópia esteja de acordo com as de todos os outros nós. Sempre que algo acontece e um novo bloco precisa ser adicionado à blockchain, todos os nós da rede precisam processá-lo.

<ImageBlock
  src="https://media.alchemy.com/1704163859-blockchain-nodes-2.gif"
  alt="Animação de nós de blockchain chegando a um consenso sobre um novo bloco"
  width={2500}
  height={1700}
/>

Cada nó decide aceitar ou rejeitar o bloco mais recente com base na validade de suas assinaturas e transações. Se o bloco for aceito, ele continua sendo compartilhado com outros nós até que um consenso seja alcançado e todos estejam sincronizados. Os nós conseguem rejeitar rapidamente blocos inválidos e identificar nós ruins que tentam quebrar as regras. É essa rede de nós se comunicando constantemente que torna possível não depender de uma única fonte de verdade e de todos os problemas que vêm com isso.

Esse consenso entre os diferentes nós torna as redes blockchain descentralizadas e é a espinha dorsal da Web3. Quanto mais nós rodando, mais forte a blockchain se torna!

‍

## Quais são os diferentes tipos de nós?

Existem três tipos de nós:

- light nodes
- full nodes
- archive nodes.

Um _light node_ baixa apenas os cabeçalhos de bloco, que são o mínimo de dados necessários para transacionar na rede. Um light node consegue validar uma transação porque é capaz de regenerar o bloco específico que precisa verificar usando esses dados.

Isso permite que os light nodes interajam com a rede de forma eficiente e economizem megabytes de largura de banda e gigabytes de armazenamento. Por causa disso, os light nodes podem rodar em dispositivos comuns com recursos de memória limitados, como smartphones e laptops.

Mas os light nodes também têm suas limitações. Às vezes, eles precisam pedir dados aos full nodes que não têm acesso, o que pode levar mais tempo do que um full node validando a transação.

Embora o light node seja a forma mais fácil de rodar um nó, ainda leva tempo e conhecimento técnico instalar o client, configurar variáveis, baixar os cabeçalhos de bloco e verificar se tudo está funcionando corretamente.

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 200, title: "Light Node", dataType: "object" },
      { key: "2", width: 200, title: "Full Node", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p>Block Headers</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Block Headers</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p>Full Block State</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Full Block State</p>", tooltip: "", icon: "" },
        id: 1,
      },
    ],
  }}
/>

Um _full node_ tem tudo o que precisa para verificar se os blocos na rede estão corretos. Ele consegue interagir com qualquer [smart contract](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) e implantar o seu próprio.

O uso e armazenamento completos de dados significam que os full nodes exigem muito mais recursos de computação e largura de banda. Um full node baixa, armazena e verifica o estado completo da blockchain - tudo desde o bloco zero até o bloco mais recente (\+10M e contando), o que pode levar semanas para sincronizar!

Um _archive node_ vai um passo além do full node. Enquanto um full node descarta entradas que não precisa mais para verificar as interações mais recentes com a chain, o archive node mantém tudo (terabytes de dados extras). Esses detalhes são ótimos para consultar informações de forma mais eficiente e úteis para algumas aplicações, mas são excessivos na maioria dos casos.

‍

## Por que rodar um nó é difícil?

Colocar um nó em funcionamento pode ser um processo longo e desafiador. Isso é especialmente verdade se você é novo no mundo Web3 e não tem experiência técnica (pelo menos, [ainda não](https://www.web3.university/)).

Só o tempo que um full node pode levar - semanas - para sincronizar com os mais de +10M nós existentes ao estado atual da blockchain já pode afastar muita gente de construir nesse espaço.

Os custos também são um fator, e podem se acumular rapidamente. Isso inclui o alto investimento inicial para comprar hardware e os custos contínuos de eletricidade e hospedagem de servidor. Ao operar um nó, você também precisa garantir que ele esteja em funcionamento constante. Internet lenta, quedas de energia ou problemas de hardware podem causar downtime custoso.

Embora as [atualizações de client](https://www.alchemy.com/docs/internal-playbook-upgrading-ethereum-nodes) ajudem a melhorar constantemente a escalabilidade, a segurança e a sustentabilidade do Ethereum, essas mudanças podem gerar problemas inesperados. E os [problemas](https://www.alchemy.com/case-study/augur) realmente começam quando você tenta construir algo maior!

‍

## Quais são alguns problemas ao escalar nós Ethereum?

Os nós Ethereum nunca foram realmente projetados para escalar a esse nível de requisições e podem apresentar alguns desafios únicos.

### Confiabilidade

Algumas requisições pedem ao nó para consultar tudo, desde o log zero até o bloco atual, e podem sofrer timeout. Essas "queries of death" podem derrubar um nó e podem acontecer a qualquer hora do dia. Mesmo que um nó tenha 72% de confiabilidade, como um nó padrão, isso significa que uma aplicação pode ficar offline por mais de cem dias por ano!

### Escalabilidade

Escalar a infraestrutura de nós pode ser complicado. Imagine que a aplicação que você está construindo viraliza da noite para o dia no Twitter, mas os nós existentes que você está rodando não conseguem acompanhar o aumento repentino de tráfego e volume de transações.

Você não pode simplesmente colocar novos nós no ar rapidamente, porque eles levam semanas para sincronizar. Além disso, a nova demanda pode sobrecarregar seus nós existentes e fazer com que travem. Isso pode resultar em downtime, no qual ninguém consegue usar sua aplicação, e usuários insatisfeitos que acham que não podem confiar no que você construiu!

### Consistência de dados

Na Web2, os sites conseguem contornar esses problemas de escalabilidade usando load balancers, uma camada de rede que fica no topo e distribui o tráfego entre servidores indistinguíveis. Isso não é possível com nós porque a blockchain é assíncrona. Embora dois nós eventualmente devam compartilhar um bloco mais recente idêntico, em um determinado momento, um pode estar atrasado em relação ao outro.

O balanceamento de carga pode levar a dois resultados muito diferentes, porque o tráfego é roteado por nós diferentes com visões diferentes sobre o bloco mais recente. Imagine comprar aquele [NFT](https://www.alchemy.com/nfts) que você tanto queria e, ao atualizar a página, descobrir que ele parece ter desaparecido!

<ImageBlock
  src="https://media.alchemy.com/1704164101-load-balanced-nodes.gif"
  alt="Diagrama de nós de blockchain com balanceamento de carga retornando dados inconsistentes"
  width={583}
  height={588}
/>

Tentar evitar esse tipo de inconsistência de dados leva as equipes de desenvolvimento a montar soluções alternativas complexas que [inevitavelmente causam erros e derrubam a aplicação](https://www.alchemy.com/case-study/bamboo-relay). Todos esses problemas significam que, ao lidar com nós, os desenvolvedores geralmente precisam escolher entre escalar, manter a confiabilidade ou garantir a consistência dos dados, o que resulta em uma experiência menos que ideal para todos.

‍

## Quando usar node-as-a-service?

Se tudo isso parece um pouco esmagador, não se preocupe! Seja você alguém que está apenas começando ou que acha que está gastando tempo e dinheiro demais com problemas de nós, o node-as-a-service pode ser a solução para você.

Provedores de nós como a Alchemy rodam os nós para que você possa se concentrar em desenvolver sua aplicação. É incrivelmente fácil integrar a maioria dos provedores - geralmente é só uma API para começar a ler e escrever na blockchain.

Isso significa que, em vez de ter que pagar por acesso a servidor, atender a requisitos de hardware e manter o estado por conta própria, você pode usar a [infraestrutura Supernode da Alchemy](https://www.alchemy.com/supernode?a=8defd86d30)…

<ImageBlock
  src="https://media.alchemy.com/1704164125-alchemy-supernode-infra.png"
  alt="Diagrama da infraestrutura Alchemy Supernode para acesso escalável a nós Ethereum"
  width={800}
  height={804}
/>

… com uma [única linha de código](https://www.alchemy.com/docs/alchemy-quickstart-guide).

<ImageBlock
  src="https://media.alchemy.com/1704164613-alchemy-code-api-key.jpg"
  alt="Trecho de código conectando ao Ethereum com uma chave de API da Alchemy"
  width={4441}
  height={522}
/>

A Alchemy consegue garantir uma correção de dados turbinada por meio de um serviço coordenador proprietário e confiabilidade de primeira linha. Isso é feito por meio de um sistema dedicado e distribuído que permite escalar rápida e perfeitamente para ajudar você a construir melhor e lançar mais rápido.

> "Usar seu próprio nó ou um serviço propenso a erros significa desperdiçar centenas de horas valiosas de engenharia em problemas que não têm nada a ver com a sua empresa. Nada se compara ao incrível nível de confiabilidade, velocidade e suporte da Alchemy." - Alex Atallah, CTO da [OpenSea](https://www.alchemy.com/dapps/opensea)

[Empresas e projetos blockchain líderes](https://www.alchemy.com/customers) como OpenSea, Dapper Labs, 0x, Royal, Axie Infinity, e centenas de outros escolhem a Alchemy por conta de nossa confiabilidade incrivelmente alta, atendimento ao cliente lendário e conjunto incrível de produtos que tornam [construir na Web3](https://www.alchemy.com/docs/alchemy-quickstart-guide) mais acessível do que nunca.

<ImageBlock
  src="https://media.alchemy.com/1704164710-alchemy-portfolio.png"
  alt="Logotipos de empresas que constroem na Alchemy, incluindo OpenSea e Dapper Labs"
  width={1600}
  height={370}
/>

[Crie uma conta na Alchemy](https://www.alchemy.com/?a=8defd86d30) e comece a construir agora mesmo, sem se preocupar com nós! Se você tem interesse em saber mais sobre como a Alchemy pode ajudar na sua jornada de construção na Web3, confira nossa documentação [Getting Started With Alchemy](https://www.alchemy.com/docs/alchemy-quickstart-guide) e fale com a gente 24/7 no nosso [Alchemy Discord](https://discord.com/invite/mMGsVgd).
