Pular para o conteúdo
0%

Prós e contras de rodar seu próprio node

Alchemy team headshot

Escrito por Alchemy

Publicado em 26 de março de 20236 min de leitura

Executar um nó significa instalar um software "cliente" em uma máquina, que fará o download, a verificação e a propagação de novos blocos pela rede blockchain.

Atualmente existem dois tipos de software de nó cliente: clientes de execução e clientes de consenso. Os clientes da camada de execução são responsáveis por gerenciar o estado geral do blockchain e completar transações, e os clientes da camada de consenso são responsáveis por verificar transações.

Para propagar transações pela rede, os nós usam uma série de protocolos de rede P2P para descobrir novos nós, estabelecer conexões seguras e sincronizar estado, blocos e transações agrupadas.

Você deve executar seu próprio nó ou usar um cluster gerenciado?

Executar seus próprios nós dá controle total sobre o software, a configuração e o hardware do nó, mas é um compromisso operacional permanente. Manutenção, tempo e confiabilidade passam a ser trabalho do seu time (as desvantagens estão detalhadas abaixo). A alternativa é um cluster gerenciado: nós single-tenant que um provedor opera para você, oferecendo boa parte do controle de executar seus próprios nós sem a carga operacional, como os Dedicated Clusters da Alchemy.

Execute seu próprio nó quando precisar de controle em nível de sistema que nenhum provedor expõe. Use um cluster gerenciado quando quiser isolamento single-tenant, implantação em regiões específicas ou tracers customizados sem montar um time de infraestrutura. Para uma comparação lado a lado, veja nosso guia para escolher entre infraestrutura compartilhada e dedicada.

O que é um nó Ethereum?

Um nó Ethereum é um nó que opera na blockchain Ethereum, e é um de três tipos principais: nós leves, nós completos e nós de arquivo.

1. Nó completo

Um cliente de nó completo verifica todas as transações em cada novo bloco, ajuda a garantir que a rede esteja segura e que os dados das transações sejam válidos.

2. Nó leve

Um nó leve 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 nó completo.

Nós leves enviam solicitações sob demanda para nós completos, validando apenas as partes do estado que seus usuários necessitam.

3. Nó de arquivo

Um nó de arquivo mantém os mesmos dados que um nó completo, além dos dados de histórico completo do blockchain desde o Genesis Block (ou seja, o primeiro bloco).

Por que executar um nó Ethereum RPC?

Desenvolvedores Web3 podem optar por executar um nó Ethereum RPC para ler e escrever dados no blockchain. Alguns desenvolvedores optam por executar seus próprios nós para personalizar a configuração do nó, aumentar a segurança e fazer otimizações em nível de sistema que não são possíveis usando nós compartilhados ou dedicados com um provedor RPC.

Quais são os benefícios de executar seu próprio nó Ethereum?

Existem quatro benefícios principais em executar um nó Ethereum: privacidade e segurança, resistência à censura, descentralização e soberania.

1. Privacidade e segurança

Ao usar nós compartilhados, suas transações compartilham o mesmo hardware com outras empresas, o que pode representar um risco de conformidade ou segurança para o seu produto específico.

Algumas equipes preferem nós dedicados, seja executando seus próprios nós para garantir isolamento e autonomia completos, seja usando um provedor de nós que oferece nós dedicados.

2. Resistência à censura

Manter seu próprio nó permite garantir a transmissão de transações para o resto da rede a qualquer momento. Se você usar nós de terceiros, os provedores podem potencialmente bloquear transações de seu endereço IP específico ou bloquear transações para endereços de smart contract específicos.

3. Descentralização

Executar seu próprio nó significa que você não depende de um provedor de infraestrutura centralizado para operar seu nó. No entanto, existem vetores adicionais de centralização a considerar, como o provedor de nuvem escolhido (por exemplo, AWS, GCP, etc.), ou, se você estiver executando uma configuração bare metal, a localização do servidor (por exemplo, Virginia, Alemanha, etc.).

No caso de uma interrupção no seu data center ou com seu provedor de nuvem, desenvolvedores web3 que gerenciam seus próprios nós devem avaliar seus provedores, construir uma configuração tolerante a falhas e documentar um plano de continuidade de negócios.

4. Soberania

Desenvolvedores que executam seus próprios nós têm controle total para escolher seus clientes de software de nó preferidos, como esses clientes de nó são configurados, a quantidade e o tipo de hardware, e outras decisões específicas de hardware.

Esse nível de flexibilidade pode significar melhor desempenho para casos de uso específicos de aplicações web3 em que um provedor de nó RPC não consegue oferecer as mesmas escolhas granulares sobre configurações de hardware e software.

Rodar seu próprio node vs. usar um node provider
Um diagrama mostrando como rodar um node é diferente de usar um node provider como o Alchemy.

Quais são algumas desvantagens de executar seu próprio nó?

