You are on page 1of 32

Blockchain / Distributed Ledger

FEA – 12.09.2018
George Marcel M. A. Smetana
Blockchain / Distributed Ledger @ Bradesco
Marcel

Missão

 Dominar e disseminar a tecnologia


 Mapear riscos e oportunidades para a Organização Bradesco
 Selecionar os casos de uso mais importantes
 Executar provas de conceito e projetos pilotos

2
Blockchain / Distributed Ledger @ Bradesco
Marcel

Nossa visão

Não acreditamos que o Blockchain / Distributed Ledger seja a


 solução para todo e qualquer problema...
× Em alguns casos, ele não faz o menor sentido.

 Em muitos casos, ele é uma das opções de solução.


Porém, em certos casos, ele pode ser a melhor opção de
% solução.

3
Como transferir valor
entre duas partes?

4
Blockchain / Distributed Ledger
Marcel

Transferência de valor com dinheiro físico

 É fungível:
• Duas ou mais notas podem ser trocadas umas pela outras. Ex.: R$ 10,00 por duas de R$ 5,00.
• O dinheiro, uma vez gasto, não se tem mais a posse dele. Portanto, não é possível passar o mesmo
dinheiro para duas ou mais pessoas diferentes (“double spending” / “duplo gasto”).
 Pode ser anônimo: as partes podem ou não se conhecer.
 Quase impossível de se rastrear.

5
Blockchain / Distributed Ledger
Marcel

Transferência de valor de forma eletrônica


“Bradesco, por favor, “Rony, o Marcel me
transfira R$ 2,00 da pediu para transferir
minha conta para a R$ 2,00 para a sua Transferência com um
conta do Rony” conta” intermediário
confiável (“Trusted
Third Party” – TTP)
entre as partes.

 O TTP:
• Impede o “double spending” e o “double debt” (através do controle de saldo e de transação, por exemplo).
• Conhece a identidade das partes*  Não anonimidade (KYC / PLD)
• Conhece os dados da transação e o saldo das partes*  Não privacidade, mas deve garantir o sigilo bancário
• Consegue rastrear as transações  Rastreabilidade
• Consegue bloquear a movimentação financeira de um cliente  Autoridade / poder
• Pode ou não cobrar uma taxa para executar uma transação  Modelo de negócio
• Pode ser um gargalo do sistema  Escalabilidade 6
Blockchain / Distributed Ledger
Marcel

Transferência eletrônica de valor via P2P (sem um TTP)

T$

 Como fazer a transferência de forma segura, sem possibilidade de fraude?


 Teria que ser fungível...
 Problema: Como evitar o “double spending”?

7
Blockchain / Distributed Ledger
Marcel

Transferência eletrônica de valor via P2P (sem um TTP)

T$ T$

 Difícil evitar o “double spending” sem a


participação de um intermediário confiável...
O bitcoin resolveu esse problema!

8
Blockchain / Distributed Ledger
Marcel

A rede Blockchain como Trusted Third Party (TTP) no bitcoin!

BTC BTC

 No bitcoin, o papel do TTP foi distribuído em uma rede P2P com diversos nós, que não
necessariamente confiam entre si.
Blockchain
 A confiança da rede é obtida através do Blockchain, que é uma combinação sofisticada de algoritmos
criptográficos, computação distribuída e teoria de jogos.
 O Blockchain resolve o problema do “double spending” contando para todos os nós o “saldo”
(criptomoedas não gastas – modelo UTXO) de cada “usuário” 9
Blockchain / Distributed Ledger
Marcel

A origem do Blockchain
Bitcoin P2P e-cash paper 2008-11-01 19:16:33 UTC (Satoshi Nakamoto)
centralized
I've been working on a new electronic cash system that's fully peer-to-peer, with no trusted third party.
The paper is available at: http://www.bitcoin.org/bitcoin.pdf
The main properties: Não é bem assim...
 Double-spending is prevented with a peer-to-peer network.
 No mint or other trusted parties.
 Participants can be anonymous.
 New coins are made from Hashcash style proof-of-work.
 The proof-of-work for new coin generation also powers the network to prevent double-spending.

10
Atomic Swap, Delivery
Versus Payment (DVP) e
Payment Versus Payment
(PVP)

13
Blockchain / Distributed Ledger
Marcel

DVP / PVP entre duas partes diretamente

