4. Prova de Trabalho

Para implementar um servidor de carimbo de data/hora distribuído ponto a ponto, precisaremos usar um sistema de prova de trabalho semelhante ao Hashcash de Adam Back[6], em vez de postagens em jornais ou Usenet.

A prova de trabalho envolve a varredura de um valor que, quando hash, como no SHA-256, o hash começa com um número de zero bits. O trabalho médio necessário é exponencial no número de zero bits necessários e pode ser verificado executando um único hash.

Para nossa rede de carimbo de data/hora, implementamos a prova de trabalho incrementando um nonce no bloco até que seja encontrado um valor que forneça ao hash do bloco os zero bits necessários.

Uma vez que o esforço da CPU tenha sido despendido para satisfazer a prova de trabalho, o bloco não pode ser alterado sem refazer o trabalho. À medida que os blocos posteriores são encadeados após ele, o trabalho para alterar o bloco incluiria refazer todos os blocos posteriores.

A prova de trabalho também resolve o problema de determinação da representação na tomada de decisão por maioria. Se a maioria fosse baseada em um endereço IP, um voto, ela poderia ser subvertida por qualquer pessoa capaz de alocar muitos IPs.

A prova de trabalho é essencialmente uma CPU-um-voto. A decisão majoritária é representada pela cadeia mais longa, que possui o maior esforço de prova de trabalho investido nela.

Se a maior parte do poder da CPU for controlada por nós honestos, a cadeia honesta crescerá mais rapidamente e ultrapassará quaisquer cadeias concorrentes

Para modificar um bloco anterior, um invasor teria que refazer a prova de trabalho do bloco e de todos os blocos posteriores e então alcançar e superar o trabalho dos nós honestos.

Mostraremos mais tarde que a probabilidade de um invasor mais lento alcançá-lo diminui exponencialmente à medida que blocos subsequentes são adicionados.

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 da prova de trabalho é determinada por uma média móvel visando um número médio de blocos por hora. Se forem gerados muito rápido, a dificuldade aumenta.

#BinanceSquare

#BTC

#BitcoinWorld

#uniswap

#ftx