ETFFIN Finance >> Finanças pessoais curso >  >> Criptomoeda >> Blockchain

Hash de destino

O que é um Hash de destino?

Na mineração de criptomoedas, um hash de destino é um valor numérico que um cabeçalho de bloco com hash deve ser menor ou igual para que um novo bloco seja concedido a um minerador. Os cabeçalhos de bloco identificam blocos individuais em um blockchain.

A mineração de criptomoedas se refere ao processo de coleta de criptomoedas como recompensa pelo trabalho concluído. A natureza deste trabalho é verificar a legitimidade das transações de uma determinada criptomoeda. Desta maneira, os mineiros de criptomoedas são essencialmente auditores. Quando você mina, você pode ganhar criptomoeda sem ter que gastar dinheiro com isso.

O hash de destino é usado para determinar a dificuldade da entrada e pode ser ajustado para garantir que os blocos sejam processados ​​com eficiência. Por exemplo, hashes de destino são usados ​​em criptomoedas que usam um sistema de prova de trabalho (PoW) para definir a dificuldade de mineração atual (incluindo Bitcoin). Se uma criptomoeda usa um sistema diferente para mineração, ele pode não exigir um hash de destino.

Principais vantagens

  • Na mineração de criptomoedas, um hash de destino é um valor numérico que um cabeçalho de bloco com hash (que é usado para identificar blocos individuais em uma blockchain) deve ser menor ou igual para que um novo bloco seja concedido a um minerador.
  • Hashes de destino são usados ​​em criptomoedas que usam um sistema de prova de trabalho (PoW) para definir a dificuldade de mineração atual (incluindo Bitcoin); se uma criptomoeda usa um sistema diferente para mineração, ele pode não exigir um hash de destino.
  • A rede Bitcoin ajusta a dificuldade de mineração aumentando ou diminuindo o hash alvo para preservar um intervalo médio de 10 minutos entre os novos blocos.

Como funciona um hash de destino

As criptomoedas contam com o uso de blockchains que contêm o histórico de todas as transações dessa criptomoeda. Essas transações são hash, ou criptograficamente codificado, em uma série de caracteres alfanuméricos. O hash envolve pegar uma string de dados de qualquer comprimento e executá-la por meio de um algoritmo para produzir uma saída com comprimento fixo. A saída sempre terá o mesmo comprimento, independentemente de quão grande ou pequena é a entrada (embora o número de permutações de um hash seja astronomicamente grande). Cada bloco conterá o hash do cabeçalho do bloco anterior.

Validar e codificar o blockchain é conhecido como mineração. A mineração envolve o uso de computadores para executar algoritmos de hash para processar o bloco mais recente; as informações que um usuário precisa para minerar são encontradas no cabeçalho do bloco. A rede criptomoeda define um valor de destino para esse hash - chamado de hash de destino - e os mineiros tentam determinar qual é esse valor testando todos os valores possíveis.

O cabeçalho do bloco contém o número da versão do bloco, um carimbo de data / hora, o hash usado no bloco anterior, o hash da raiz Merkle, o nonce, e o hash de destino. O bloco é gerado pegando o hash do conteúdo do bloco, adicionar uma sequência aleatória de números (o nonce), e hashing o bloco novamente.

Se o hash atender aos requisitos do destino, então o bloco é adicionado ao blockchain. Percorrer as soluções para adivinhar o nonce é conhecido como prova de trabalho (PoW), e o mineiro que conseguir encontrar o valor é premiado com o bloco e pago em criptomoeda.

Considerações Especiais

Hash alvo para Bitcoin

Bitcoin usa o algoritmo de hash SHA-256. Este algoritmo gera números aleatórios verificáveis ​​de uma forma que requer uma quantidade previsível de poder de processamento do computador.

A mineração de um bloco exige que o minerador produza um valor (um nonce) que, depois de ser hash (criptograficamente codificado), é menor ou igual ao usado no bloco mais recente aceito pela rede bitcoin. Esse número está entre 0- (a opção menor) e 256 bits (a opção maior), mas é improvável que seja o número máximo.

Como o hash de destino pode ser um número enorme, o minerador pode ter que testar um grande número de valores antes de ter sucesso. Um mineiro malsucedido precisa esperar pelo próximo bloco (é por isso que os mineiros que encontram uma solução de hash são comparados aos vencedores de uma corrida ou loteria).

O hash de destino é ajustado periodicamente. As funções hash usadas para gerar o novo destino têm propriedades específicas projetadas para tornar o blockchain (e sua criptomoeda) seguro. Este processo é determinístico, o que significa que produzirá o mesmo resultado cada vez que a mesma entrada for usada. É rápido o suficiente para não demorar muito para retornar um hash para a entrada. Também torna a determinação da entrada muito difícil, especialmente para grandes números, e faz pequenas alterações no resultado de entrada em uma saída de hash muito diferente.