Bem ou ativo
físico ou digital

 Sem intermediários / TTP


 Pode ser presencial ou remoto
 O que ocorre primeiro: O pagamento ou a entrega?
 Uma parte precisa confiar na outra, mas, por construção, o acordo ou implementação pode
favorecer uma das partes (depende do que ocorre primeiro)
 Risco real e significante (não entrega / não pagamento)
 Se algo der errado na execução da transação, precisa-se de um meio de resolução de conflitos
 Ex.: Comércio, e-commerce 14
Blockchain / Distributed Ledger
Marcel

DVP / PVP com TTP


Bem ou ativo
físico ou digital

TTP

Bem ou ativo
físico ou digital

 Pode ser presencial ou remoto


 Ambas as partes precisam confiar no TTP
 O TTP recebe de ambas as partes e entrega para cada parte o que lhe é devido (“atomic swap”)
 Risco passa a ser o próprio TTP, mas costuma ser baixo
 O TTP cobra ou não por esse serviço (pode encarecer a transação)  Modelo de negócio
 Se algo der errado na execução da transação, o TTP resolve o conflito. Porém, se o problema for com
o próprio TTP, precisa-se de um meio de resolução de conflitos
 Ex.: Serviço de pagamento na entrega dos Correios, Compra e venda de ações 15
Blockchain / Distributed Ledger
Marcel

DVP com Blockchain + Smart Contracts (SC)


Bem ou ativo
físico ou digital

Bem ou ativo
físico ou digital

 O Blockchain do bitcoin não nasceu para fazer DVP...


 O Ethereum, uma outra plataforma open source de Blockchain, implementou o conceito de Smart
Contracts, que são programas publicados, armazenados e executados no Blockchain
 No Ethereum, um Smart Contract pode fazer o papel do TTP, implementando o DVP, realizando o
“atomic swap” de dois ou mais ativos digitais (“tokens”) armazenados no seu Blockchain
 As transações do Ethereum são armazenadas no Blockchain (“imutáveis”), mas quem codificou o
Smart Contract? Quem o auditou? Quem garante que não há bugs ou código malicioso?  Riscos
 Ex.: ICOs (Forma alternativa de funding via emissão e venda de novas criptomoedas) 16
It is all about Trusted Third
Parties (TTPs)!

17
It is all about Trusted Third Parties (TTPs)!
Marcel

TTP Centralizado TTP espalhado nos nós de um


Blockchain / Distributed Ledger
Transações são garantidas por Transações são garantidas pelo
autoridades conhecidas consenso da rede
Confiança baseada em regulação, Confiança baseada em algoritmos
auditoria e certificados digitais criptográficos

 • Nós anônimos
• Banco   • Nós bem
• Clearing conhecidos
 •

Registradora
Cartório
 

• Órgão governamental  
• ... 
18
Blockchain / Distributed Ledger – Conceitos
Marcel

Trusted Third Parties (TTPs)


 O TTP atende aos meus requisitos funcionais e não funcionais?
• Privacidade
 Eu quero / posso compartilhar meus dados, ainda que criptografados, com outros que não deveriam
/ precisariam ter conhecimento deles?
• Segurança
• Volumetria
• Tempo de confirmação de transação (“time to finality”)
• Questões regulatórias
 BACEN, CVM, SUSEP, etc.
 GDPR
 O direito de ser esquecido!
 Qual o modelo de negócio do TTP?
• Custos
• Forma de pagamento (on-Ledger / criptomoedas x off-Ledger) 19
Conceituação

20
Blockchain / Distributed Ledger
Marcel

Tokenização

 Corresponde à representação digital de um ativo físico ou virtual /


digital em um Blockchain / Distributed Ledger. Ex.:
• Imóveis
• Carros
• Títulos
• Obras de arte
• Metais e pedras preciosos
• Energia elétrica
• Metro quadrado de um imóvel
• Água
21
Blockchain / Distributed Ledger
Marcel

Smart Contracts
 Imutabilidade
 Prova de anterioridade
 Resiliência
+ = 

Autoconciliação
Prevenção a double spend
 Atomic Swap, DvP, PvP
 Padronização
“block chaining” Distributed Ledger Blockchain

Classificação: Evoluções:
Blockchain público / não permissionado  Smart Contracts
X  Algoritmos de consenso mais eficientes
 Mais privacidade: Origem, Destino e Valor
