iniciar
iniciar

A prova de trabalho (Prova de trabalho (em inglês) é um mecanismo usado no Bitcoin, dentro do princípio do Consenso de Nakamoto, para que o sistema de pagamento seja resistente aos ataques de Sybil. Esse tipo de ataque é caracterizado pela criação de várias identidades falsas para corromper a rede ponto a ponto.
O Consenso de Nakamoto é o princípio que permite que os usuários de Bitcoin concordem com uma única versão do blockchain para chegar a um acordo sobre a questão: “quem é dono do quê? ”. É chamado de “consenso de prova de trabalho” porque especifica que os nós concordam sobre qual blockchain tem a maior quantidade de trabalho acumulado. Essa prova de trabalho é feita por computadores chamados de “mineradores”, em referência ao processo de mineração de ouro. Mineração de Bitcoin (Mineração) é, portanto, a ação de realizar uma prova de trabalho.
Este artigo sobre prova de trabalho é uma continuação lógica do artigo da semana passada sobre como o Bitcoin geralmente funciona. Também aconselho você a lê-lo clicando no link abaixo.
➤ Saiba mais sobre como o Bitcoin funciona.
A prova de trabalho é simplesmente a busca por um valor que, uma vez passado para uma função matemática aleatória, dá um resultado menor que um número alvo.
Concretamente, os mineradores reúnem as transações pendentes em um bloco, respeitando o limite máximo de peso, e incrementam os valores modificáveis.
O termo técnico para esses valores modificáveis é “nonces”, a abreviatura em inglês para “número usado apenas uma vez”. É um número escolhido arbitrariamente que é usado apenas uma vez e que é substituído por outro número durante a próxima manipulação.

Eles passarão o cabeçalho desse bloco candidato para uma função aleatória e irreversível. O objetivo é encontrar uma pegada (resultado da função) que seja menor que o alvo. Se o bloco não atender à condição, eles poderão alterar os valores editáveis (Nuances) e tente passar o novo cabeçalho para a função novamente. Eles então terão um resultado completamente diferente do primeiro. O minerador continua esse processo de modificar os nonces e comparar o resultado obtido com o alvo até que um bloco válido seja encontrado.
A função matemática aleatória (função hash) usada para mineração de bitcoin é um SHA256 duplo (SSeguro HCinza UMalgoritmo), também chamado SHA256d ou HASH256.

Como a função SHA256 não pode ser revertida, os mineradores só podem experimentar todas as possibilidades uma por uma. É um cálculo de tentativa e erro. O primeiro minerador que encontrar um bloco que atenda a essa condição ganha o direito de registrá-lo na blockchain de todos os usuários e recebe a recompensa monetária associada. Essa remuneração para menores é composta por duas partes distintas:
A validação de um bloco também envolve uma confirmação inicial do pagamento de todas as transações incluídas nele.
Os usuários da rede Bitcoin, representados por seus nós, podem, portanto, concordar com uma versão do registro da conta adicionando blocos válidos criados pelos mineradores ao seu banco de dados. Cada nó lembra um estado do blockchain e registra os novos blocos criados depois de verificá-los individualmente. O blockchain autêntico é aquele com A maior quantidade de trabalho acumulado. Esse princípio de concordância entre todos os usuários é o que chamamos de “consenso de Nakamoto por prova de trabalho”.
As informações que os nós considerariam válidas como a cadeia mais longa são um equívoco comum. Embora esse princípio de consenso fosse verdadeiro até 2010, ele poderia ser explorado para destruir o Bitcoin e depois foi modificado. Desde essa data e a atualização 0.3.3 do Bitcoin, os nós concordam sobre qual cadeia tem o trabalho mais acumulado, que pode ser uma cadeia diferente da cadeia mais longa.
O algoritmo de consenso inclui o ajuste do valor alvo para manter uma velocidade estável de criação de blocos em 10 minutos. Quando os blocos são encontrados muito rapidamente para o objetivo, a dificuldade de mineração aumenta e vice-versa. Esse grande intervalo entre os blocos permite que todos os nós se sincronizem adequadamente com o mesmo estado da cadeia de blocos.
Concretamente, a cada 2016 blocos (aproximadamente a cada duas semanas), os nós calcularão uma nova meta para a prova de trabalho, a fim de ajustar a dificuldade de mineração.
Como lembrete, os mineradores devem encontrar um bloco que, uma vez passado por uma função aleatória, resultará em um número menor do que o alvo. Se durante o último período de 2016 os blocos foram encontrados em média com mais de 10 minutos cada, isso significa que houve um aumento no poder de computação implantado na rede. Os nós, portanto, aumentarão a dificuldade de mineração ajustando o alvo para baixo a fim de aumentar o tempo necessário para encontrar um bloco válido. O objetivo é que esse valor se aproxime de 10 minutos em média. Por outro lado, se durante o último período de 2016 os blocos foram validados em média mais lentamente do que 10 minutos cada, isso significa que houve uma diminuição no poder de computação implantado pelos mineradores. Os nós então diminuirão a dificuldade ajustando o alvo para cima.

Para calcular a nova meta, a cada 2016 blocos, os nós realizarão o seguinte cálculo:
Novo alvo = Alvo antigo * (tempo total dos últimos blocos de 2016 em segundos/1.209.600 segundos)
Esse número alvo é, portanto, uma ferramenta de ajuste. Ao modificá-la, alteramos em termos de probabilidade o tempo necessário para encontrar uma impressão que atenda à condição. Graças a isso, a produção de blocos no Bitcoin tende naturalmente a uma frequência estável com intervalos de 10 minutos, independentemente do número de computadores que mineram.
Esse intervalo de 10 minutos foi escolhido arbitrariamente por Satoshi Nakamoto ao criar o Bitcoin. O tempo alvo entre cada bloco representa um compromisso entre a segurança da rede e a eficiência do sistema de pagamento. Um tempo mais curto permite confirmações mais rápidas para os usuários, enquanto um tempo maior permite evitar separações em cadeia. Essas “divisões”, em inglês, causam um desperdício de poder de computação em blocos órfãos e, portanto, reduzem a segurança geral do sistema. Um tempo alvo de 10 minutos é um bom compromisso entre eficiência e segurança. É por isso que esse intervalo não é uma “fraqueza” do Bitcoin, mas uma característica essencial.
A prova de trabalho protege a rede Bitcoin dos ataques da Sybil. De fato, esse mecanismo permite impedir que um agente mal-intencionado assuma o controle da rede de pagamento multiplicando identidades. Em vez de ser estabelecido em um sistema de votação por computador, o Bitcoin é estabelecido em um sistema de votação pelo poder de computação. Como esse cálculo exige gasto de energia, temos então uma rede tangível, universal e externa para escolher quem tem o direito de registrar um bloco no cadastro distribuído.
Um invasor que queira alterar o status de propriedade dos bitcoins precisará necessariamente transmitir sua própria versão do canal. Para que esse estado malicioso seja aceito, ele deve respeitar o protocolo Bitcoin e, em particular, o encadeamento de blocos entre eles. Ele também precisará ter mais trabalho acumulado do que a cadeia honesta. Isso significa que o invasor deve refazer todo o trabalho de cálculo após a modificação fraudulenta do bloco. Se ele não tiver mais poder de computação do que todos os outros mineradores honestos, ele nunca conseguirá que sua versão da cadeia seja aceita por nós honestos e falhará em sua tentativa de ataque.
Por meio do uso da prova de trabalho, os menores são naturalmente encorajados a permanecerem honestos. De fato, um ataque exigiria a implantação de um poder computacional fenomenal e sua manutenção ao longo do tempo. Isso significa que um ataque consumiria muita eletricidade e, portanto, seria particularmente caro, sem ter um resultado garantido. Então, é muito mais interessante usar suas máquinas para minerar honestamente e receber as recompensas dadas por encontrar um bloco válido.
Além desse trabalho de proteção contra ataques de Sybil, o Proof-of-Work também desempenha um papel essencial na resistência à censura do sistema de pagamento. De fato, com o Consenso de Nakamoto, é possível atribuir o direito de inserir um bloco no registro de tempos em tempos, escolhendo um menor aleatoriamente, em proporção ao poder de computação implantado. A cada 10 minutos, esse mecanismo dará a um novo minerador o direito de empurrar seu bloco, com todas as transações que ele contém. Graças a isso, os usuários de Bitcoin se beneficiam da incensurabilidade quando se trata de confirmar suas transações. Se um menor censurar um usuário e se recusar a incluir suas transações em seu bloco por um motivo fora das regras do protocolo, tudo bem. Outros menores que não censurarem o mesmo usuário o incluirão. Isso será confirmado assim que eles fornecerem um bloco que atenda às condições de comprovação de trabalho.
Além disso, o usuário censurado pode aumentar suas taxas de transação para incentivar outros mineradores a incluí-lo em um bloco. Isso criará pressão financeira sobre a censura de menores e, naturalmente, favorecerá mineradores leais por meio de um processo natural de mercado.
O consenso de prova de trabalho de Nakamoto é o princípio usado para estabelecer um acordo sobre uma única versão do livro contábil distribuído entre os vários nós da rede. É baseado no mecanismo de prova de trabalho, que é simplesmente um sistema para resistir aos ataques de Sybil.
Prova de trabalho é a busca por um valor que, quando passado para uma função aleatória, dá um resultado menor do que um alvo específico. Este trabalho de pesquisa é realizado por atores, usando computadores especializados, chamados de “menores”.
A meta de prova de trabalho é ajustada a cada 2016 blocos pelos nós. Isso é chamado de “ajuste de dificuldade”. Diminuímos o número alvo para aumentar a dificuldade de mineração ou o aumentamos para diminuir a dificuldade, dependendo da evolução do poder de computação implantado pelos mineradores durante o período anterior.
Tenha cuidado para não confundir prova de participação (PoS) com prova de trabalho (PoW). Esses dois mecanismos são muito diferentes. Ao contrário da prova de trabalho, o processo de decisão majoritária da prova de participação não se baseia em nenhum elemento tangível externo à rede e isso traz muitos problemas aos sistemas de pagamento que a utilizam. Essa comparação PoW/PoS será o assunto de um próximo artigo detalhado.
➤ Saiba mais sobre as diferenças entre Bitcoin e outras criptomoedas.
%201.png)
