"Resumo. Uma versão puramente peer-to-peer de dinheiro eletrônico permitiria que pagamentos on-line fossem enviados diretamente de uma parte para outra, sem passar por uma instituição financeira. As assinaturas digitais fornecem parte da solução, mas os principais benefícios são perdidos se um terceiro confiável ainda é necessário para evitar o gasto duplo. Nós propomos uma solução para o problema de gasto duplo usando uma rede peer-to-peer. A rede insere data e hora nas transações através de um hash em uma cadeia contínua de prova-de-trabalho à base de hash, formando um registro que não pode ser alterado sem refazer a prova-de-trabalho. A cadeia mais longa não só serve como prova da seqüência de eventos testemunhados, mas prova de que ela veio do maior pool de CPUs. Enquanto a maioria do poder das CPUs é controlado por nós que não estão cooperando para atacar a rede, eles irão gerar a cadeia mais longa e superar os atacantes. A própria rede requer estrutura mínima. As mensagens são espalhadas em regime de melhor esforço, e nós podem sair e regressar a rede à vontade, aceitando a cadeia mais longa de prova-de- trabalho, como prova do que aconteceu enquanto eles estavam fora."
Dissecando o Paper do Bitcoin - O Resumo
Após tratar como o bitcoin foi inicialmente recebido, vou dissecar o paper do satoshi. Como pretendo fazer um trabalho que aos poucos vai se expandindo, minha ideia é começar pelo resumo, depois pela introdução, seguido de transações, e assim por diante.
Vamos lá: O Resumo, como todo paper, vai trazer o que o documento vai dizer em si, obviamente é trazer mais detalhes nos posts subsequentes.
O que é Peer-to-Peer (P2P)?
Basicamente o Satoshi Nakamoto propõe um dinheiro que usa a rede peer-to-peer (P2P). Como o próprio resumo afirma: "Uma versão puramente peer-to-peer de dinheiro eletrônico permitiria que pagamentos on-line fossem enviados diretamente de uma parte para outra, sem passar por uma instituição financeira."
Se você já é meio velho como eu, e teve uma infância regada a emule, kazaa, limewire, torrent, etc, você já deve ter uma boa noção do que seja P2P. Eu me lembro, vários anos atrás quando li "Redes de Computadores, uma Abordagem Top Down" de Kurose.1 Aonde o capitulo voltado a aplicação, ele gastava longas páginas falando sobre a rede P2P e como ela funcionava.
Basicamente, é uma rede onde não existe um servidor central, e sim vários pontos (peers - ou pares?) que se comunicam entre si, trocando informações.
O Problema Central: O Gasto Duplo
A proposta desse paper é justamente a criação de uma maneira para evitar o "gasto duplo" (double spending). Satoshi nota que os métodos existentes eram insuficientes: "As assinaturas digitais fornecem parte da solução, mas os principais benefícios são perdidos se um terceiro confiável ainda é necessário para evitar o gasto duplo."
Antes da gente prosseguir, vamos entender o que seria o gasto duplo. Imagine que você, fisicamente, vai até uma padoca e pede uma coxinha com uma coca cola. O total dá exatos 15 reais. Você entrega ao caixa exatamente uma nota de 10 reais e outra de 5 reais. Esse dinheiro fisicamente (lembrando, estamos falando de dinheiro físico, impresso. Nada de pagar via cartão ou via pix) vai da sua mão para a mão do caixa. Você não pode sair da padaria e ir a uma banca de jornal, por exemplo, e comprar um gibi da turma da monica com as exatas notas que entregou ao caixa da padaria, porque as notas já estão com o caixa. No mundo físico, essas exatas notas só são usadas uma vez, pois só podem estar em um lugar ao mesmo tempo.
No mundo digital é mais complexo, imagine que eu tenha o dinheiro em uma conta e pague o caixa da padaria sem passar por nenhum intermediador, eu poderia apenas enviar uma cópia desse dinheiro e não o dinheiro real. Por isso usamos intermediadores como o banco. Funciona assim: vou pagar a padaria no total de quinze reais, o banco consulta minha conta e vê que eu tenho esse dinheiro disponível. O banco então debita o dinheiro da minha conta e credita o dinheiro na conta da padaria. É o que estamos acostumados no dia a dia. Se não tenho esse dinheiro, não tem transação.
A Solução de Satoshi
A proposta do Satoshi é tirar a camada de complexidade do intermediador, resolvendo assim o problema do gasto duplo. Quem valida que eu não estou falsificando o dinheiro digital enviado para alguém? A resposta é usar a rede P2P. O método proposto é o seguinte: "A rede insere data e hora nas transações através de um hash em uma cadeia contínua de prova-de-trabalho à base de hash, formando um registro que não pode ser alterado sem refazer a prova-de-trabalho."
Isso torna a rede segura, pois, como o paper conclui: "Enquanto a maioria do poder das CPUs é controlado por nós que não estão cooperando para atacar a rede, eles irão gerar a cadeia mais longa e superar os atacantes."
-
"Redes de Computadores, uma Abordagem Top Down" por James F. Kurose e Keith W. Ross. É um livro-texto clássico de ciência da computação. ↩