Blockchain privado / permissionado  Maior throughput: 7 tps  1M tps (?)
 Menor tempo para confirmação da transação
 Governança
22
Aplicação do Blockchain /
Distributed Ledger

28
Blockchain / Distributed Ledger
Marcel

Aplicações distribuídas, casos de uso e plataformas

Aplicações Distribuídas / Casos de Uso

Criptomoedas / Digital KYC / Pagamentos e Mercado Registro de Trade Supply


Seguros Securities ...
Ativos digitais Identity AML Transferências de Capitais Informações Finance Chain
Ripple DAH
FX Clearing &
Plataformas Settlement
...
Pagamentos
Empréstimos
Bitcoin Hyperledger JPMC
Ethereum Corda Fabric, Iroha, Chain Multichain Tezos EOS ... REPO
Blockchain Sawtooth, etc.
Quorum
FX

Sistemas Legados

29
Blockchain / Distributed Ledger @ Bradesco
Marcel

Formas de uso do Blockchain / Distributed Ledger


1. Cryptoassets / Tokenização de ativos  Controle do ciclo de vida do ativo:
 Criptomoedas  Unstable coins (sem lastro) x Stable coins (com lastro), emitidas por:
• Blockchains públicos: Bitcoin, Ether, Monero, Dash, Zcash, Circle USD Coin, etc.
• Bancos Centrais (CBDCs), como “settlement coin” ou de propósito geral (“cripto Real”)
• Bancos comerciais  “Bradcoin”
• Empresas
 Pagamentos P2P, DvP, PvP
 ICOs  Questões regulatórias (CVM no Brasil, SEC nos EUA)
• Captação de recursos sem fundos de VC, empréstimos em bancos ou sites de crowdsourcing:
 2017: 552 ICOs – US$ 7 bilhões
 Até junho / 2018: 537 ICOs – US$ 13,7 bilhões
• Atualmente: Startups  Futuramente: Empresas de qualquer tamanho? 30
Blockchain / Distributed Ledger @ Bradesco
Marcel

Formas de uso do Blockchain / Distributed Ledger


2. Registro de hashes de conteúdos / documentos em um Blockchain (público
normalmente)
 Imutabilidade do registro + carimbo de tempo (timestamp)
 Prova de anterioridade / existência daquela informação naquele momento.
• Prova da existência de documentos digitais ou digitalizados
• Propriedade intelectual, registro de marcas e patentes
 Desintermediação de cartórios  “Notarização”:
• Registro de contratos
• Registro de garantias com prevenção a double spend  Não permitir que o mesmo bem seja dado
como garantia em dois ou mais contratos diferentes.

31
Blockchain / Distributed Ledger @ Bradesco
Marcel

Formas de uso do Blockchain / Distributed Ledger


3. Compartilhamento e envio de informações entre as partes envolvidas:
 Dados em geral
 Plataforma de portabilidade e compartilhamento universal:
• Digital Identity
• KYC / AML
• Cadastros
• Salários
• Previdência privada
• Crédito imobiliário
• Categoria de bônus no Seguro Auto
• Dados de fraudes e fraudadores
32
Blockchain / Distributed Ledger @ Bradesco
Marcel

Formas de uso do Blockchain / Distributed Ledger


4. Workflows descentralizados + prova de processo / procedência:
 Supply Chain
 Trade Finance
 Empréstimos sindicalizados / empréstimos corporativos
 Ciclo de vida do Seguro, Resseguro, Co-seguro

33
Eu preciso realmente de
Blockchain / Distributed
Ledger?

34
Blockchain / Distributed Ledger @ Bradesco
Marcel

Eu preciso realmente de Blockchain / Distributed Ledger?


1. Eu consigo resolver o meu problema com APIs e certificados digitais?
2. Eu preciso de um Trusted Third Party (TTP)?
3. Eu tenho problemas de double spend, de reconciliação de dados, etc.?
4. Quais vantagens (e desvantagens!) se usar Blockchain / Distributed Ledger?
5. Quem seriam os nós da minha rede? Quem está no meu ecossistema?
6. Qual plataforma de Blockchain / Distributed Ledger melhor atende aos
meus requisitos funcionais e não funcionais?
7. O custo total com Blockchain / Distributed Ledger ficará menor, igual ou
maior que o meu custo total atual?
Custo Total Atual = C Infraestrutura + C Negócio < C Total Blockchain ? 35
Blockchain / Distributed Ledger @ Bradesco
Marcel

