Índice
Índice
- Introdução
- Transações e blocos
- Organização de redes P2P
- História e evolução da mineração do Bitcoin
- Aplicações da tecnologia blockchain: Bitcoin
- Aplicações da tecnologia blockchain: Etherum
- Aplicações da tecnologia blockchain: Zcash
- Aplicações da tecnologia blockchain: Ripple
- Aplicações da tecnologia blockchain: demais criptomoedas
História e evolução da mineração do Bitcoin
Em 2009, quando o Bitcoin passou a funcionar, era possível fazer o processo de mineração com o processador de um computador de mesa. O Bitcoin, no entanto, é programado para que a média do intervalo de tempo em que seus blocos sejam resolvidos demore dez minutos e a medida que mais pessoas forem minerando, mais poder computacional é auferido à rede, ocasionando a necessidade da rede compensar aumentando a dificuldade do processo em que cada bloco é resolvido para que o intervalo de tempo médio se mantenha o mesmo.
Por isso, com o tempo, processadores não deram mais conta de render ao menos seu consumo de eletricidade, principalmente por que chips gráficos (GPUs) começaram a ser usadas na mineração e a microarquitetura de um único processador gráfico conseguia o desempenho de vários processadores tradicionais juntos.
No entanto, especificamente o algoritmo SHA256 (o algoritmo do Bitcoin) não precisa de muita memória para ser processado e nem processadores gráficos são projetados com a única finalidade de minerar Bitcoin. Tecnicamente, a mineração do Bitcoin usava apenas uma das extensões do conjunto de instruções presentes na microarquitetura dos processadores gráficos; em outras palavras GPUs não são feitas para computar apenas SHA256, embora possam. Na perspectiva da engenharia, isso pode ser encarado como um gargalo de desempenho, uma vez que os processadores gráficos poderiam ser projetados apenas com extensões de um conjunto de instruções otimizados para processar vários objetos de dados dentro do SHA256, em vez de dispor de recursos que nunca seriam usados nesta tarefa, em sua microarquitetura.
Extensões de um conjunto de instruções podem ser entendidos como configurações de transistores designadas para processar um formato específico de dados. A depender de quais instruções estiverem contidas em um "conjunto" tem-se uma extensão. Essas instruções são descritas em código pelo desenvolvedor da CPU ou GPU, e têm como objetivo aumentar o desempenho de uma unidade de processamento quando as mesmas operações são realizadas em cima de um aparato lógico, que neste caso é o SHA256. Alguns exemplos de extensões são SSE, AVX, MMX, FMA etc. Em outras palavras, como a mineração é um processo repetitivo, apenas algumas extensões eram usadas para que as operações em cima do SHA256 fossem executadas.
Este fato por si só não é um problema, pois muitos processos em um computador de mesa comum realmente não usam todas as extensões de um processador. O problema é que muitos processadores foram comprados apenas com a finalidade de minerar. Isso significa que os mineradores também estavam pagando por recursos que nunca seriam usados.
Da falta de especificidade dos equipamentos utilizados na mineração do Bitcoin, até então, fez surgir o ímpeto de que alternativas fossem criadas. O emprego de chips programáveis (FPGAs) na mineração do Bitcoin foi o resultado disso. FPGA é um conjunto de unidades lógicas. De maneira análoga e superficial, CPUs e GPUs são casos específicos de um conjunto de portas lógicas interconectadas, por meio de programação, com a finalidade de desempenhar a função de uma unidade de processamento computacional (CPU) ou gráfico (GPU).
O "pulo do gato" com os FPGA é que um programador pode descrever, através de código, a interconexão das unidades lógicas deste equipamento de forma que ele se torne desde um simples somador até um processador. Uma vez que foi descoberto que os FPGAs poderiam ser programados para realizar operações do SHA256 muito mais eficientemente que processadores de vídeo (GPU), estes tornaram-se obsoletos para a mineração.
Com a filosofia de usar FPGAs dedicados à mineração de Bitcoin, a necessidade, adesão e experiência com o manuseio destes dispositivos progrediu de maneira em que seria mais interessante vendê-los sem a possibilidade de edição do que esses dispositivos processariam. Essa pequena mudança abre mais espaço para otimização do código e do chip, pois o equipamento não precisa mais ser manufaturado considerando-se que deve servir a um uso generalizado. O resultado dessa restrição no FPGA torna-o um ASIC que é, em inglês, uma abreviação para "circuito integrado para uso específico".
O ASIC pode ser encarado como uma evolução natural do FPGA projetado especificamente para processar SHA256. O ASIC usado para mineração é um caso específico dos FPGAs com uma programação e até microarquitetura projetadas especificamente para minerar.
Em 2014, com o desenvolvimento do Ethereum, surgiu o Ethash como o primeiro algoritmo "resistente a ASIC". Depois veio o Equihash, do Zcash, ambos algoritmos que fazem uso intensivo do tipo de memórias usadas em GPUs. Esses dois algoritmos têm uma boa parcela da responsabilidade pela fama que criptomoedas ganharam ultimamente. A seguir veremos aplicações dessa tecnologia que vão muito além do escopo do trading.
- 6
Respostas recomendadas
Crie uma conta ou entre para comentar
Você precisa ser um usuário para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar agora