Fundamentos da Blockchain - node
Neste artigo do blog, vamos falar sobre os fundamentos da tecnologia de blockchain do Bitcoin. Responderemos a perguntas como:
- O que é um node da blockchain?
- O que faz um node e porque é que é importante?
- O mineiro é um node?
- Qual é a diferença entre um node e um mineiro?
- Por que é que os nodes devem estar sempre atualizados?
O que é um node da blockchain?
O node é uma parte crucial da blockchain. Sem nodes, não há blockchain, pois os nodes são necessários para armazenar os dados da blockchain. Você pode ler mais sobre a blockchain neste artigo.
No momento em que este artigo foi escrito, havia cerca de 9700 nodes de Bitcoin ativos.
Full node
Um full node é basicamente um software executado num computador, normalmente Bitcoin Core é usado para Bitcoin. Pode ser um servidor, laptop ou PC desktop, desde que tenha armazenamento suficiente e possa armazenar todos os dados históricos. Os dados históricos da blockchain são todos os blocos anteriores na blockchain. No momento em que este artigo foi escrito, o tamanho da blockchain do Bitcoin era de cerca de 350 GB.
Um full node garante que as regras da blockchain estão a ser seguidas.

O que é que um node faz e por que é que eles são importantes?
Um node tem quatro funcionalidades básicas:
- Armazena os dados da blockchain
- Aceita ou rejeita as tentativas do minerador de adicionar um novo bloco à blockchain
- Sincroniza com outros nodes e transmite dados anteriores da blockchain para nodes recém-conectados.
- Gera endereços de carteira e transações
1. O node armazena todas as informações de transações anteriores da blockchain. No Bitcoin, cada bloco consiste no máx. 2 MB de dados que são adicionados à blockchain a cada 10 minutos aproximadamente. Depois de o bloco ser confirmado, todos os nodes são atualizados e o tamanho total da blockchain e a altura do bloco aumentam.
2. Quando o minerador tenta enviar um novo bloco para a blockchain, o node retransmite o bloco para todos os outros nodes na blockchain. Os nodes então aceitam ou rejeitam o novo bloco enviado pelo minerador.
3. Os nodes também partilham transações de bloco anteriores com outros nodes que estão a tentar sincronizar com os dados mais recentes. Todos os nodes armazenam os mesmos dados da blockchain. Os nodes impedem que um único (ou minoria) dos atores assuma o controle da rede, tornando-a descentralizada.
4. Um full node pode gerar endereços de carteira e transações na blockchain.
O mineiro é um node?
Um node minerador é um node completo que realiza um trabalho adicional validando as transações. Todos os mineradores são nodes, mas nem todos os npdes são mineradores.
Um node minerador usará hardware para adivinhar a combinação de letras e números necessários para enviar um novo bloco para a blockchain. Quando o bloco é submetido, todos os nós decidirão se a submissão é válida ou não.
Não confunda um minerador de software ou um minerador em execução no seu computador com um node minerador. O node minerador é mais frequentemente executado por pools aos quais outros mineradores (não os nodes mineradores) se conectam.

Qual é a diferença entre um node e um mineiro?
Um minerador não pode operar sem executar um node. Mas um node completo não é necessariamente um minerador.
Essencialmente, um node completo receberá, armazenará e transmitirá dados para outros nodes, enquanto um node minerador fará o mesmo, mas também tentará criar novos blocos de transações e tentará transmiti-los para outros nodes que então os aceitam ou rejeitam.
Todos os pools de mineração são basicamente nodes aos quais outros mineradores conectam seu poder de hash.
Por que os nodes devem estar sempre atualizados?
Um node deve sempre estar sincronizado com outros nodes. Se um node não está sincronizado com a maioria dos nodes, isso significa que ele está ficando para trás e não pode ser usado para confirmar blocos na blockchain.
Um node totalmente sincronizado fornece segurança, confiança e descentralização da blockchain, e isso é bom.
Se um node desonesto tentar transmitir uma transação falsa para tentativas maliciosas, o node será desconectado da blockchain pelos nodes honestos.