Existem três principais desvantagens de executar um nó por conta própria em comparação com o uso de um provedor de nó RPC: custos de manutenção, custos de tempo e custos de confiabilidade.

1. Custos de manutenção

Executar seu próprio nó completo requer hardware dedicado (por exemplo, RAM, armazenamento, etc.) para fazer o download, validar e armazenar informações de transações. Manter o hardware para suportar níveis variáveis de uso do produto é importante para equilibrar capacidade e tolerância a falhas para seus clientes sem gastar demais.

Os custos de manutenção de executar um nó dependerão fortemente de você usar um provedor como a Amazon Web Services, executar um servidor bare-metal, o tempo de engenharia, e a quantidade de recursos de hardware e largura de banda que sua aplicação específica precisa.

2. Custos de tempo

Executar e manter nós de blockchain pode envolver muitos problemas técnicos, o que pode ser difícil e demorado para iniciantes.

Para startups web3 com financiamento e tempo de engenharia limitados, dedicar uma quantidade não trivial de recursos de engenharia para gerenciar sua própria infraestrutura tem como custo não focar na construção da funcionalidade principal de seu produto.

Além disso, à medida que seu produto web3 cresce, seus recursos de engenharia também precisarão crescer para manter uma frota de nós autogerenciados confiáveis, garantindo tempo de atividade e capacidade para suportar usuários adicionais.

3. Custos de confiabilidade

Startups que consideram executar seu próprio nó enfrentam vários problemas de confiabilidade, como bugs em atualizações de software, picos de CPU, vazamentos de memória, problemas de disco, peering inconsistente e precisão de dados em uma frota de nós.

Nós não confiáveis não apenas tiram tempo de engenheiros que poderiam estar construindo a funcionalidade principal do produto, mas também impactam diretamente a experiência do usuário.

Quando os nós ficam fora do ar, os usuários não conseguem usar seu produto, o que traz várias implicações potenciais, como usuários migrando para produtos alternativos.

4 maneiras pelas quais a Alchemy ajuda desenvolvedores Web3 com infraestrutura de nós

Alchemy é a principal plataforma de desenvolvimento web3, dando suporte às principais aplicações descentralizadas em chains como Ethereum, Polygon, Optimism, Arbitrum, entre outras.

Abaixo está uma lista de ferramentas que a Alchemy construiu para garantir que os desenvolvedores tenham acesso a infraestrutura de nós confiável e ferramentas de desenvolvimento de primeira linha.

Cortex engine da Alchemy

O Cortex engine da Alchemy alimenta nossa infraestrutura de nós, substituindo nós de blockchain autogerenciados por uma frota de nós com a qual os desenvolvedores interagem por meio de um único endpoint.

O Cortex oferece vantagens importantes:

  • 99,9% de confiabilidade
  • Escalabilidade dinâmica
  • Precisão dos dados
  • Sem tempos de configuração ou sincronização
  • Testnets
  • APIs aprimoradas
Visão simplificada da arquitetura Cortex do Alchemy.
Visão simplificada da arquitetura Cortex do Alchemy.

‍

Alchemy build

A Alchemy também fornece um conjunto interno de ferramentas de desenvolvimento para identificar erros e lançar produtos mais rápido do que nunca. Com o Alchemy Build, os desenvolvedores podem pesquisar instantaneamente milhões de requisições, visualizar transações do mempool em tempo real, fazer chamadas JSON-RPC diretamente do navegador, entre outras funcionalidades.

O conjunto de ferramentas de desenvolvimento do Alchemy Build inclui:

  • Composer - teste chamadas de API em tempo real a partir de uma interface online simples
  • Explorer - pesquise requisições históricas para depurar transações
  • Mempool Visualizer - veja o estado em tempo real das transações no mempool
Alchemy Build a partir do developer dashboard.
Alchemy Build a partir do developer dashboard.

Alchemy monitor

A Alchemy ajuda a monitorar a saúde de suas aplicações com um centro de comando robusto para verificar instantaneamente tempos de resposta, análises de uso, insights e alertas, além de relatórios diários, para que você nunca perca o contato.

A ferramenta de monitoramento da Alchemy fornece aos desenvolvedores:

  • Monitoramento e alertas de aplicações
  • Dashboard com detalhes em nível de aplicação
  • Visualizações geográficas para saber onde seus usuários estão localizados
  • Medição de uso para entender como sua aplicação está sendo usada

‍Suporte Alchemy

A Alchemy oferece suporte especializado e prático, e mantém a Alchemy Status Page para manter os usuários atualizados sobre o status de nossas APIs.

  • 98% de pontuação em Satisfação do Cliente (CSAT)
  • Acesso a Customer Product Engineers
  • Conexões com outras pessoas do setor

Para solicitações urgentes, envie um ticket de suporte para support@alchemy.com!

Background gradient

Construa magia blockchain

A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.