Dificuldade de criptomoeda
Qual é a dificuldade de criptomoeda?
A dificuldade da criptomoeda é uma medida de quão difícil é extrair um bloco em um blockchain para uma criptomoeda específica. Uma alta dificuldade de criptomoeda significa que é necessário um poder de computação adicional para verificar as transações inseridas em um blockchain – um processo chamado mineração.
A dificuldade da criptomoeda é um parâmetro que o bitcoin e outras criptomoedas usam para manter estável o tempo médio entre os blocos à medida que o poder de hash da rede muda. A dificuldade da criptomoeda é importante, pois uma dificuldade elevada pode ajudar a proteger a rede blockchain contra ataques maliciosos.
Principais vantagens
- A dificuldade da criptomoeda é uma medida de quão difícil é extrair um bloco em um blockchain para uma criptomoeda específica.
- Uma alta dificuldade de criptomoeda significa que é necessário um poder de computação adicional para verificar as transações inseridas em um blockchain.
- Quanto maior a dificuldade necessária para criar um bloco, aumenta a segurança de uma rede de criptomoedas, pois os invasores precisam de enormes recursos para assumir o controle.
Compreendendo a dificuldade de criptomoeda
Bitcoin e outras criptomoedas que usam blockchains de prova de trabalho são mantidas durante o processo de mineração. Os mineiros verificam as transações que são feitas em um blockchain e desempenham as funções de auditores para evitar fraudes e garantir a legitimidade das transações. A mineração foi concebida pelo fundador do bitcoin, Satoshi Nakamoto.
Nesse sistema, os mineiros – que executam o software da criptomoeda em seus computadores – competem para encontrar um novo bloco, adicionando o lote mais recente de dados de transação à cadeia. Quando transações suficientes foram verificadas, um novo bloco é adicionado ao blockchain. Os mineiros podem receber uma taxa por seus esforços, mas existem outros requisitos antes que um mineiro possa receber uma compensação, se houver. A extensão do poder de computação necessária para extrair um bloco é representada pela dificuldade de criptomoeda. O tempo que leva para encontrar um novo bloco está sujeito ao nível de dificuldade da criptomoeda e chance aleatória.
Para medir a dificuldade de criptomoeda de um novo bloco, é importante entender o poder do hash, que representa o poder computacional combinado usado para minerar e processar as transações no blockchain.
Hashes aleatórios
Um hash é um código alfanumérico usado para representar palavras ou dados. Os mineiros pegam um lote de dados de transação e os executam por meio de um algoritmo de hash, uma função unilateral que – dado um determinado conjunto de dados – sempre produzirá a mesma saída, mas cuja saída não pode ser revertida para mostrar os dados originais. Algoritmos de hash são usados para criar esses códigos de hash aleatórios. Antes que novos dados possam ser adicionados a um blockchain, os mineiros devem competir para produzir um hash que seja menor ou igual a um valor numérico chamado hash de destino.
Os mineiros realizam o processo de hash alterando um único valor, chamado nonce – ou um número usado uma vez – e cada vez que o nonce é alterado, um novo hash é criado com seu próprio conjunto de números. Não há como prever o que será um hash e, como cada conjunto de dados tem apenas uma saída para uma determinada função de hash, os mineiros devem repetir o processo de adicionar um novo nonce aos dados até que atendam ao requisito de hash.
Dificuldade de criptomoeda
O requisito que um hash deve atender corresponde à dificuldade. Um hash válido deve estar abaixo de um determinado valor de destino definido automaticamente (e ajustado periodicamente) pelo protocolo da criptomoeda. Quanto menor o valor alvo, mais repetições da função hash um minerador deve passar para obter um resultado aceitável – em outras palavras, maior a dificuldade. Um minerador pode, em teoria, ter sorte e obter um hash válido para um determinado bloco na primeira tentativa. No entanto, com o tempo, a maior dificuldade significa que os mineiros devem passar por mais nonces por bloco, em média.
Indivíduos e organizações contribuem com seu poder computacional por meio de suas plataformas de mineração para processar os dados e produzir os hashes. O poder de hash de uma rede de criptomoeda representa as taxas de hash totais de todas as plataformas de mineração. A taxa de hash é o número de hashes que podem ser calculados por segundo.
Como cada hash é criado aleatoriamente, podem ser necessários milhões de palpites ou hashes antes que o requisito de hash alvo seja atendido e novas moedas de criptomoeda sejam cunhadas para o minerador bem-sucedido. Só então as transações são adicionadas a um novo bloco dentro do blockchain. De certa forma, o processo de hashing é semelhante a um sistema de loteria. Como resultado, novas moedas são emitidas por meio desse processo de mineração.
Quanto mais alta a taxa de hash, mais difícil será para um fraudador obter o controle do blockchain, pois mais potência de hash é necessária. Em outras palavras, quanto maior a dificuldade, mais segura é a rede.
Benefícios da dificuldade de criptomoeda
Alguém pode se perguntar por que os participantes de uma rede estabeleceriam uma dificuldade maior de criptomoeda se o resultado significasse os mineiros repetindo a mesma função indefinidamente. Existem dois benefícios principais para a dificuldade de criptomoeda.
Uma taxa constante de novos blocos
O white paper bitcoin de Satoshi Nakamoto explica como a dificuldade da prova de trabalho ajuda a gerar uma produção estável de novos blocos adicionados ao blockchain.
“Para compensar o aumento da velocidade do hardware e o interesse variável na execução de nós ao longo do tempo, a dificuldade de prova de trabalho é determinada por uma média móvel visando um número médio de blocos por hora. Se eles forem gerados muito rápido, a dificuldade aumenta. ”
Bitcoin é projetado para adicionar um novo bloco ao blockchain a cada 10 minutos, em média. Outras criptomoedas visam blocos mais frequentes; litecoin, por exemplo, visa 2,5 minutos. O problema é que a quantidade de poder de computação que os mineradores da rede controlam coletivamente pode variar enormemente.
Quando Satoshi Nakamoto extraiu o primeiro bloco, havia apenas uma máquina na rede – provavelmente um simples laptop ou desktop. Hoje, há uma série de fazendas ASIC do tamanho de um depósito. ASICs são máquinas projetadas especificamente para limpar as funções hash o mais rápido possível.
Para garantir que a rede produza um novo bloco a uma taxa média constante, o software é configurado para ajustar automaticamente o hash de destino para cima ou para baixo, o que resulta em dificuldade menor ou maior, respectivamente. Quando Nakamoto extraiu o bloco de gênese, a dificuldade do bitcoin era uma delas.
Segurança de rede
A taxa geral de hash fornece informações sobre a segurança de uma rede de criptomoeda, pois os fraudadores ou malfeitores precisariam superar o poder total do hash da rede para assumir o controle de um ataque malicioso. Computadores especialmente projetados são usados para executar funções de hashing, que são capazes de fazer trilhões de suposições a cada segundo para resolver o problema de hashing.
Quanto maior a dificuldade de criptomoeda, mais suposições ou hashes são necessários para atingir o requisito de hash de destino. Como resultado, esse processo torna muito difícil e caro para os invasores obterem o controle majoritário – chamado de 51% maioria – de uma rede blockchain.
Exemplo de dificuldade de criptomoeda
Em 2 de abril de 2021, a dificuldade de criptomoeda para bitcoin era de 23,14 trilhões. Se compararmos a mudança na dificuldade, podemos ver que em 1º de abril de 2018, a dificuldade do bitcoin era de 3,51 trilhões.
O gráfico abaixo mostra a mudança de dificuldade do bitcoin ao longo dos anos: