O documento discute os conceitos fundamentais de blockchain e Bitcoin, incluindo: (1) como a blockchain combina técnicas de computação distribuída, criptografia e teoria dos jogos para permitir um livro-razão distribuído imutável; (2) o processo de mineração usado para manter o consenso na rede; (3) os diferentes tipos de blockchains públicas e privadas.
4. A blockchain é resultado de uma engenhosa combinação de técnicas robustas
provenientes da computação distribuída confiável (tolerância a falhas bizantinas,
sistemas P2P), criptografia (chave assimétrica, funções hash, desafios criptográficos) e
teoria dos jogos (mecanismos de incentivos).
18. Transação e Assinatura digital - Não Repúdio
A B
mensagem
de A para B
texto adicional
gerado pela
privateKey A
publicKey A
mensagem
de A para B
texto adicional
gerado pela
privateKey A
publicKey A
publicKey B
19. Transação e Cifra digital - Sigilo
A B
mensagem
de A para B
gsgs dfgs
dfgdsfg sdfg dsf
g dsfg ds fg gh
reth ty t u et ert
yryrteyr ey
gdfgdfg df
mensagem
de A para B
privateKey BpublicKey B
gsgs dfgs
dfgdsfg sdfg dsf
g dsfg ds fg gh
reth ty t u et ert
yryrteyr ey
gdfgdfg df
26. Livro Caixa Distribuído
From To Qty Sign
0000000000 ABD123F44... 1000 123abc4344...
ABD123F44... BB1223456... 100 993abc4341...
ABD123F44... 2233EE557... 200 663abc4333...
BB1223456... 99AAA324... 50 7777bc4341...
99AAA324... ABD123F44... 25 123abc4554...
27.
28. É necessário um CONSENSO sobre o Livro Caixa Distribuído
A cada rodada vamos dar um jeito de trancar estes
blocos de transações.
29.
30. Mineração
O consenso PoW, juntamente com o mecanismo de recompensa, são a chave para tolerar ataques de
agentes maliciosos na rede. Não é possível para uma minoria de mineradores manipular as transações,
pois a rede como um todo não aceitaria transferência de ativos (ou pagamentos) que não foram
autorizados pelo proprietário dos ativos (ou bitcoins). Além disso, os nós sempre estendem a corrente
mais longa. Para um ataque cibernético, seria necessário que uma maioria (51%) de nós mineradores
entrasse em conluio. Isso envolveria um custo computacional altíssimo [Nakamoto 2008].
32. Mineração
A mineração consiste em aplicar a função hash H sobre o header do bloco
sucessivas vezes, pela variação do valor do nonce, até que o resultado do hash
seja menor do que a dificuldade alvo imposta (target)
33.
34. Blockchain é uma “ledger of facts” replicada em computadores que participam de uma
rede peer-to-peer, onde:
— O ledger é um livro de registros digital, no qual uma vez validado um registro, este
nunca mais poderá ser apagado.
— Um fato (fact) pode significar várias coisas, desde uma transação monetária, a um
conteúdo de determinado documento, ou até mesmo um programa de computador.
— Os membros participantes da rede podem, ou não ser anônimos e são chamados
peers ou “nós”.
— Toda operação ou transação dentro da ledger é protegida por tecnologias
criptográficas de assinatura digital, inclusive para identificar os nós emissores e
receptores das transações.
36. Na evolução de projeto da blockchain, são destacadas três fases [Bashir 2017]:
● A Blockchain 1.0 envolve o lançamento do Bitcoin em 2008, com as primeiras
implementações das criptomoedas, e um ecossistema de aplicações e
pagamentos com o ativo digital.
● A Blockchain 2.0 inicia-se com a proposta inovadora dos contratos
inteligentes em 2013.
● A Blockchain 3.0 caracteriza a adoção da tecnologia blockchain no benefício
de aplicações em diversas áreas, para além da financeira: governo,
comércio, artes, saúde, cidades digitais, etc...
37.
38.
39.
40. Públicas (public Blockchain): Bitcoin, Ethereum, Coinbase, entre outras;
Privadas (enterprise Blockchain): Ripple, Chain, Hyperledger, DAH (Digital Asset Holdings), etc.
41. O(lg(n))
Para termos a segurança da transação K, precisamos dos seguintes hashes: H(L), H(IJ), H(MNOP) e
H(ABCDEFGH). Assim temos a certeza referente a transação K. Tudo isso é feito muito rápido em lg(n)
sendo n o número de nós da árvore
Merkle Tree
42. Merkle Tree é uma estrutura de dados voltada para permitir a fácil verificação da presença de uma certa
informação em um certo local
43.
44.
45. Desafio 1 – Identificar qual problema ou processo pode realmente ser beneficiado
com o uso do Blockchain
● O problema que quero resolver envolve múltiplos agentes que devem
compartilhar decisões e/ou informações?
● Deve existir algum tipo de transação entre esses agentes que torna importante o
registro do histórico?
● Essa transação deve ser registrada segundo uma determinada regra de
consenso?
Desafio 2 – Pagar o preço de ser inovador
● Ausência de documentação.
● Potenciais falhas técnicas ainda não conhecidas.
● Ausência de suporte, de produtos vinculados e falta de profissionais.
46.
47. Problema dos Generais Bizantinos
Os generais devem chegar a um consenso se atacam ou recuam.
● Se todos os generais bizantinos atacarem, a vitória é certa.
● Se nenhum general bizantino atacar, o império sobrevive.
● Se alguns atacarem, então o império ruirá.