Prova de trabalho
Um sistema (ou protocolo, ou função) de prova de trabalho (proof-of-work - POW) é uma medida económica para impedir ataques de negação de serviço e outros abusos de serviço, como spam, numa rede, exigindo algum trabalho ao requisitante do serviço, o que normalmente significa tempo de processamento por um computador. O conceito deve-se a Dwork e Naor. Uma caraterística fundamental destes esquemas é a sua assimetria: o trabalho deve ser moderadamente difícil (mas exequível) para o requerente, mas fácil de verificar para o fornecedor do serviço. Esta ideia é também conhecida como função de custo da CPU, puzzle do cliente, puzzle computacional ou função de preço da CPU. É diferente de um CAPTCHA, que se destina a ser resolvido rapidamente por um ser humano e não por um computador. Um sistema popular - usado na mineração de Bitcoin e no Hashcash - usa inversões parciais de hash para provar que o trabalho foi feito, como um símbolo de boa vontade para enviar um e-mail. Por exemplo, o seguinte cabeçalho representa cerca de 252 cálculos de hash para enviar uma mensagem para [email protected] em 19 de janeiro de 2038: X-Hashcash: 1:52:380119:[email protected]:::9B760005E92F0DAE É verificado com um único cálculo, verificando que o hash SHA-1 do carimbo (omitir a parte "X-Hashcash: ") começa com 52 zeros binários, ou seja, 13 zeros hexadecimais: 0000000000000756af69e2ffbdb930261873cd71 A questão de saber se os sistemas de prova de trabalho podem realmente resolver um problema específico de negação de serviço, como o problema do spam, é objeto de debate; o sistema deve tornar o envio de e-mails de spam intrusivamente improdutivo para o spammer, mas também não deve impedir que os utilizadores legítimos enviem as suas mensagens. Os sistemas de prova de trabalho estão a ser utilizados como primitivos por outros sistemas criptográficos mais complexos, como o Bitcoin, que utiliza um sistema semelhante ao Hashcash.
