Globalcode – Open4education Trilha - Fintech Blockchain e Smart Contracts Cicero Zandona Arquiteto - Tech Lead – Fintech BM&FBovespa [email protected] - ciczan.com
Globalcode – Open4education
Trilha - FintechBlockchain e Smart Contracts
Cicero ZandonaArquiteto - Tech Lead – Fintech
BM&[email protected] - ciczan.com
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.
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.
?
?
?
?
?
?
Globalcode – Open4education
Algoritmo de Consenso
1.Um nó agrupa um conjunto de operações (bloco)2.“Sela” este bloco3.Os outros nós concordam com este bloco4.O bloco seguinte é “amarrado” no anterior
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
Globalcode – Open4education
Nonce: Chute
Hello,w orld!0 = > 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64Hello,w orld!1 = > e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8Hello,w orld!2 > ae37343a357a8297591625e7134cbea22f5928be8ca2a32aa475cf05fd4266b7...Hello,w orld!4248 = > 6e110d98b388e77e9c6f042ac6b497cec46660deef75a55ebc7cfdf65cc0b965Hello,w orld!4249 = > c004190b822f1669cac8dc37e761cb73652e7832fb814565702245cf26ebb9e6Hello,w orld!4250 = > 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
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
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”
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
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
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/
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