Criptomoedas do Zero: Entendendo como Funciona a Mineração
Desmistificamos o processo de mineração de criptomoedas, desde o Proof of Work até as alternativas como Proof of Stake, explicando a importância da dificuldade de mineração e como ela é ajustada para manter a estabilidade da rede. Analisamos também a ameaça do ataque de 51% e como as redes se protegem.
MundiX News·27 de maio de 2026·10 min de leitura·👁 11 views
Neste artigo, vamos explorar como o blockchain chega a um consenso, o que é Proof of Work (PoW) e suas alternativas. Entenderemos por que a mineração é necessária, por que a dificuldade de mineração muda constantemente e por que um ataque de 51% não é um caminho fácil para o dinheiro, mas sim uma maneira muito cara de causar um desastre financeiro.
No início dos anos 2000, a mineração de Bitcoin parecia uma aventura estranha: usuários executavam um programa baixado da internet em seus computadores, os ventiladores começavam a zumbir como aspiradores de pó, o processador esquentava e números incompreensíveis rolavam lentamente na tela. Alguns anos depois, galpões do tamanho de fábricas seriam construídos para essa diversão. E tudo isso apesar de o Bitcoin não estar buscando uma cura para o câncer, modelando o clima ou decifrando sinais do espaço. Milhões de dispositivos em todo o mundo realizam um trabalho sem sentido do ponto de vista prático, apenas para que a rede possa responder a uma pergunta simples: em quem podemos confiar para registrar o próximo bloco de transações?
Em uma pequena vila onde todos se conhecem, você pode ir a uma loja e pedir uma garrafa de vodca ou um sorvete fiado: o vendedor anotará em um caderno de despesas quem deve quanto a quem. Mas e se houver milhares de clientes em potencial, eles não se conhecem, vivem em países diferentes e cada um tem sua própria cópia do caderno? Quem decide qual registro está correto? Quem impede o vendedor Vasya de escrever que o comprador Petya lhe deve um milhão?
As criptomoedas respondem a essa pergunta de forma bastante elegante: o direito de voto precisa ser conquistado. E literalmente gastar recursos reais para isso – eletricidade, tempo de operação do equipamento e dinheiro. Quanto mais caro for tentar interferir no funcionamento da rede, mais difícil será enganar o sistema. Esse é, essencialmente, o principal objetivo da mineração.
Proof of Work: Resolvendo um Problema para Obter o Direito de Adicionar um Bloco
Quando Satoshi Nakamoto inventou o Bitcoin, ele enfrentou um problema de engenharia bastante interessante. Era necessário garantir que qualquer pessoa pudesse participar do funcionamento da rede, mas, ao mesmo tempo, ninguém pudesse simplesmente chegar e reescrever o histórico de transações para si. Nos sistemas de pagamento comuns, esse problema não existe em princípio: existe um banco com seus servidores ou um centro de processamento que verifica as transações e confirma sua legitimidade. No blockchain, não existe um "centro de certificação", o que significa que é necessário um método diferente para determinar em quem a rede confiará.
A solução acabou sendo bastante elegante do ponto de vista técnico. Quer adicionar um novo bloco de transações à cadeia? Prove que você gastou recursos computacionais nisso. Assim surgiu o Proof of Work (PoW) – "prova de trabalho realizado".
Já descrevi brevemente esse mecanismo em um artigo anterior dedicado à estrutura do blockchain. O cabeçalho de cada bloco de informações, cujo corpo inclui uma lista de transações, contém o hash do bloco anterior, a raiz de Merkle – um hash único que representa todos os hashes das transações do bloco – e o nonce – um número aleatório "único". É esse número de quatro bytes que os mineradores estão tentando encontrar por tentativa e erro para que o hash do novo bloco corresponda aos critérios de dificuldade declarados pela rede.
Funciona mais ou menos assim. O minerador coleta transações não confirmadas em um bloco. Depois disso, ele começa a iterar sobre os valores de nonce, tentando obter um hash com os parâmetros necessários. A função hash aqui desempenha o papel de uma espécie de máquina caça-níqueis criptográfica: os dados do bloco são inseridos e uma longa string de caracteres é obtida na saída, que é impossível de prever com antecedência. Por exemplo, a rede pode exigir que o hash final comece com um certo número de zeros. Então, o minerador começa a iterar febrilmente sobre as opções de nonce, alterando os carimbos de data/hora e a ordem das transações em um determinado intervalo até encontrar um hash correto que atenda a esse requisito. Somente depois disso, esse bloco pode ser adicionado à cadeia de blockchain. O processo é semelhante a montar uma instalação muito complexa a partir de um conjunto de construção Lego, consistindo em muitos blocos menores, cada um dos quais precisa ser montado corretamente a partir de uma dispersão caótica de elementos básicos – tijolos.
E aqui reside o ponto mais interessante. É muito difícil encontrar um hash adequado, mas verificar o resultado final não é difícil. O resto dos participantes da rede se certifica em uma fração de segundo de que o minerador realmente fez uma enorme quantidade de cálculos, como resultado dos quais encontrou o valor desejado, após o qual eles aceitam o novo bloco como válido. Isso é Proof of Work – prova de trabalho realizado.
Essencialmente, o Proof of Work transforma eletricidade e tempo de máquina em um mecanismo de votação. Quanto mais poder computacional um participante da rede controla, maiores são suas chances de ser o primeiro a encontrar um bloco correto e receber uma recompensa. Mas o importante é outra coisa: para falsificar o histórico de transações, um invasor teria que recalcular não um bloco, mas toda a cadeia depois dele – e mais rápido do que o resto da rede blockchain.
No Bitcoin, o hash duplo SHA-256 é usado de acordo com esta fórmula intrincada:
H(x) = SHA-256(SHA-256(block_data + nonce)),
onde H(x) é o hash final do bloco (256 bits = 64 caracteres hexadecimais), block_data são os dados do bloco (transações, raiz de Merkle, hash do bloco anterior, carimbo de data/hora e assim por diante), nonce é um número de quatro bytes, nonce.
Na prática, isso significa que os mineradores executam os dados do bloco através de uma função criptográfica bilhões de vezes seguidas, alterando o nonce a cada vez. Não há uma maneira mais "inteligente" de encontrar uma solução: é impossível calcular a resposta correta com antecedência, é impossível pegar um atalho ou resolver esse problema de alguma outra forma. Como resultado, surge uma imagem bastante irônica: toda a segurança da maior criptomoeda do mundo se baseia no fato de que milhões de dispositivos estão envolvidos em trabalho computacional 24 horas por dia, o que em si não é necessário para ninguém. Mas é esse trabalho "inútil" que torna um ataque à rede monstruosamente caro – e, portanto, economicamente sem sentido para a maioria dos participantes.
Dificuldade de Mineração e seu Ajuste
Se a mineração funcionasse de acordo com o princípio de "quem comprou mais hardware é o mais esperto", o Bitcoin rapidamente se quebraria sozinho. Nos primeiros anos, a rede extraía blocos em computadores domésticos, depois fazendas em placas de vídeo apareceram, depois mineradores ASIC e o poder computacional da rede começou a crescer rapidamente. Sem um mecanismo de ajuste, os blocos com o tempo começariam a aparecer não uma vez a cada dez minutos, como o funcionamento estável do blockchain exige, mas, digamos, a cada dez segundos.
O problema aqui não é apenas a velocidade. Quanto mais rápido os blocos são criados, mais frequentemente surgem conflitos entre os nós da rede (esta é uma situação em que dois mineradores formam um novo bloco válido quase simultaneamente), mais o blockchain incha e mais difícil é para os participantes concordarem sobre qual versão da cadeia é considerada a principal. Portanto, o Bitcoin precisava de uma espécie de limitador de velocidade automático. Assim, a dificuldade de mineração apareceu no protocolo.
O significado do gerenciamento da dificuldade é bastante simples: a rede em si regula o quão difícil é para os mineradores encontrarem um bloco correto. Se uma multidão de mineradores se conectar à rede, o poder computacional se torna muito grande e os blocos começam a ser extraídos muito rapidamente – a tarefa se torna mais difícil. Se parte dos mineradores se desconectar e a rede desacelerar – a tarefa se torna mais fácil.
Parece quase um termostato em um "Zhiguli": o sistema tenta continuamente manter aproximadamente a mesma temperatura, apenas em vez de temperatura aqui – o tempo médio de aparecimento de um novo bloco.
No Bitcoin, a dificuldade é recalculada a cada 2016 blocos – aproximadamente uma vez a cada duas semanas, de acordo com esta fórmula simples:
nova dificuldade = dificuldade antiga × tempo real / 20160 min,
onde
nova dificuldade é a dificuldade da rede após o recálculo; ela se aplica aos próximos 2016 blocos;
dificuldade antiga é a dificuldade que estava em vigor no intervalo anterior de 2016 blocos;
tempo real é o tempo (em minutos) que a rede levou para encontrar os 2016 blocos anteriores;
20 160 min – 2016 blocos × 10 min = 14 dias – o tempo de referência (alvo) para encontrar 2016 blocos, incorporado no protocolo.
Se os 2016 blocos anteriores foram extraídos mais rápido do que em duas semanas, a dificuldade aumenta. Se mais lento – diminui, e tudo acontece automaticamente. Na prática, isso leva a efeitos bastante engraçados. Por exemplo, depois de outro aumento na taxa de câmbio do Bitcoin, novos mineradores chegam em massa à rede. O hashrate aumenta drasticamente, os blocos começam a cair mais rápido do que o normal, mas depois de algumas semanas a rede "percebe o que está acontecendo" e aperta os parafusos. Depois disso, extrair um bloco torna-se mais difícil novamente.
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
Neste artigo, vamos explorar como o blockchain chega a um consenso, o que é Proof of Work (PoW) e suas alternativas. Entenderemos por que a mineração é necessária, por que a dificuldade de mineração muda constantemente e por que um ataque de 51% não é um caminho fácil para o dinheiro, mas sim uma maneira muito cara de causar um desastre financeiro.
No início dos anos 2000, a mineração de Bitcoin parecia uma aventura estranha: usuários executavam um programa baixado da internet em seus computadores, os ventiladores começavam a zumbir como aspiradores de pó, o processador esquentava e números incompreensíveis rolavam lentamente na tela. Alguns anos depois, galpões do tamanho de fábricas seriam construídos para essa diversão. E tudo isso apesar de o Bitcoin não estar buscando uma cura para o câncer, modelando o clima ou decifrando sinais do espaço. Milhões de dispositivos em todo o mundo realizam um trabalho sem sentido do ponto de vista prático, apenas para que a rede possa responder a uma pergunta simples: em quem podemos confiar para registrar o próximo bloco de transações?
Em uma pequena vila onde todos se conhecem, você pode ir a uma loja e pedir uma garrafa de vodca ou um sorvete fiado: o vendedor anotará em um caderno de despesas quem deve quanto a quem. Mas e se houver milhares de clientes em potencial, eles não se conhecem, vivem em países diferentes e cada um tem sua própria cópia do caderno? Quem decide qual registro está correto? Quem impede o vendedor Vasya de escrever que o comprador Petya lhe deve um milhão?
As criptomoedas respondem a essa pergunta de forma bastante elegante: o direito de voto precisa ser conquistado. E literalmente gastar recursos reais para isso – eletricidade, tempo de operação do equipamento e dinheiro. Quanto mais caro for tentar interferir no funcionamento da rede, mais difícil será enganar o sistema. Esse é, essencialmente, o principal objetivo da mineração.
Proof of Work: Resolvendo um Problema para Obter o Direito de Adicionar um Bloco
Quando Satoshi Nakamoto inventou o Bitcoin, ele enfrentou um problema de engenharia bastante interessante. Era necessário garantir que qualquer pessoa pudesse participar do funcionamento da rede, mas, ao mesmo tempo, ninguém pudesse simplesmente chegar e reescrever o histórico de transações para si. Nos sistemas de pagamento comuns, esse problema não existe em princípio: existe um banco com seus servidores ou um centro de processamento que verifica as transações e confirma sua legitimidade. No blockchain, não existe um "centro de certificação", o que significa que é necessário um método diferente para determinar em quem a rede confiará.
A solução acabou sendo bastante elegante do ponto de vista técnico. Quer adicionar um novo bloco de transações à cadeia? Prove que você gastou recursos computacionais nisso. Assim surgiu o Proof of Work (PoW) – "prova de trabalho realizado".
Já descrevi brevemente esse mecanismo em um artigo anterior dedicado à estrutura do blockchain. O cabeçalho de cada bloco de informações, cujo corpo inclui uma lista de transações, contém o hash do bloco anterior, a raiz de Merkle – um hash único que representa todos os hashes das transações do bloco – e o nonce – um número aleatório "único". É esse número de quatro bytes que os mineradores estão tentando encontrar por tentativa e erro para que o hash do novo bloco corresponda aos critérios de dificuldade declarados pela rede.
Funciona mais ou menos assim. O minerador coleta transações não confirmadas em um bloco. Depois disso, ele começa a iterar sobre os valores de nonce, tentando obter um hash com os parâmetros necessários. A função hash aqui desempenha o papel de uma espécie de máquina caça-níqueis criptográfica: os dados do bloco são inseridos e uma longa string de caracteres é obtida na saída, que é impossível de prever com antecedência. Por exemplo, a rede pode exigir que o hash final comece com um certo número de zeros. Então, o minerador começa a iterar febrilmente sobre as opções de nonce, alterando os carimbos de data/hora e a ordem das transações em um determinado intervalo até encontrar um hash correto que atenda a esse requisito. Somente depois disso, esse bloco pode ser adicionado à cadeia de blockchain. O processo é semelhante a montar uma instalação muito complexa a partir de um conjunto de construção Lego, consistindo em muitos blocos menores, cada um dos quais precisa ser montado corretamente a partir de uma dispersão caótica de elementos básicos – tijolos.
E aqui reside o ponto mais interessante. É muito difícil encontrar um hash adequado, mas verificar o resultado final não é difícil. O resto dos participantes da rede se certifica em uma fração de segundo de que o minerador realmente fez uma enorme quantidade de cálculos, como resultado dos quais encontrou o valor desejado, após o qual eles aceitam o novo bloco como válido. Isso é Proof of Work – prova de trabalho realizado.
Essencialmente, o Proof of Work transforma eletricidade e tempo de máquina em um mecanismo de votação. Quanto mais poder computacional um participante da rede controla, maiores são suas chances de ser o primeiro a encontrar um bloco correto e receber uma recompensa. Mas o importante é outra coisa: para falsificar o histórico de transações, um invasor teria que recalcular não um bloco, mas toda a cadeia depois dele – e mais rápido do que o resto da rede blockchain.
No Bitcoin, o hash duplo SHA-256 é usado de acordo com esta fórmula intrincada:
H(x) = SHA-256(SHA-256(block_data + nonce)),
onde H(x) é o hash final do bloco (256 bits = 64 caracteres hexadecimais), block_data são os dados do bloco (transações, raiz de Merkle, hash do bloco anterior, carimbo de data/hora e assim por diante), nonce é um número de quatro bytes, nonce.
Na prática, isso significa que os mineradores executam os dados do bloco através de uma função criptográfica bilhões de vezes seguidas, alterando o nonce a cada vez. Não há uma maneira mais "inteligente" de encontrar uma solução: é impossível calcular a resposta correta com antecedência, é impossível pegar um atalho ou resolver esse problema de alguma outra forma. Como resultado, surge uma imagem bastante irônica: toda a segurança da maior criptomoeda do mundo se baseia no fato de que milhões de dispositivos estão envolvidos em trabalho computacional 24 horas por dia, o que em si não é necessário para ninguém. Mas é esse trabalho "inútil" que torna um ataque à rede monstruosamente caro – e, portanto, economicamente sem sentido para a maioria dos participantes.
Dificuldade de Mineração e seu Ajuste
Se a mineração funcionasse de acordo com o princípio de "quem comprou mais hardware é o mais esperto", o Bitcoin rapidamente se quebraria sozinho. Nos primeiros anos, a rede extraía blocos em computadores domésticos, depois fazendas em placas de vídeo apareceram, depois mineradores ASIC e o poder computacional da rede começou a crescer rapidamente. Sem um mecanismo de ajuste, os blocos com o tempo começariam a aparecer não uma vez a cada dez minutos, como o funcionamento estável do blockchain exige, mas, digamos, a cada dez segundos.
O problema aqui não é apenas a velocidade. Quanto mais rápido os blocos são criados, mais frequentemente surgem conflitos entre os nós da rede (esta é uma situação em que dois mineradores formam um novo bloco válido quase simultaneamente), mais o blockchain incha e mais difícil é para os participantes concordarem sobre qual versão da cadeia é considerada a principal. Portanto, o Bitcoin precisava de uma espécie de limitador de velocidade automático. Assim, a dificuldade de mineração apareceu no protocolo.
O significado do gerenciamento da dificuldade é bastante simples: a rede em si regula o quão difícil é para os mineradores encontrarem um bloco correto. Se uma multidão de mineradores se conectar à rede, o poder computacional se torna muito grande e os blocos começam a ser extraídos muito rapidamente – a tarefa se torna mais difícil. Se parte dos mineradores se desconectar e a rede desacelerar – a tarefa se torna mais fácil.
Parece quase um termostato em um "Zhiguli": o sistema tenta continuamente manter aproximadamente a mesma temperatura, apenas em vez de temperatura aqui – o tempo médio de aparecimento de um novo bloco.
No Bitcoin, a dificuldade é recalculada a cada 2016 blocos – aproximadamente uma vez a cada duas semanas, de acordo com esta fórmula simples:
nova dificuldade = dificuldade antiga × tempo real / 20160 min,
onde
nova dificuldade é a dificuldade da rede após o recálculo; ela se aplica aos próximos 2016 blocos;
dificuldade antiga é a dificuldade que estava em vigor no intervalo anterior de 2016 blocos;
tempo real é o tempo (em minutos) que a rede levou para encontrar os 2016 blocos anteriores;
20 160 min – 2016 blocos × 10 min = 14 dias – o tempo de referência (alvo) para encontrar 2016 blocos, incorporado no protocolo.
Se os 2016 blocos anteriores foram extraídos mais rápido do que em duas semanas, a dificuldade aumenta. Se mais lento – diminui, e tudo acontece automaticamente. Na prática, isso leva a efeitos bastante engraçados. Por exemplo, depois de outro aumento na taxa de câmbio do Bitcoin, novos mineradores chegam em massa à rede. O hashrate aumenta drasticamente, os blocos começam a cair mais rápido do que o normal, mas depois de algumas semanas a rede "percebe o que está acontecendo" e aperta os parafusos. Depois disso, extrair um bloco torna-se mais difícil novamente.
📤 Compartilhar & Baixar
🧰 Ferramentas recomendadas
Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.