O documento discute Blockchain e Smart Contracts. Explica o que é Blockchain, como funciona o consenso distribuído através de algoritmos de prova de trabalho, e introduz a plataforma Ethereum que permite a criação de contratos inteligentes através da linguagem Solidity. Apresenta também alguns exemplos de aplicações possíveis de contratos inteligentes.
3. Globalcode – Open4education
YABE (Yet Another Blockchain Explanation)
• Pesquisar sobre o que é o Hype
• Muitas analogias disponíveis
• É um conceito novo
• Estamos entre desenvolvedores
• Devs querem os detalhes. Porque constroem.
4. Globalcode – Open4education
O Problema:
Sincronização Descentralizada
• Rede Peer-to-Peer
• Todos na mesma página
• Mudanças constantes
• Origem descentralizada
• Sem perder a integridade
• Necessário resolver forks.
?
?
?
?
?
?
5. Globalcode – Open4education
Algoritmo de Consenso
1.Um nó agrupa um conjunto de operações (bloco)
2.“Sela” este bloco
3.Os outros nós concordam com este bloco
4.O bloco seguinte é “amarrado” no anterior
6. Globalcode – Open4education
Por que um bloco é aceito?
• Porque o nó trabalhou pra criar o bloco. (mineirou)
• 1 CPU = 1 Voto
• Problema matemático (?)
f (x, y, ?) ==> 000000xxxx
7. Globalcode – Open4education
Nonce: Chute
H ello,w orld!0 = >
1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c
64
H ello,w orld!1 = >
e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7
d8
H ello,w orld!2 >
ae37343a357a8297591625e7134cbea22f5928be8ca2a32aa475cf05fd4266
b7
...
H ello,w orld!4248 = >
6e110d98b388e77e9c6f042ac6b497cec46660deef75a55ebc7cfdf65cc0b96
5
H ello,w orld!4249 = >
c004190b822f1669cac8dc37e761cb73652e7832fb814565702245cf26ebb9
e6
H ello,w orld!4250 = >
0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
10. Globalcode – Open4education
Problema Resolvido
• Máquina de Estados Singleton
• Onipresente
• À prova de fraude e auditável
• Não pode ser parada
Conforme o
Bitcoin foi
crescendo, as
pessoas
começaram a
olhar para o
Blockchain
11. Globalcode – Open4education
Estender a Blockchain
• coloredcoins.org
• “Marcar” Bitcoins
• Usam-se Wallets especiais
• Início dos SmartContracts
• Entretanto...
• Espaço limitado
• Necessita Nó Completo
• Blockchains Especializadas?
“Muitas pessoas inteligentes estavam
gastando muita energia nisto”
12. Globalcode – Open4education
Ethereum
• Pega o conceito Blockchain e dá um passo além
• Linguagem de programação completa
• Plataforma para aplicações distribuídas (DApps)
• A “classe” das DApps são os Contracts
• Rodam em uma Máquina Virtual Distribuída
• Executada por todos os nós.
Ex.: Contrato Futuro
13. Globalcode – Open4education
Solidity
l address (Account):
Externo
Outro Contrato
Chamadas são transações
Mecanismo que evita DOS
e outros erros: Gas
Instância Imutável
14. Globalcode – Open4education
Algumas Aplicações
Instrumentos Financeiros
Jogos
Votações
Crowdfunding
Registro de Propriedade
Sistemas de Avaliação
Venda de Infraestrutura
Governança distribuída
http://dapps.ethercasts.com/
http://www.coindesk.com/7-cool-decentralized-apps-built-ethereum/
16. Globalcode – Open4education
Considerações Finais
Automatização da Confiança
Outras formas de consenso
Blockchains Privadas e de Consórcio
Não Serve Para Tudo
Alta Performance
Único Participante