Lição 4: "Prova de trabalho" Compreender como funciona a construção de consensos

Porque é que preciso desta lição?

Nesta lição, aprenderá sobre a Prova de Trabalho que sustenta a cadeia de bloqueio e porque é que é tão difícil de manipular. É um pouco complicado, mas vamos pô-lo ao corrente da situação.

O que vai aprender nesta lição

  • Sobre a Prova de Trabalho
  • Como se constrói o consenso usando a Prova de Trabalho (algoritmo de consenso)
  • Dificuldade de ajustamento consensual (Dificuldade)

Prova de trabalho

Após o servidor de timestamp, o segundo mecanismo que torna possível o Bitcoin é o Proof of Work (PoW).

Os PBO são muitas vezes erroneamente considerados como um mecanismo completamente novo que surgiu juntamente com a cadeia de bloqueio, mas a tecnologia foi originalmente desenvolvida para evitar o spamming e foi criada em 1993.


PoW é um processo para inverter uma função de hash.

A fim de evitar o correio não desejado, desenvolvemos um sistema que exige a prova de que o cálculo inverso da função hash foi efectuado aquando do envio de correio.

A ideia é que é preciso muito tempo para inverter a função hash, pelo que não é possível enviar um grande número de e-mails.

Este mecanismo é também conhecido como HashCash.


No caso do Bitcoin, quando cada bloco da cadeia de bloqueio é precipitado, é necessário encontrar um valor que tenha um número especificado de zeros no início do valor de hash que é gerado.


Cada bloco da cadeia de bloqueio contém uma variedade de informações que podem ser categorizadas em valores fixos e variáveis.

Este valor variável é chamado de nonce (número aleatório), e o processo de encontrar um valor de entrada com zeros iniciais variando o nonce é chamado de PoW em Bitcoin.


Uma vez concluído o processo PoW, foi formado um bloco na cadeia de bloqueio.

Cada bloco contém o valor do hash do bloco anterior.

Portanto, se quiser alterar qualquer bloco, tem de alterar os dados de todos os blocos ligados depois desse bloco.

É por isso que se diz que as correntes de bloqueio são tão difíceis de manipular.


Check your achievement

Click the “Tick” button
if you understand the lesson so far.

Construção de consensos através da Prova de Trabalho

Os PBO também podem ser utilizados para determinar cuja opinião é representativa de um grupo de pessoas não especificadas num processo de tomada de decisão.

Num PoW, um direito de participação é atribuído a cada CPU.

Isto significa que é difícil assegurar um grande número de participações, e que se pode esperar um processo de tomada de decisão verdadeiramente justo.


A cadeia com o maior esforço computacional de PoW será naturalmente a cadeia mais longa.

Esta cadeia mais longa será o representante do grupo não especificado no processo de tomada de decisão.

Isto baseia-se na ideia de que se a maioria das CPUs são controladas por bons nós, então a cadeia será a que crescerá mais rapidamente.


Check your achievement

Click the “Tick” button
if you understand the lesson so far.

Ajustar a dificuldade de construção de consensos

A adulterabilidade de uma cadeia de blocos diminui exponencialmente com o número de blocos que se seguem a um determinado bloco. (Quanto mais blocos se seguem, mais trabalho é necessário para os manipular.

A fim de alterar um bloco a partir de um certo ponto no passado, é necessário recriar o bloco por PoWing todos os blocos que o seguem.

Para adulterar um bloco em algum momento no passado, é necessário recriar o bloco, reescrevendo todos os blocos da cadeia depois desse bloco, e é preciso fazê-lo mais rapidamente do que o bloco correcto.

Isto é porque a cadeia mais longa será a correcta.


Vamos agora estudar brevemente a probabilidade de uma cadeia incorrecta ultrapassar uma cadeia correcta.

Os PBO são concebidos de tal forma que a dificuldade do próprio PBO não flutua devido às melhorias da Lei de Moore no desempenho do hardware ou devido ao número de participantes no PBO.

Isto porque é fácil para uma cadeia desonesta ultrapassar uma cadeia legítima se o nível de dificuldade flutuar.

Este nível de dificuldade chama-se Dificuldade e é automaticamente ajustado para assegurar que o número de blocos gerados por hora permaneça constante.

Se o número de blocos por hora aumenta, a dificuldade do PBO aumenta, e se o número de blocos por hora diminui, a dificuldade do PBO diminui.


Check your achievement

Click the “Tick” button
if you understand the lesson so far.

Lição 4: "Prova de trabalho" Compreender como funciona a construção de consensos

0%

0%

Ainda não completou todas as lições. Vamos completá-los todos antes de fazer o teste!

Clique no botão abaixo para iniciar o teste.