17
Globalcode – Open4education Trilha - Fintech Blockchain e Smart Contracts Cicero Zandona Arquiteto - Tech Lead – Fintech BM&FBovespa [email protected] - ciczan.com

TDC2016SP - Trilha Fintech

Embed Size (px)

Citation preview

Globalcode – Open4education

Trilha - FintechBlockchain e Smart Contracts

Cicero ZandonaArquiteto - Tech Lead – Fintech

BM&[email protected] - ciczan.com

Globalcode – Open4education

Agenda

Blockchain

Smart Contracts

Ethereum e Solidity

Considerações

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

Estrutura do Bloco

Globalcode – Open4education

Blockchain.info

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

Outras Blockchains

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

Globalcode – Open4education

Cicero A W [email protected]/in/ciczanciczan.com