Slides da palestra ministrada na UFABC (Universidade Federal do ABC), em São Paulo, no dia 29/04/2016.
Conteúdo técnico porém introdutivo, elaborado para as faculdades de Computação, Ciências Cognitivas e Matemática.
Bitcoin e blockchain. Afinal, é uma moeda ou um ativo?
Blockchain 2.0 - O Bitcoin além do dinheiro digital
1.
2.
3. Blockchain 2.0
O Bitcoin além do dinheiro
digital
Palestra UFABC Março/2016
Edilson Osório Junior
4. Conteúdo Programático
❏ O Bitcoin
❏ O Blockchain da rede Bitcoin
❏ Protocolo Blockchain 2.0 (ou Bitcoin 2.0)
❏ Informações no Blockchain
❏ Plataformas para desenvolvimento do Blockchain 2.0
❏ Aplicações utilizando o protocolo Blockchain 2.0
❏ Blockchain 2.0 em outras criptomoedas
10. O que é o Blockchain?
O Blockchain é o livro de registros público onde ficam armazenadas todas
as transações efetuadas utilizando bitcoins.
11. Como a transação é armazenada
no Blockchain?
● Uma transação é enviada por
broadcast para a rede
● Um minerador interessado no fee adiciona
a transação em um bloco
● O processo de mineração confirma o bloco
12. Como verificar as transações
Utilizando os chamados block explorers:
http://blockchain.info
http://insight.bitpay.com
https://blockexplorer.com
https://chain.so
Outros exemplos: https://www.reddit.
com/r/BrasilBitcoin/comments/3fyiwd/alternativas_para_o_blockchaininfo/
15. Blockchain 2.0 - O Protocolo
O poder do Blockchain para outros usos além da moeda:
● Utiliza o Blockchain da rede Bitcoin ou de outras criptomoedas
● Possibilidade de criar uma nova moeda (ou não)
● Próxima geração de dev
● Aumenta flexibilidade do uso como moeda
● Garante uma gama muito superior de tipos de transação
● Proporciona uma economia nova, para novos tipos de ativos
16. Blockchain 2.0 - Usos propostos
● Pode ser usado para confirmar/transferir qualquer propriedade
● Financeiro
○ Dinheiro, ações, investimento, crowdfunding, títulos e derivativos
● Registros Públicos
○ Imóveis, terrenos, registro de veículos, licença comercial, passaporte, IDs (RG/CPF)
● Registros Privados
○ Contratos, assinaturas, testamentos, obrigações, garantias
● Chaves Físicas
○ Acesso à casa, hotéis, aluguel de carros, chave de carros
● Intangíveis
○ Patentes, marcas, reservas, nomes de domínio, apostas
18. Mensagem do Minerador (Coinbase)
https://blockchain.
info/tx/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afde
da33b
04ffff001d0104455468652054696d65732030332f4a616e2f3230303920436861
6e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f75
7420666f722062616e6b73
Usar http://www.rapidtables.com/convert/number/hex-to-ascii.htm para
converter o hexadecimal
"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
20. Utilizando campos OP_scripts como carteira multi-
assinada
Bitcoin Paper
https://blockchain.
info/tx/54e48e5f5c656b26c3bca14a8c95aa583d07ebe84dde3b7dd4a78f4e41
86e713
Códigos hexadecimais encadeados, enviados para carteiras fictícias através do
campo utilizado para carteiras multi-assinadas OP_1 (max 520 bytes, porém
517 bytes utilizáveis)
Paper original: https://bitcoin.org/bitcoin.pdf
21. Utilizando endereço de wallet
para mensagem
Endereço bitcoin possui até 34 caracteres
https://en.bitcoin.it/wiki/Vanitygen
http://bitcoinvanitygen.com/index.php (risco de roubo = não confiável)
Exemplo:
● 1CounterpartyXXXXXXXXXXXXXXXUWLpVr
● 1oriGMy27TK1YyrJuYxPvRparcf5HKuxs
22. Nelson Mandela (1918-2013)
"I am fundamentally an optimist. Whether that comes from nature or nurture, I cannot say. Part of being optimistic is
keeping one’s head pointed toward the sun, one’s feet moving forward. There were many dark moments when my
faith in humanity was sorely tested, but I would not and could not give myself up to despair. That way lays defeat and
death."
"I learned that courage was not the absence of fear, but the triumph over it. The brave man is not he who does not
feel afraid, but he who conquers that fear."
"Difficulties break some men but make others. No axe is sharp enough to cut the soul of a sinner who keeps on
trying, one armed with the hope that he will rise even in the end."
Armazenamento no endereço público
23. Armazenamento no endereço público
Transação:
https://blockchain.
info/tx/8881a937a437ff6ce83be3a89d77ea88ee12315f37f7ef0dd3742c30eef9
2dba
Hex 334E656C736F6E2D4D616E64656C612E6A70673F = [nome do arquivo]
25. Armazenamento no endereço público
● Endereço: 1749vn7Y5mhjZEYzJEKpzdxw9AJX4mCQLe
● Mensagem armazenada no HASH160
● Verificar decodificando o hex
26. Armazenando no endereço público
Mensagem de 20 caracteres
Ex. "Bitcoin na Pratica " (+ 2 espaços ao final) =
426974636f696e206e6120507261746963612020
Para converter: http://www.rapidtables.com/convert/number/ascii-to-hex.htm
https://blockchain.
info/q/hashtoaddress/426974636f696e206e6120507261746963612020
https://blockchain.info/address/1749vn7Y5mhjZEYzJEKpzdxw9AJX4mCQLe
27. Campo OP_RETURN
● Baixou de 80 bytes para 40 bytes por motivo de spam (e tamanho de
bloco, etc.) e voltou novamente para 80bytes
● Utilizado para armazenar informação em hexadecimal
As informações registradas no OP_RETURN podem representar:
● Trading
● Votação
● Smart property
● Smart contracts
● Programa de milhagem
● Controle de acesso
● Uma moeda própria
30. Colored Coins
É um protocolo open-source para a criação de novos ativos digitais
utilizando a infraestrutura do Blockchain
https://www.youtube.com/watch?v=fmFjmvwPGKU
Wallet Coinprism e um plugin para Copay já aceitam Colored Coins
31. Colored Coins: Casos de Uso 1
Comprovar documentação/ID
Compra e venda de veículos inteligentes, com transferência de propriedade
● Transferência de tokens que representam a propriedade sobre o carro
● O carro liga somente se detectar que o motorista detém os tokens
● O vendedor envia os tokens e recebe o pagamento na mesma transação,
em tempo real (smart contract)
32. Colored Coins: Casos de Uso 2
Compra de Ingressos para shows
● Rápida transferência do ativo 'ingresso' utilizando uma wallet
● Sem risco de fraudes
● Econômico (dinheiro e recursos)
33. Colored Coins: Casos de Uso 3
Instrumento financeiro: IPO de empresas
● Emitir ações e entregar diretamente para os novos investidores
● As ações habilitam os investidores a acompanhar seus investimentos,
votar e receber seus dividendos
● Investidores podem comprar e vender as ações no mercado P2P
● O Blockchain provê integridade, auditabilidade, governança e
transferência de propriedade.
34. Colored Coins: Casos de Uso 4
Democracia Digital: habilitando votação baseada no Blockchain
● Todos os votos são gravados no Blockchain
● Transparência no processo de votação
● Resultados em tempo real
● Modernização do processo democrático
● Seguro
● Econômico (dinheiro e recursos)
36. Blockstream
Plataforma para a criação de sidechains através do Sidechain Elements.
● Estende a funcionalidade do Bitcoin através de sidechains
● Interoperabilidade com o Blockchain da rede Bitcoin
● Lightning Network (https://lightning.network/lightning-network-paper.pdf)
https://blockstream.com/sidechains.pdf
43. O que é Ethereum?
Plataforma para a criação de DAPPs e Smart-Contracts
● Blockchain 'inteligente' > Bitcoin + Colored Coins + Blockstream juntos
● Aplicações complexas descentralizadas
● Equipe conhecida e roadmap claro
● Criptomoeda Ether usada como insumo para as aplicações
● Linguagens de programação similares às conhecidas
○ Solidity like Javascript
○ Serpent like Python
https://www.ethereum.org
46. O que é Lisk?
Plataforma para a criação de DAPPs e Smart-Contracts
● Baseada em Javascript
● 2 man crypto
● 2o maior crowdsale de sucesso: USD 6mi+
● Aguardando lançamento oficial (testnet)
● Apresenta bom roadmap
● Mining por DPoS
https://lisk.io
48. Onename
https://onename.com/
Blockchain ID
● Conecte seu blockchain ID na sua assinatura de email, blog ou site
● Compartilhe sua identidade única nas redes sociais
● Através da sua chave pública, você pode receber mensagens
criptografadas
● Autentica assinaturas digitais de outros usuários
● Login em apps e websites sem utilizar senha
49. Storj.io
http://storj.io/
Sistema Descentralizado de Cloud Storage
● Utiliza a sua banda e armazenamento disponibilizado por você.
● Recompensa $$$ pela disponibilização de recursos da máquina
● Fragmenta os arquivos e distribui
● Utiliza o sistema de chaves pública/privada do Blockchain para identificar
o owner dos arquivos criptograficamente
50. Factom
http://factom.org/
Protocolo para registro de arquivos e informações no Blockchain
● Protocolo Open-Source
● Auditoria
● Registro de informações
Estava desenvolvendo um projeto para registro de terras em Honduras.
53. Gems
http://getgems.org/
Sistema de messaging utilizando o Blockchain
● Sistema de wallet para transferência de fundos
● Criptografa mensagens, imagens, vídeo
● Permite criar grupos de até 200 pessoas
56. BlockVerify
http://blockverify.io/
Solução anti-falsificação baseada no Blockchain
● Farmacêutica: solução através do suply chain que garante ao consumidor
receber o produto autêntico
● Itens de Luxo: diretamente junto ao fabricante, verifica e garante a
qualidade dos itens.
● Diamantes: sistema que emite certificados para prevenção de fraudes
● Eletrônicos: trabalha diretamente com o fabricante para garantir a origem
dos equipamentos
57. Everledger
http://everledger.io/
Certificação de autenticidade para diamantes
● Protege contra os desvios de diamantes utilizados para o tráfico
● Garante que o diamante minerado é o mesmo entregue.
● Certifica blocos de 1000 diamantes
● Mantém uma lista pública, com as assinaturas digitais dos diamantes
certificados
59. BitNation
https://bitnation.co/
Plataforma global e descentralizada de governo
● Legal
○ ID System | Dispute Resolution | Marriage & Divorce | Corporate Incorporation | Land Titles | Birth & Death CertifIcates |
Childcare Contract
● Insurance
○ HealthCare | Unemployment | Pensions | Basic Income
● Social Services
○ Education | Community Management
● Security
○ Peer-To-Peer Protection | Individual Security | Contract Enforcement
● Diplomacy
○ Advocacy | Crisis Negotiations | Space Exploration
60. Slock.it
http://slock.it
Fechadura inteligente baseada em Ethereum
● A fechadura gerencia a própria agenda se coloca à disposição para ser
locada
● Envia o token criptográfico para o locatário
● Solicita e paga pela própria manutenção
● No fim do mês, divide os lucros a empresa mantenedora
61. http://digitalcurrency.unic.ac.cy/certificates
Registro acadêmico de certificados
● Permite que qualquer pessoa valide um certificado emitido pela universidade, sem precisar
contatar a universidade
● O processo de validação pode ser efetivado mesmo que a universidade deixe de existir
● Armazena hashes SHA256 de todos certificados emitidos para a turma em um arquivo índice
● Registra o hash SHA256 do índice no campo OP_RETURN, utilizando o www.proofofexistence.
com
● Distribui os índices e encoraja que ele seja compartilhado nas redes sociais, para garantir a
disponibilidade publicamente
● Significa que se o hash de um certificado está no índice registrado no Blockchain, então ele foi
emitido pela entidade
Universidade de Nicosia
69. OriginalMy.com - 1a empresa brasileira
https://originalmy.com
Assinatura digital, certificação e registro de documentos e contratos digitais
● Comprova autenticidade de obras com propriedade intelectual
● Garante o first-use de marcas
● Identifica violação na integridade de documentos, mesmo sem armazená-los
● De maneira confidencial, assina contratos vinculando diversas partes ao
documento
● Emite Certificado Digital
● Pagamento em R$ ou BTC
● Única que opera nas redes Bitcoin e Ethereum
● Prova de Autenticidade para Conteúdo Web
70. Certificado ECDSA
Documento exemplo registrado
https://originalmy.
com/bitregistro/0ea674adb018c04af3f6e8
2ea513735a9fcd7e3df75b6d795f6bbccb15
8ca079
Baixar e validar em
https://insight.bitpay.com/messages/verify
71. Processo de Registro
Entendendo Entradas e Saídas de Transações
http://www.imponderablethings.com/2013/07/how-bitcoin-works-under-hood.html
https://youtu.be/t5JGQXCTe3c
https://youtu.be/Lx9zgZCMqXE
72. Processo de Registro (cont.)
Criação da transação
● Calcula o hash <SHA256> do arquivo (https://pt.wikipedia.org/wiki/SHA-2)
● Montando a entrada
○ Escolhe um dos Unspent Outputs da carteira 1oriGMy27TK1YyrJuYxPvRparcf5HKuxs para usar como entrada na transação
que está sendo criada (https://blockchain.info/unspent?active=1oriGMy27TK1YyrJuYxPvRparcf5HKuxs&format=json)
● Montando a saída[] (array)
○ Anexa saída 1: script OP_RETURN <SHA256> em um pagamento de 0 (zero) BTC para nenhum endereço
○ Anexa saída 2: (valor total da entrada - TX_FEE) para o endereço de troco (ou destino).
● Montando a transação
○ nova_transação( versão=1, entrada, saída[], lock_time=0)
● Assinando
○ Assina a nova_transação() com a chave privada e gera a nova rawtx (ex.: https://blockexplorer.
com/api/rawtx/294cb690cc12f36ae6f5ba89c199e05bfc9172042689da22da9257a63b9ea355)
● Enviando
○ Envia a raw_tx para o fullnode fazer o broadcast
○ Links para broadcast (normalmente por POST, ler a documentação de cada um)
■ https://insight.bitpay.com/api/tx/send
■ https://search.bitaccess.ca/api/tx/send
■ https://chain.localbitcoins.com/api/tx/send
■ https://ribbitchain.info/api/tx/send
75. Ex. Duas 'altcoins' voltadas para smart contracts
BitShare - SmartCoins
● Ancorado no dólar
● Moeda própria
● Exchange descentralizada
● 100.000 transações por segundo
● Empréstimos P2P na plataforma
● Blocos de 10 segundos
● DPoS - Delegated Proof-of-Stake
● Possibilidade de transações privadas e
confidenciais
Ethereum - Ether
● Moeda tem valor próprio
● Possibilita criação de moedas
● Exchanges centralizadas ou possiblidade
de exchanges descentralizadas
● Dezenas de milhares de transações por
segundo
● Blocos de 17 segundos
● PoW -> PoS (Proof-of-Work -> Proof-of-
Stake)
● Utilização de blockchain público ou
privado
76. "A transfer of trust
in a trustless
world."
Bitcoin além do dinheiro digital
UFABC Mar/2016
Edilson Osório Junior
osoriojr at originalmy dot com
@eddieoz
OriginalMy.com | CEO
Mar/2016