May 30, 2022

O que são os Nodes?

A definição do que é um node (nó) pode variar de acordo com o contexto usado. Quando se trata de redes de computadores ou de telecomunicações, nodes oferecem propostas diferentes, agindo tanto como um ponto de redistribuição ou um terminal de comunicação. Normalmente, um node é representado como dispositivo de uma rede física, mas existem alguns casos específicos em que nodes virtuais são usados.

De forma simples, um node de rede é o ponto onde uma mensagem pode ser criada, recebida ou transmitida. Assim, discutiremos os diferentes tipos de nodes do Bitcoin: nodes completos, super nodes, nodes de mineração e de clientes SPV.

Os nodes do Bitcoin

Mergulhando no contexto das blockchains – que são desenhadas como sistemas distribuídos – uma rede de computadores é o que torna possível o uso do Bitcoin como uma moeda digital descentralizada Peer-to-Peer (P2P ou ponto-a-ponto) que é resistente à autoridades desde a concepção e não necessita de um intermediário para ser transacionada por usuários (não importa qual a distância entre eles).

Portanto, os nodes de uma rede blockchain são responsáveis por agir como um ponto de comunicação que podem ter diferentes funções. Quaisquer computadores ou dispositivos que se conectem à interface do Bitcoin, podem ser considerados nodes no sentido de que se comunicam entre si de alguma forma. Esses nodes também são capazes de transmitir informações à respeito das transações e blocos dentro de uma rede de computadores ao usar o protocolo ponto-a-ponto do Bitcoin. Entretanto, cada computador é definido de acordo com sua função particular, então existem diferentes tipos de nodes dentro do Bitcoin.

Full nodes

Os full nodes são aqueles que realmente dão suporte e segurança ao Bitcoin, sendo indispensáveis à rede. Esses nodes também são conhecidos como full validating nodes (nós de validação total) já que entram no processo de verificação dos blocos e transações seguindo as regras do algoritmo de consenso. Os full nodes também são capazes de retransmitir novos blocos e transações para a blockchain.

Normalmente, um full node faz download de uma cópia da blockchain do Bitcoin contendo cada bloco e transação, mas isso não é um requisito para ser tornar um full node (uma cópia reduzida da blockchain pode ser usada no lugar da completa).

Um node do Bitcoin pode ser estabelecido por meio de diferentes implementações de software, mas a forma mais popular e usada é o Bitcoin Core. Esses são os requisitos mínimos para rodar um full node de Bitcoin Core:

  • Computador de mesa ou notebook com a versão mais recente do Windows, Mac OS X, ou Linux.
  • Espaço livre no HD de 200GB.
  • 2GB de memória (RAM)
  • Conexão de internet de alta velocidade e taxa de upload com pelo menos 50 kB/s.
  • Uma conexão de internet com alto limite de banda para uploads. Os full nodes podem chegar ou até ultrapassar a faixa dos 200GB/mês e download de 20GB/mês. E também é necessário baixar ~200Gb assim que começar o seu full node.
  • Um full node deve estar ativo por pelo menos 6 horas todos os dias. É melhor ainda se deixá-lo rodando continuamente, 24 horas por dia, 7 dias por semana.

Algumas organizações voluntárias e usuários estão rodando full nodes de Bitcoin como uma forma de ajudar o ecossistema. Atualmente, temos aproximadamente 9.700 nodes públicos rodando na rede. Note que esse número só inclui os nodes públicos, que se referem ao nodes que estão listados como visíveis e acessíveis (ou nodes receptíveis).

Além dos nodes públicos, existem vários outros que são invisíveis (nodes não receptíveis). Esses nodes usualmente operam por trás de um firewall, por meio de protocolos como o Tor, ou simplesmente por que eles foram configurados para não receber conexões.

Nodes receptíveis (super nodes)

Essencialmente, um node receptivo ou super node é um full node que está publicamente visível. Ele se comunica e entrega informações para qualquer outro node que estabeleça uma conexão mútua. Consequentemente, o super node é basicamente um ponto de redistribuição que pode funcionar como fonte de informações e ponte de comunicação ao mesmo tempo.

Um super node confiável normalmente roda todos os dias e tem várias conexões estabelecidas, transmitindo as informações e transações da blockchain para vários nodes ao redor do globo. Por essa razão, um super node vai provavelmente requisitar um poder computacional e conexão à internet de maior capacidade ao contrário do full node que permanece escondido.

Nodes de mineração

Para conseguir minerar Bitcoins no cenário atual que é muito competitivo, o interessado precisa investir em equipamento e programas especializados para tal objetivo. Esses programas de mineração (software) não estão diretamente relacionados ao Bitcoin Core e devem ser executados de forma paralela para tentar minerar blocos do Bitcoin. Um minerador pode escolher trabalhar sozinho (minerador solitário) ou em grupos conhecidos como miner pools (piscinas de mineração).

Enquanto os mineradores solitários de full nodes usam uma cópia própria da blockchain, pool miners trabalham juntos, cada um contribuindo com seu poder computacional individual (hashpower). Numa mining pool, só o administrador dela precisa atender ao requisito de rodar um full node – conhecido como pool miner's full node.

Clientes lightweight ou SPV

Mais conhecido como clientes de Verificação Simples de Pagamento (Simplified Payment Verification) ou SPV, os clientes lightweight (leves) são aqueles que fazem o uso da rede Bitcoin, mas não agem como full nodes. Portanto, clientes SPV não contribuem para a segurança da rede simplesmente porque não têm uma cópia da blockchain e não fazem parte do processo de verificação e validação de transações.

De forma curta, SPV é o método pelo qual determinado participante pode checar se algumas transações foram incluídas ou não em algum bloco, sem precisar baixar as informações totais do mesmo. Logo, clientes SPV dependem da informação fornecida por outros full nodes (super nodes). Os clientes lightweight funcionam como terminais de comunicação e são usados por várias carteiras de criptomoedas.

Clientes vs nodes de mineração

É importante notar que rodar um full node normal não é a mesma coisa que rodar um full node de mineração. Enquanto mineradores precisam investir em peças e programas de computador extremamente caros, qualquer pessoa consegue rodar um simples full node. Mais ainda, antes de tentar minerar um bloco, o minerador precisa juntar um número de transações pendentes que foram previamente aceitas como válidas pelos full nodes. Depois, o minerador cria um bloco candidato (com um grupo de transações) e tenta minerar esse bloco. Se o minerador conseguir encontrar uma solução válida para a prova matemática desse bloco, ele transmite-o para a rede e os outros full nodes fazem a verificação da validade desse bloco. Portanto, as regras de consenso são determinadas e protegidas pela rede distribuída de blocos validados e não pelos mineradores.

Considerações finais

Os nodes do Bitcoin comunicam-se entre si pelo protocolo P2P da rede e, ao fazê-lo, garantem a integridade do sistema. Um node que age de forma desonesta ou tenta propagar informações incorretas é rapidamente descoberto pelos honestos e acaba sendo desconectado da rede.

Apesar do fato de que rodar um full node de validação não tem nenhuma recompensa financeira, é altamente recomendável tomar essa atitude com intuito de proporcionar confiança, segurança e privacidade para todos os usuários da rede. Os full nodes garantem que as regras estão sendo sempre seguidas. Eles protegem a blockchain contra ataques e fraudes (como o duplo gasto). Em adição, um full node não precisa confiar em outros e permite ao usuário total controle do seu dinheiro.

✅ Para mais informações, entre no nosso Grupo do Telegram:

🔵 https://t.me/casadacriptomoeda_public