Criando seu próprio full node
Como executar sua própria cópia da blockchain com Umbrel e também ter um servidor caseiro com várias utilidades
Nada como voltar ao básico do bitcoin e fazer algo que todo bitcoinheiro sério deveria fazer antes de se preocupar com Michael Saylor, ETFs e produtos financeiros: rodar um full node próprio em casa e entender melhor como funciona a rede.
Felizmente hoje em dia ter um node é algo extremamente simples que pode ser feito sem maiores dificuldades, sem precisar rodar linha de comando linux ou nada disso. Claro, se você tem bastante conhecimento sobre o assunto você pode optar por simplesmente instalar e executar tudo que for necessário no seu raspberry pi ou algo parecido, mas a idéia aqui é simplesmente mostrar como é simples configurar tudo através do Umbrel.
Para que serve um full node?
A rede do bitcoin é totalmente descentralizada, de maneira que cada usuário que decide rodar um full node carrega uma cópia completa de todo o histórico do blockchain, consegue se conectar com outros nodes, recebe as transações atuais, valida todas as informações e propaga transações depois de validá-las. Imagine que cada node é um contâiner completo que verifica tudo que já aconteceu e que está acontecendo, sem a necessidade de algum serviço externo ou de algum outro node “mais poderoso“.
Na data desse post era possível estimar cerca de 22 mil nodes “públicos“ e 14 mil nodes “privados“ (indetectáveis diretamente, rodando através da rede TOR que traz muito mais privacidade). Podem existir ainda muito mais nodes ocultos, tornando-se impossível de realmente calcular todos eles (o que também é ótimo).
Então, por que uma pessoa rodaria um node diretamente se já existem vários deles e alguns são públicos? Existem algumas boas razões:
Rodar seu próprio node aumenta a sua privacidade, pois você poderá transmitir suas transações através dele e não através de nodes de terceiros, que podem registrar alguns dados seus sem você saber e cruzar com a sua transação (como seu IP, localização etc)
Você valida toda a blockchain desde o seu começo, não dependendo de ninguém para te dizer o estado atual da rede bitcoin
Você pode usar ferramentas especializadas em trazer métricas da rede como o mempool.space localmente e também utilizar scanners para acompanhar o status de transações sem precisar comprometer sua privacidade (por exemplo, se você quer monitorar o saldo de um endereço seu você depende também de terceiros que podem anexar informações suas aos endereços que você monitora)
Você pode rodar um node lightning com total autonomia, abrindo e fechando canais com diversos provedores
É divertido!
Qual a melhor opção para rodar um node caseiro?
Essa é uma pergunta muito comum e a resposta infelizmente é: depende. Se você tem por exemplo um notebook velho você poderia adaptá-lo a se tornar um node dedicado sem maiores problemas. Existem aqueles que também optam por equipamentos de baixo custo, como o famoso Raspberry Pi. Embora esses devices mais baratos sirvam bem, eles são bastante limitados em desempenho e ficam sobrecarregados facilmente caso você queira instalar mais utilitários além do básico.
Portanto nesse tutorial eu vou fugir um pouco do que é mais comum e recomendar que você obtenha um mini-pc com um desempenho razoável para utilizar como full node de bitcoin mas também para mais tarefas como proteger sua rede doméstica com bloqueadores de anúncios e malwares, cloud próprio de fotos e arquivos, até mesmo rodar algum GPT offline de forma privada. Por conta disso, esse tutorial vai exigir que você tenha um dinheirinho extra pra gastar aqui.
O que eu vou precisar?
Um mini PC de bom desempenho
Um SSD de 2Tb de armazenamento
Um pendrive qualquer com no mínimo 4Gb
Caso você já tenha algum notebook mais velho encostado e queira transformá-lo em um full node, basta dar um upgrade no armazenamento para 2Tb. O storage é o mais importante aqui, eu já rodei full node com armazenamento em HDD comum e a performance fica uma porcaria.
Para o mini PC eu recomendo que você adquira no MercadoLivre os modelos da Lenovo usados que vem em excelente estado e são muito mais baratos do que adquirir um modelo novo. Eles são bastante compactos, consomem pouca energia e tem um desempenho excelente (busque “mini pc lenovo)“:
Nenhum deles vem com o storage de 2Tb, então você pode optar pelos mais baratos que tem menos espaço em disco já que você vai ter que trocar de qualquer maneira. 8Gb de RAM é mais do que o suficiente para a maioria das coisas, mas se a diferença for pequena pegue 16Gb (também dá pra expandir depois). A maioria deles vem com o processador Intel i5, que também é mais do que o suficiente pra rodar o node com tranquilidade.
Para o storage eu recomendo um SSD de ótima qualidade, nada de comprar aqueles xing-ling no aliexpress porque a maioria dá problema em pouquíssimo tempo de uso, e os nodes realizam muitas operações de leitura e escrita.
Esses modelos da Lenovo são compatíveis com SSDs do modelo NVM (aquele acima que parece um pente de memória) mas os convencionais são mais baratos e já fornecem um desempenho ótimo.
Os tutoriais acima são para diferentes modelos mas geralmente eles compartilham o mesmo design interior. Basta seguir as instruções para instalar o seu HD novo e deixar sua máquina pronta.
Você pode usar tanto um cabo de rede para ligar o seu novo mini PC à internet ou usar o Wi-fi.
Instalando o Umbrel
Para instalar o Umbrel no seu pc novo, basta preparar o seu pendrive.
Baixe a última versão do Umbrel através desse link: https://download.umbrel.com/release/latest/umbrelos-amd64-usb-installer.iso
Se você estiver usando Windows, baixe um programa chamado Balena Etcher para transformar seu pendrive em um instalador do UmbrelOS
Abra o Balena Etcher, selecione a imagem do Umbrel e instale no seu pendrive
É basicamente isso! Plugue o pendrive no seu mini PC e siga os passos da instalação. Conecte seu teclado, mouse e monitor para fazer o setup inicial. É bem intuitivo mas em caso de dúvidas siga o roteiro oficial:
https://github.com/getumbrel/umbrel/wiki/Install-umbrelOS-on-x86-Systems
Após o boot, o Umbrel vai te pedir para criar uma senha forte de acesso, e a partir daí você já consegue acessar a interface do Umbrel através de qualquer outro device conectado à mesma rede, sem necessidade de plugar mais nada diretamente no seu mini PC.
Com o Umbrel pronto, instale o Bitcoin Core através da store:
Ao mandar instalar o Bitcoin Core, seu node será iniciado. Ele irá conectar com alguns outros nodes e começará a receber todos os blocos do bitcoin, desde o bloco genesis até o mais atual. Nesse processo seu node também irá validar todas as informações recebidas, fazendo um trabalho de verificação do ínicio ao fim!
Como esse seu novo Mini PC tem um ótimo hardware, esse trabalho provavelmente será concluído em menos de 2 dias.
Conectando sua wallet diretamente no seu node
Agora é hora de se conectar ao seu novo full node e apreciar um mundo de privacidade. A maioria dos programas mais comuns para gerenciamento de carteiras permite essa conexão direta a um node privado, até os de celular. Para cada um deles você vai achar tutoriais no youtube de como realizar essa configuração. Eu recomendo que você instale também o Electrum Server, pois várias wallets conectam através da interface do Electrum ao invés de utilizarem o Bitcoin Core. Procure por “electrs“ na store:
Ao abrir o app do Electrs, você verá uma barra de progresso que é o status atual do seu electrum server. Ele também precisa fazer uma configuração inicial para indexar todas as informações que ele lê do seu Bitcoin Core. Basta sentar e esperar. Depois de pronto você terá as credenciais de acesso tanto via rede local quanto via TOR:
Aqui é um exemplo de como eu conecto diretamente minha instalação da Sparrow no meu próprio node através da rede local, apenas apontando para o endereço IP do meu umbrel. Muito simples:
Com o Umbrel pronto, o céu é o limite. Você pode explorar todas as opções da App Store e buscar tutoriais diversos de cada ferramenta. É possível até criar um servidor próprio de mídia para assistir aquelas séries e filmes sem precisar mais pagar por streaming. O full node é apenas um pedaço do que é possível fazer com um servidor doméstico desse tipo.
Você também pode criar seu próprio node lightning, mas essa fica para um próximo post.
Até a próxima!
Rodo meu nó em um SSD xing ling, está ativo há 4 anos (não é recomendação, pode ter sido sorte rs).
Incrível!!!