A maior rede de estudos do Brasil

Grátis
288 pág.
Mastering_Bitcoin

Pré-visualização | Página 1 de 50

Elogios para 'Mastering Bitcoin'
"Quando eu falo sobre bitcoin para o público em geral, às vezes me perguntam
'mas como que isso realmente funciona?' Agora eu tenho uma ótima resposta
para essa pergunta, porque qualquer um que ler o Mastering Bitcoin terá um
entendimento aprofundado de como ele funciona e estará bem preparado para
desenvolver a nova geração de incríveis aplicativos de criptomoedas."
— Gavin Andresen, Cientista Chefe da Bitcoin Foundation
"As tecnologias do Bitcoin e da blockchain estão se tornando peças
fundamentais na construção da próxima geração da internet. Os melhores e
mais brilhantes profissionais do Vale do Silício estão trabalhando nisso. O livro
do Andreas irá ajudá-lo à juntar-se à revolução do software no mundo das
finanças."
— Naval Ravikant, Co-fundador da AngelList
"Mastering Bitcoin é a melhor referência técnica sobre o bitcoin atualmente
disponível. E o bitcoin provavelmente será visto retrospectivamente como a
tecnologia mais importante dessa década. Como tal, esse livro é um item
indispensável para qualquer desenvolvedor de software, especialmente
aqueles interessados em construir aplicativos com o protocolo bitcoin.
Altamente recomendado."
— Balaji S. Srinivasan (@balajis), General Partner
“A invenção da Blockchain do Bitcoin representa uma plataforma
completamente nova, que irá possibilitar um ecosistema tão amplo e diverso
quanto a própria Internet. Como um dos proeminentes líderes da ideologia,
Andreas Antonopoulos é a escolha perfeita para escrever esse livro."
— Roger Ver, Empreendedor e Investidor Bitcoin
1
Índice
Prefácio
Escrevendo o Livro do Bitcoin
A primeira vez que ouvi falar em bitcoin foi em meados de 2011. Minha reação imediata foi mais ou
menos essa "Pfft! Dinheiro de nerd!" e eu ignorei-o por mais seis meses, sem compreender a sua
importância. Esta é uma reação que eu tenho observado com frequência entre muitas das pessoas mais
inteligentes que conheço, o que me dá algum consolo. A segunda vez que me deparei com bitcoin, em
uma lista de discussão, eu decidi ler o seu "manual de instruções" oficial, o white paper escrito por
Satoshi Nakamoto, para ver do que se tratava. Ainda me lembro do momento em que eu terminei de
ler aquelas nove páginas, quando eu percebi que bitcoin não era simplesmente uma moeda digital,
mas uma rede de confiança que também poderia servir de base para aplicações muito mais avançadas
do que apenas moedas. Após constatar que o bitcoin não é dinheiro, mas sim uma rede de confiança
descentralizada, comecei uma viagem de quatro meses para devorar cada pedaço de informação que
eu poderia encontrar sobre o assunto. Eu me tornei obcecado e encantado, gastando 12 ou mais horas
por dia colado ao monitor, lendo, escrevendo, codificando e aprendendo o máximo que pude. Após
pular muitas refeições, saí desse período de obsessão 9 quilos mais magro e determinado a dedicar-me
a trabalhar com bitcoin.
Dois anos depois, após criar várias pequenas startups para explorar serviços e produtos relacionados
ao bitcoin, eu decidi que estava na hora de escrever meu primeiro livro. O Bitcoin foi um tópico que
me levou a um frenesi de criatividade e consumiu meus pensamentos; Foi a tecnologia mais
empolgante que eu encontrei desde que conheci a Internet. Estava na hora de compartilhar minha
paixão sobre essa incrível tecnologia com uma audiência mais ampla.
Público Alvo
Esse livro foi escrito principalmente para programadores. Se você sabe alguma linguagem de
programação, esse livro irá ensiná-lo como as moedas criptográficas funcionam, como utilizá-las e
como desenvolver softwares que trabalhem com elas. Os primeiros capítulos também são adequados
como uma introdução aprofundada ao bitcoin para não-programadores, que queiram entender o
funcionamento interno do bitcoin e das criptomoedas.
Convenções Usadas Neste Livro
As seguintes convenções tipográficas são usadas neste livro:
Itálico
Indica novos termos, URLs, endereços de e-mail, nomes e extensões de arquivos.
Largura constante
Usada para listagem de programas, assim como dentro de parágrafos para se referir a elementos de
programas como variáveis e nomes de funções, banco de dados, tipos de dados, variáveis de
1
ambiente, declarações e palavras-chave.
Largura constante em negrito
Mostra comandos ou outro texto que deveria ser digitado literalmente pelo usuário.
Largura constante em itálico
Mostra um texto que deveria ser substituído por valores fornecidos pelo usuário, ou valores
determinados pelo contexto.
TIP Esse ícone é usado em dicas, sugestões ou notas em geral.
WARNING Esse ícone indica uma mensagem de aviso ou cuidado.
Exemplos de Códigos
Os exemplos são ilustrados em Python, C++ e usando uma linha de comando de um sistema
operacional do tipo Unix, como Linux ou Mac OS X. Todos os snippets de códigos estão disponíveis no
GitHub repository repositório GitHub no subdiretório code do repositório principal. Você pode fazer
um fork do código do livro, testar exemplos de códigos ou enviar correções via GitHub.
Todos os snippets de códigos podem ser replicados na maioria dos sistemas operacionais com uma
instalação mínima dos compiladores e interpretadores das linguagens correspondentes. Quando
necessário, nós providenciaremos as instruções básicas da instalação e exemplos passo-a-passo do
resultado dessas instruções.
Alguns dos snippets de códigos e do output do código foram reformatados para a impressão. Em todos
esses casos, as linhas foram divididas por uma barra invertida (\), seguida por um caractere de nova
linha. Ao transcrever os exemplos, remova estes dois caracteres e una as linhas novamente, obtendo
resultados idênticos aos mostrados no exemplo.
Todos os snippets de códigos, sempre que possível, usam valores e cálculos reais, de maneira que você
possa construir de exemplo a exemplo e observar os mesmo resultados em qualquer código que você
escrever para calcular os mesmos valores. Por exemplo, as chaves privadas e seus endereços e chaves
públicas correspondentes são reais. As amostras de transação, blocos e referências à blockchain foram
realmente introduzidas na blockchain do bitcoin e fazem parte do ledger público, para que você possa
revisá-las em qualquer sistema bitcoin.
Agradecimentos
Este livro representa o esforço e contribuições de muitas pessoas. Agradeço por toda ajuda que recebi
de amigos, colegas e até desconhecidos, que se juntaram a mim nessa tarefa de escrever o livro técnico
definitivo sobre criptomoedas e bitcoin.
É impossível fazer uma distinção entre a tecnologia Bitcoin e a comunidade bitcoin — e este livro é um
produto tanto dessa comunidade quanto é sobre a tecnologia. Meu trabalho nesse livro foi encorajado,
2
https://github.com/aantonop/bitcoinbook
comemorado. apoiado e recompensado por toda a comunidade bitcoin desde o seu início até o fim.
Mais do que tudo, esse livro me permitiu ser uma parte de uma comunidade maravilhosa por dois
anos e não posso agradecer suficientemente por eu ter sido aceito por essa comunidade. Há um
número imenso de pessoas para ser mencionadas pelo nome — pessoas que encontrei em
conferências, eventos, seminários, meetups, encontros de pizza e pequenas reuniões, assim como
tantos que se comunicam comigo via Twitter, Reddit, bitcointalk.org e pelo GitHub e que impactaram
esse livro de alguma forma. Cada ideia, analogia, pergunta, resposta e explicação que você encontrar
nesse livro foi de algum modo inspirada, testada ou melhorada através da interação com a
comunidade. Muito obrigado a todos pelo apoio; esse livro não teria acontecido sem vocês. Serei
eternamente grato.
A jornada para se tornar um autor começa, é claro, muito antes do primeiro livro. Minha língua nativa
(e também na escola) era o grego, e por isso tive que fazer um curso emergencial de inglês escrito
ainda no meu primeiro ano de universidade. Sou muito grato a Diana Kordas, minha professora de
inglês escrito, que muito me ajudou a construir a confiança e as habilidades que precisei naquele ano.
Mais para frente, já como