Custos de execução de Smart Contracts no Blockchain do Ethereum


Adição de números em um Smart Contract  c = sum(a, b)
Obs.: GAS PRICE Médio em 23.08.2017 = 28 Gwei, assumindo US$ 300,00 / ETH

Em Python, adicionar dois números 1 milhão de vezes leva cerca de 0,04s.


A Amazon AWS cobra US$ 0,0059/h pela instância EC2 de computador mais barata, a t2.nano.
Isso dá US$ 0,000001639/s. Portanto, a operação custaria US$ 0,000000066.
Comparado a US$ 26,55, o Ethereum é cerca de 400 milhões de vezes mais caro que a Amazon AWS.
Se considerar um GAS PRICE 28 vezes menor (1 Gwei), ainda assim fica cerca de 14 milhões de vezes mais caro!
Se for codificar um Smart Contract em Ethereum precisa investir bastante tempo em otimizações e testar variações,
para redução do custo computacional.

Costs of a Real World Ethereum Contract <https://hackernoon.com/costs-of-a-real-world-ethereum-contract-2033511b3214>


Calculating Costs in Ethereum Contracts https://hackernoon.com/ether-purchase-power-df40a38c5a2f 36
Blockchain / Distributed Ledger @ Bradesco
Marcel

Custos de execução de Smart Contracts no Blockchain do Ethereum


Smart Contract de uma Escrow Account (emissor, recebedor e arbitrador)
108 linhas de código, com comentários!
Obs.: GAS PRICE utilizado em 23.08.2017 = 20 Gwei, assumindo US$ 300,00 / ETH

1. Inicialização do contrato e depósito de ETH 0,5 na conta  ETH 0,01072934 Ether (US$ 3,21)
2. Confirmação por parte do emissor  ETH 0,00093492 Ether (US$ 0,28)
3. Confirmação por parte do arbitrador e depósito na conta do recebedor  ETH 0,00164754 (US$ 0,49)
Custo total = US$ 3,98
Oferecendo um preço menor no GAS PRICE de 0,5 Gwei e tendo que esperar 20 minutos para a confirmação:
1. Sairia por US$ 0,080
2. Sairia por US$ 0,007 Custo total = US$ 0,099
3. Sairia por US$ 0,012

Costs of a Real World Ethereum Contract <https://hackernoon.com/costs-of-a-real-world-ethereum-contract-2033511b3214>


Calculating Costs in Ethereum Contracts https://hackernoon.com/ether-purchase-power-df40a38c5a2f
37
Escrow Script <https://github.com/djrtwo/simple-contracts/blob/0a30f43929dcf6964b833348b62544977078cddb/contracts/escrow.sol>
Blockchain / Distributed Ledger @ Bradesco
Marcel

Custos de execução de Smart Contracts no Blockchain do Ethereum

Armazenando dados
Obs.: GAS PRICE Médio em 23.08.2017 = 28 Gwei, assumindo US$ 300,00 / ETH

Armazenar 256 bits em Ethereum é mais de 6.600 vezes mais caro que somar dois números.
Convém lembrar que o dado está sendo escrito em milhares de nós… Mas eu preciso de toda essa resiliência? Ou de
resistência à censura? Será que armazenar em N nuvens diferentes não seria mais do que suficiente?

Costs of a Real World Ethereum Contract <https://hackernoon.com/costs-of-a-real-world-ethereum-contract-2033511b3214>


Calculating Costs in Ethereum Contracts <https://hackernoon.com/ether-purchase-power-df40a38c5a2f> 38
Blockchain / Distributed Ledger @ Bradesco
Marcel

Custos de execução de Smart Contracts no Blockchain do Ethereum


Armazenando dados (outro estudo)
Obs.: Em 19.07.2017: 1 BTC = US$ 2.518, 1 ETH = US$ 267! BTX GAS PRICE Médio = 28 Gwei

Forever Isn’t Free: The Cost of Storage on a Blockchain Database https://medium.com/ipdb-blog/forever-isnt-free-the-cost-of-storage-on-a-blockchain-


database-59003f63e01
IPDB = Interplanetary Database <https://www.bigchaindb.com/partners/ipdb/>, https://ipdb.io – Obs.: Estimativa de preço do IPDB. 39
Amazon EFS <https://aws.amazon.com/pt/efs/pricing/>