A mineração é um dos conceitos mais místicos no mundo das criptomoedas. Ou melhor, é mais um conceito mitificado, pois não há nada particularmente complicado por trás disso. Muitos sabem que é possível ganhar dinheiro com mineração, e é principalmente por isso que um número crescente de pessoas está se aprofundando no mundo da mineração de criptomoedas.
No início, é necessário se familiarizar com conceitos bastante complexos para entrar na mineração de criptomoedas. No entanto, com o tempo, fica claro que, para o usuário comum, não há muito mais a fazer além de baixar um programa, configurá-lo e deixá-lo funcionar. A seguir, tentarei explicar de forma simples o conceito de mineração de criptomoedas e esclarecer para que serve tudo isso.
As criptomoedas, na verdade, são equivalentes às moedas utilizadas no dia a dia ( o euro, o dólar, etc.), possuindo valor próprio. O nível de equivalência de uma criptomoeda, por exemplo, com o forint húngaro, ou o valor que ela representa, é outra questão. Mas, para simplificar, aceitemos isso como dado. Dessa forma, fica evidente que, no universo das criptomoedas, dois participantes desejam enviar e receber criptomoedas entre si.
As transações realizadas com criptomoedas precisam ser registradas, pois, caso contrário, não seria possível saber quanto de moeda cada participante possui em um determinado momento. Além disso, as redes de criptomoedas não são centralizadas, mas sim do tipo peer-to-peer. Isso significa que não há uma entidade central, como um banco emissor de cartões de crédito, que mantenha o controle das contas. Nesse cenário, é necessário haver participantes que realizem a validação das transações. Esses participantes são chamados de mineradores no universo das criptomoedas.
Quando um usuário deseja enviar criptomoedas para outro, a transação correspondente precisa ser validada. A validação envolve, principalmente, os mineradores verificarem o saldo da conta do remetente e, com base nisso, decidirem se ele tem direito de transferir as criptomoedas.
É evidente que, se qualquer pessoa pudesse validar transações a qualquer momento, haveria o risco de mineradores mal-intencionados invadirem a rede, tornando-a completamente não confiável. Esse é um risco real, pois, se houver muitos fraudadores na rede, eles podem atacar o sistema e causar danos irreversíveis. Isso está relacionado ao chamado ataque de 51%, mas não entrarei em detalhes sobre isso agora.
O ponto principal é que a validação das transações precisa ser relativamente difícil. Isso é necessário porque, se um fraudador aparecer na rede e tentar alterar transações realizadas no passado, isso precisa ser impedido. Essa proteção é alcançada ajustando a dificuldade da mineração. Durante a validação de cada bloco de transações, os mineradores precisam realizar uma tarefa computacional complexa. No caso do Bitcoin, isso significa calcular o valor de uma função hash. Os dados das transações no bloco são combinados com um valor aleatório, e, com base nisso, é gerado um valor hash.
O valor calculado é completamente aleatório, mas deve atender a uma determinada condição. Se a condição não for atendida, um novo cálculo precisa ser feito, alterando o valor aleatório. O resultado é totalmente imprevisível, e por isso são necessárias muitas tentativas. A dificuldade da mineração é ajustada com base no número de tentativas necessárias. Como são necessários inúmeros cálculos, um minerador precisa de uma capacidade computacional enorme.
Um usuário mal-intencionado poderia tentar reverter os dados das transações e começar a construir uma nova cadeia de blocos. No entanto, ele precisaria validar novamente cada bloco de transações e, além disso, superar a blockchain construída pelos usuários de boa-fé. Percebemos que as chances disso acontecer são extremamente pequenas, e a probabilidade de sucesso de tal ataque é inversamente proporcional ao número de mineradores de boa-fé na rede.
Em situações peculiares, como quando utilizadores mal-intencionados se unem contra os bem-intencionados, podem até atacar a rede. Este é exatamente o problema dos pools de mineração que concentram grande capacidade computacional num só local, ou dos fabricantes de hardware especializado, como os chineses. Os pools de mineração foram criados para utilizadores que não dispõem de capacidade computacional suficiente para validar um bloco de transações num tempo razoável. Estes utilizadores podem ligar-se a um servidor de pool e, combinando pequenos recursos de computação, conseguem competir com as enormes fazendas de mineração de criptomoedas, que, no caso do Bitcoin, operam fazendas de ASIC. Contudo, isto traz novamente o problema da centralização, numa rede concebida para ser descentralizada, e levanta o risco de ataques de 51%.
As fazendas de ASIC apresentam vários problemas. Com o surgimento do Bitcoin, houve um grande impulso na produção de ASICs (Circuitos Integrados de Aplicação Específica), especialmente na China. Estes são computadores completamente diferentes daqueles que usamos no dia a dia. Nem sequer são feitos para serem utilizados diretamente, uma vez que servem exclusivamente para a mineração de Bitcoin. Esta característica deve-se à sua capacidade de realizar rapidamente os cálculos necessários para a função hash mencionada anteriormente. Não fazem bem nada além de minerar Bitcoin.
Isto é problemático porque nem todos têm as mesmas condições de acesso a estas máquinas de mineração ASIC. Naturalmente, se vives na China, és um minerador chinês, resides perto de uma fábrica de ASIC e, eventualmente, conheces o diretor da fábrica, serás o primeiro a ser informado quando um novo minerador ASIC for lançado no mercado. Se tiveres alguns milhões na carteira, compras rapidamente o stock e enriqueces ainda mais com a mineração de Bitcoin.
Num cenário pior, caso sejas mal-intencionado, poderias bloquear as transações de outros na blockchain ou até gastar criptomoedas que não possuis (problema do double spend).
Os mineradores ASIC podem ser encomendados em várias lojas online diretamente dos fabricantes chineses. Naturalmente, primeiro é necessário pagar o equipamento, e só depois começam o processo de embalagem e envio. Não há qualquer garantia de que, quando o teu minerador ASIC for entregue à tua porta, as condições de mineração continuem as mesmas. Isto pode ser especialmente problemático se a rede Bitcoin reduzir pela metade a quantidade de criptomoeda atribuída aos mineradores (halving), pois, nesse caso, a rentabilidade do equipamento será completamente diferente.
Devido a estas limitações, tornou-se necessário superar a hegemonia dos mineradores ASIC. A segunda criptomoeda mais popular, o Ethereum, que surgiu após o Bitcoin, exige um algoritmo de mineração ligeiramente diferente. A mineração de Ethereum requer que gráficos acíclicos direcionados (DAG, Directed Acyclic Graph), com vários gigabytes de tamanho, sejam armazenados na memória. Como resultado, a mineração baseada em ASIC foi inviabilizada no caso do Ethereum. Isto deve-se principalmente ao facto de ser extremamente complicado adicionar unidades de memória adequadas para armazenar esses gráficos aos mineradores ASIC. Assim, a mineração baseada em GPUs e CPUs permanece como alternativa viável.
Atualmente, a mineração de Ethereum exige um poder computacional imenso, e, por isso, apenas aqueles com placas gráficas profissionais conseguem competir no mercado de mineração de Ethereum. Isto aparentemente resolveu o problema dos ASICs que surgiu com o Bitcoin, já que, teoricamente, qualquer pessoa pode ter acesso a uma placa gráfica. As placas gráficas estão distribuídas de forma mais uniforme pelo mundo do que os mineradores ASIC, o que ajudou a reduzir a probabilidade de ataques de 51%.
No entanto, esta situação trouxe outro problema: os grandes fabricantes de placas gráficas enfrentam uma crónica escassez de stock devido à elevada procura. Esperemos que, mais cedo ou mais tarde, também eles acelerem a produção para responder à procura!