SlideShare a Scribd company logo
1 of 20
Começando
com o Quorum
11
#blockhain #smartcontracts #Ethereum #quorum #contratosinteligentes
1
Permitam apresentar-me…
Jeff Prestes
https://linkedin.com/in/jeffprestes
Libby Kent
Matt Wright
Agradecimentos
3
OObrigado a Libby e ao Matt,
criadores do material original em
inglês, que cederam o conteúdo
para a adaptação e inclusão de
informações que fiz nesta
apresentação em Português
1
O que é o Quorum?
Quorum é um conjunto de software feito para processar transações privadas ou
públicas entre um grupo de participantes conhecidos que criam a sua própria rede
Blockchain.
Ele é de código aberto e mantido principalmente pelo banco JP Morgan
Permissionado – se necessário, só
participantes pré-definidos acessam a rede
Comunidade – Código aberto.
Provado – Ethereum, em produção
desde 2015, prove o protocolo básico do
Quorum. Já testado e maduro.
Confidencialidade – suporte a transações
públicas e privadas
Descentralizada – sem dependencia a um
serviço centralizado ou um participante
Benefícios
5
PRIVACIDADE
IMUTABILIDADE
PERFORMANCE
PERMISSIONAMENTO
Características chaves
• Contratos & Transações Privadas
• Zero Knowledge Layer
• Alta taxa de TPS
• Blocos a cada ~ 50 ms
• Sem forks de rede
• Transações irreversíveis
• Somente parceiros conhecidos
• Permissionamento dentro do protocolo
6
O que posso criar com o Quorum?
Blockchains privadas podem ser úteis nas seguintes situações…
❑ Compartilhamento de dados e processos entre companhias de um conglomerado empresarial
❑ Dados e processos que só fazem sentido dentro de uma cadeia de negócios ou entre parceiros comerciais
❑ Onde não se tem confiança em um controle central. Necessário o compartilhamento de responsabilidades
Deste modo soluções que podem ser criadas com Quorum são…
❑ Sistema de gerenciamento de ativos e cadeia de suprimentos industriais
❑ Decisões multilaterias e distribuídas através de votações e transparência
❑ Auditoria em tempo real e com segurança que os dados avaliados são íntegros
❑ Registro de movimentação de ativos - digitais ou não.
❑ Escrituracão securitaria e contábil.
7
Quorum é uma cópia modificada do Go-Ethereum / GETH
GETH é uma implementação oficial do software de nó (cliente ) da rede
Ethereum desenvolvido usando a linguagem de alta perfomance Go.
Assim sendo, uma rede blockchain criada usando o Quorum recebe todas as
melhorias, testes e robustez da rede Ethereum. Também todas as
ferramentas compatíveis com a rede Ethereum são compatíveis na rede
Quorum.
8
Nó
=
Node
=
Client
=
Cliente
=
Server
=
Servidor
Na prática, o que é o GETH?
9
O GETH é um software instalado num servidor conectado a Internet.
Uns chamam esse software de cliente da rede Ethereum e outros
chamam de nó da rede Ethereum. O mais comum é ser chamado de nó
ou em inglês node.
O seu papel primordial é trocar informações com outros nós da rede
Ethereum.
Como consegue fazer isso? Através de uma lingua comum, ou
protocolo, que todos os nós sabem usar para enviar e receber dados.
Esses dados são trafegados pela Internet.
Gerenciamento de Privacidade
▪ Tessera (Java): Gerenciamento de Transação + Enclave
▪ Suporte a contratos inteligentes privados (privateFor)
▪ Armazenamento privado de dados em contratos inteligentes
onde somente participantes autorizados conseguem ver
10
Conexão IPC / RPC
Nó único
11
Rede Blockchain Quorum
Nó 01
Nó 03
Nó 02
Nó 04
Porta do Quorum
Porta de gerenciamento de
transações
Conexão IPC / RPC
Porta de Consensus
12
Transação pública na rede Quorum
Nó 01
Nó 03
Nó 02
Nó 04
myContract.new(42, {from:$node01,
data:$CODE})
13
Porta JSON RPC (opc)
Porta do Quorum
Porta de gerenciamento de
transações
Conexão IPC / RPC
Porta de Consensus
Transação privadas — Passo 1
Nó 01
Nó 03
Nó 02
Nó 04
myContract.new(42, {from:$node01,
data:$CODE, privateFor:[$node02TM_PUB]})
14
Porta JSON RPC (opc)
Porta do Quorum
Porta de gerenciamento de
transações
Conexão IPC / RPC
Porta de Consensus
Nó 01
Nó 03
Nó 02
Nó 4
myContract.new(42, {from:$node01,
data:$PAYLOAD_HASH})
PS Atualizado
15
Transação privadas — Passo 2
Porta JSON RPC (opc)
Porta do Quorum
Porta de gerenciamento de
transações
Conexão IPC / RPC
Porta de Consensus
PS Atualizado
O que faz da solução de privacidade do Quorum única?
Quorum oferece privacidade descentralizada
■ Sem dependências de um nó central ou serviço para garantir a privacidade
■ Sem dependências de uma aplicação externa para garantir privacidade
■ Arquitetura de rede única: rede que contém transações públicas e privadas que
garante privacidade ao mesmo tempo que garante melhor segurança
■ Desenhado para garantir os requerimentos regulatórios sobre dados dentro do
país e compatível com tecnologias como ZKP também
Permissionamento
▪ Controle quais nós podem se conectar a outros nós da rede
▪ Permissões são gerenciadas no nível dos nós
▪ A lista de Chaves Publicas validadas são definidas manualmente
▪ Modelos de permissionamento baseados em Contratos Inteligentes (ex: uma
única entidade responsável pelo onboarding e definição de regras de entrada)
16
Algoritimos de consensus suportados
Raft
■ Baseado na implementação do etcd do algoritmo RAFT
■ Habilitado via parametro --raft na inicialização do geth
■ Alto throughput, baixa latencia
■ Os blocos são comunicados através da camada de transporte raft e não pelo DEVp2p do Ethereum
■ Não permite Forks, garantindo a imutabilidade da transação
Mais detalhes sobre o algotimo RAFT pode ser encontrado nesse link:
http://docs.goquorum.com/en/latest/Consensus/raft/raft/
Istanbul BFT (Byzantine Fault Tolerant) - Protocolo de Tolerancia a Falhas Bizantino Istambul
■ Commit com após 3 fases de consenso, BFT hardened
■ Validadores são definidos na inicialização da rede e devem ter conexões diretas
■ Habilitados através do bloco “genesis” com a configuração Istanbul ativada e a lista de validadores sendo definida no campo
extraData.
Mais detalhes sobre o algotimo Istambul BFT pode ser encontrado nesse link :
https://github.com/jpmorganchase/quorum-examples/blob/master/examples/7nodes/istanbul-genesis.json
Documentado em detalhes no EIP 650:
https://github.com/ethereum/EIPs/issues/650
17
Ferramentas e Bibliotecas
Cakeshop
Explorador de blocos e ferramenta de monitoramento da rede.
https://github.com/jpmorganchase/cakeshop
Solidity
Permite o desenvolvimento e compatibilidade com Contratos Inteligentes redigidos
em Solidity, de maneira que quaisquer contratos da rede Ethereum são possíveis de
serem instalados também em uma rede Quorum
Quorum Cloud Scripts
Um conjunto de scripts para aumentar a rapidez na instalação de uma rede Quorum
em provedores de serviços de computação em nuvem como AWS ou Locaweb VPS
https://github.com/jpmorganchase/quorum-cloud
Quorum Security Framework
Guia de boas práticas para Aplicações Descentralizadas em uma rede Quorum
https://docs.goquorum.com/en/latest/Security/Framework/Overview
18
Quem já usa o Quorum hoje?
Serviços Financeiros
▪ IIN – Blockchain intra-bancos para troca de dados com a participação de mais de 400
entidades
▪ JPM Coin – Liquidação instantanea de transação entre bancos clientes
▪ Project Ubin - Singapore mon. authority – pagamentos usando a versão digital do SDG em
Blockchain
Cadeia de suprimentos
▪ LVMH – Autenticidade de produtos luxuosos
▪ Chronicled – Rastreamento de barra de ouro
▪ SUKU – Solução de cadeia de suprimentos independente de indústria
Saúde
▪ Synaptic Healthcare Alliance – Provedor de dados de saúde
Cross-Industry
▪ State Farm & USAA - Sub-rogação de reivindicação de seguro automóvel
▪ Microsoft & EY - Royalties de Video game
Para mais casos veja aqui
bit.ly/QuorumUseCases
19
Participe e saiba mais!
bit.ly/GoQuorum
github.com/jpmorganchase/quorum
meetup.com/pro/goquorum
goquorum.com
20

More Related Content

Similar to Começando com Quorum - versão 2.6

Blockchain - Smart Contracts - Meetup
Blockchain - Smart Contracts - MeetupBlockchain - Smart Contracts - Meetup
Blockchain - Smart Contracts - MeetupFábio José Moraes
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumMario Guedes
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumArrayOf.io
 
Explicando segurança e privacidade com Wireshark (2017)
Explicando segurança e privacidade com Wireshark (2017)Explicando segurança e privacidade com Wireshark (2017)
Explicando segurança e privacidade com Wireshark (2017)Euler Neto
 
DevBlockOps: Devops em ambientes Blockchain
DevBlockOps: Devops em ambientes BlockchainDevBlockOps: Devops em ambientes Blockchain
DevBlockOps: Devops em ambientes BlockchainMisael Santos
 
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - ItaúRTM
 
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...tdc-globalcode
 
Rodando uma API Com Django Rest Framework no Google Cloud
Rodando uma API Com Django Rest Framework  no Google CloudRodando uma API Com Django Rest Framework  no Google Cloud
Rodando uma API Com Django Rest Framework no Google CloudAlvaro Viebrantz
 
Apresentação sobre blockchain, executada no mestrado de ciencia da computação
Apresentação sobre blockchain, executada no mestrado de ciencia da computaçãoApresentação sobre blockchain, executada no mestrado de ciencia da computação
Apresentação sobre blockchain, executada no mestrado de ciencia da computaçãoManoelGuilherme2
 
Kubernetes no Governo Federal - Kubernetes Meetup #3
Kubernetes no Governo Federal - Kubernetes Meetup #3Kubernetes no Governo Federal - Kubernetes Meetup #3
Kubernetes no Governo Federal - Kubernetes Meetup #3Ricardo Katz
 
Blockchain como serviço no azure
Blockchain como serviço no azureBlockchain como serviço no azure
Blockchain como serviço no azureVagner Oliveira
 
Blockchain 2.0 - O Bitcoin além do dinheiro digital
Blockchain 2.0 - O Bitcoin além do dinheiro digitalBlockchain 2.0 - O Bitcoin além do dinheiro digital
Blockchain 2.0 - O Bitcoin além do dinheiro digitalEdilson Osorio Junior
 
TDC2017 | São Paulo - Trilha Blockchain How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Blockchain How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Blockchain How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Blockchain How we figured out we had a SRE team ...tdc-globalcode
 
Mule pe salesforce mule security
Mule pe   salesforce mule securityMule pe   salesforce mule security
Mule pe salesforce mule securityJeison Barros
 
M4 tarefa video
M4 tarefa videoM4 tarefa video
M4 tarefa videogonxalox
 

Similar to Começando com Quorum - versão 2.6 (20)

Blockchain - Smart Contracts - Meetup
Blockchain - Smart Contracts - MeetupBlockchain - Smart Contracts - Meetup
Blockchain - Smart Contracts - Meetup
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
 
Aula 1
Aula 1Aula 1
Aula 1
 
Explicando segurança e privacidade com Wireshark (2017)
Explicando segurança e privacidade com Wireshark (2017)Explicando segurança e privacidade com Wireshark (2017)
Explicando segurança e privacidade com Wireshark (2017)
 
DevBlockOps: Devops em ambientes Blockchain
DevBlockOps: Devops em ambientes BlockchainDevBlockOps: Devops em ambientes Blockchain
DevBlockOps: Devops em ambientes Blockchain
 
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú
 
Cirrus
CirrusCirrus
Cirrus
 
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
 
Rodando uma API Com Django Rest Framework no Google Cloud
Rodando uma API Com Django Rest Framework  no Google CloudRodando uma API Com Django Rest Framework  no Google Cloud
Rodando uma API Com Django Rest Framework no Google Cloud
 
Apresentação sobre blockchain, executada no mestrado de ciencia da computação
Apresentação sobre blockchain, executada no mestrado de ciencia da computaçãoApresentação sobre blockchain, executada no mestrado de ciencia da computação
Apresentação sobre blockchain, executada no mestrado de ciencia da computação
 
Kubernetes no Governo Federal - Kubernetes Meetup #3
Kubernetes no Governo Federal - Kubernetes Meetup #3Kubernetes no Governo Federal - Kubernetes Meetup #3
Kubernetes no Governo Federal - Kubernetes Meetup #3
 
Blockchain Day RJ
Blockchain Day RJBlockchain Day RJ
Blockchain Day RJ
 
Blockchain como serviço no azure
Blockchain como serviço no azureBlockchain como serviço no azure
Blockchain como serviço no azure
 
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
 
Blockchain 2.0 - O Bitcoin além do dinheiro digital
Blockchain 2.0 - O Bitcoin além do dinheiro digitalBlockchain 2.0 - O Bitcoin além do dinheiro digital
Blockchain 2.0 - O Bitcoin além do dinheiro digital
 
TDC2017 | São Paulo - Trilha Blockchain How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Blockchain How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Blockchain How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Blockchain How we figured out we had a SRE team ...
 
Mule pe salesforce mule security
Mule pe   salesforce mule securityMule pe   salesforce mule security
Mule pe salesforce mule security
 
http
httphttp
http
 
M4 tarefa video
M4 tarefa videoM4 tarefa video
M4 tarefa video
 

More from Jeff Prestes

Desmistificando blockchain
Desmistificando blockchainDesmistificando blockchain
Desmistificando blockchainJeff Prestes
 
Aumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart ContractsAumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart ContractsJeff Prestes
 
Go (golang) - Porque ele deve ser a linguagem da sua próxima API
Go (golang) - Porque ele deve ser a linguagem da sua próxima APIGo (golang) - Porque ele deve ser a linguagem da sua próxima API
Go (golang) - Porque ele deve ser a linguagem da sua próxima APIJeff Prestes
 
Chatbots and Internet of Things
Chatbots and Internet of ThingsChatbots and Internet of Things
Chatbots and Internet of ThingsJeff Prestes
 
Facebook Messenger and Go
Facebook Messenger and GoFacebook Messenger and Go
Facebook Messenger and GoJeff Prestes
 
Beacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsBeacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsJeff Prestes
 
Eddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All ObjectsEddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All ObjectsJeff Prestes
 
Making Payments in Android Easy
Making Payments in Android EasyMaking Payments in Android Easy
Making Payments in Android EasyJeff Prestes
 
Kraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js AppKraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js AppJeff Prestes
 
Mobile Payments Workshop
Mobile Payments WorkshopMobile Payments Workshop
Mobile Payments WorkshopJeff Prestes
 
Building your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry PiBuilding your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry PiJeff Prestes
 
How to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsHow to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsJeff Prestes
 
Interact your wearable and an iot device
Interact your wearable and an iot deviceInteract your wearable and an iot device
Interact your wearable and an iot deviceJeff Prestes
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJeff Prestes
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbJeff Prestes
 
Fazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das CoisasFazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das CoisasJeff Prestes
 
Let your stuff talk!
Let your stuff talk!Let your stuff talk!
Let your stuff talk!Jeff Prestes
 

More from Jeff Prestes (20)

Solidity 0.6.x
Solidity 0.6.xSolidity 0.6.x
Solidity 0.6.x
 
Desmistificando blockchain
Desmistificando blockchainDesmistificando blockchain
Desmistificando blockchain
 
Aumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart ContractsAumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart Contracts
 
Go (golang) - Porque ele deve ser a linguagem da sua próxima API
Go (golang) - Porque ele deve ser a linguagem da sua próxima APIGo (golang) - Porque ele deve ser a linguagem da sua próxima API
Go (golang) - Porque ele deve ser a linguagem da sua próxima API
 
Chatbots and Internet of Things
Chatbots and Internet of ThingsChatbots and Internet of Things
Chatbots and Internet of Things
 
Facebook Messenger and Go
Facebook Messenger and GoFacebook Messenger and Go
Facebook Messenger and Go
 
Physical web
Physical webPhysical web
Physical web
 
Beacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsBeacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.js
 
Eddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All ObjectsEddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All Objects
 
Making Payments in Android Easy
Making Payments in Android EasyMaking Payments in Android Easy
Making Payments in Android Easy
 
Kraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js AppKraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js App
 
Mobile Payments Workshop
Mobile Payments WorkshopMobile Payments Workshop
Mobile Payments Workshop
 
Building your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry PiBuilding your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry Pi
 
How to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsHow to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of Things
 
Interact your wearable and an iot device
Interact your wearable and an iot deviceInteract your wearable and an iot device
Interact your wearable and an iot device
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulb
 
Fazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das CoisasFazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das Coisas
 
Test A/B
Test A/BTest A/B
Test A/B
 
Let your stuff talk!
Let your stuff talk!Let your stuff talk!
Let your stuff talk!
 

Começando com Quorum - versão 2.6

  • 1. Começando com o Quorum 11 #blockhain #smartcontracts #Ethereum #quorum #contratosinteligentes
  • 3. Libby Kent Matt Wright Agradecimentos 3 OObrigado a Libby e ao Matt, criadores do material original em inglês, que cederam o conteúdo para a adaptação e inclusão de informações que fiz nesta apresentação em Português
  • 4. 1 O que é o Quorum? Quorum é um conjunto de software feito para processar transações privadas ou públicas entre um grupo de participantes conhecidos que criam a sua própria rede Blockchain. Ele é de código aberto e mantido principalmente pelo banco JP Morgan
  • 5. Permissionado – se necessário, só participantes pré-definidos acessam a rede Comunidade – Código aberto. Provado – Ethereum, em produção desde 2015, prove o protocolo básico do Quorum. Já testado e maduro. Confidencialidade – suporte a transações públicas e privadas Descentralizada – sem dependencia a um serviço centralizado ou um participante Benefícios 5
  • 6. PRIVACIDADE IMUTABILIDADE PERFORMANCE PERMISSIONAMENTO Características chaves • Contratos & Transações Privadas • Zero Knowledge Layer • Alta taxa de TPS • Blocos a cada ~ 50 ms • Sem forks de rede • Transações irreversíveis • Somente parceiros conhecidos • Permissionamento dentro do protocolo 6
  • 7. O que posso criar com o Quorum? Blockchains privadas podem ser úteis nas seguintes situações… ❑ Compartilhamento de dados e processos entre companhias de um conglomerado empresarial ❑ Dados e processos que só fazem sentido dentro de uma cadeia de negócios ou entre parceiros comerciais ❑ Onde não se tem confiança em um controle central. Necessário o compartilhamento de responsabilidades Deste modo soluções que podem ser criadas com Quorum são… ❑ Sistema de gerenciamento de ativos e cadeia de suprimentos industriais ❑ Decisões multilaterias e distribuídas através de votações e transparência ❑ Auditoria em tempo real e com segurança que os dados avaliados são íntegros ❑ Registro de movimentação de ativos - digitais ou não. ❑ Escrituracão securitaria e contábil. 7
  • 8. Quorum é uma cópia modificada do Go-Ethereum / GETH GETH é uma implementação oficial do software de nó (cliente ) da rede Ethereum desenvolvido usando a linguagem de alta perfomance Go. Assim sendo, uma rede blockchain criada usando o Quorum recebe todas as melhorias, testes e robustez da rede Ethereum. Também todas as ferramentas compatíveis com a rede Ethereum são compatíveis na rede Quorum. 8
  • 9. Nó = Node = Client = Cliente = Server = Servidor Na prática, o que é o GETH? 9 O GETH é um software instalado num servidor conectado a Internet. Uns chamam esse software de cliente da rede Ethereum e outros chamam de nó da rede Ethereum. O mais comum é ser chamado de nó ou em inglês node. O seu papel primordial é trocar informações com outros nós da rede Ethereum. Como consegue fazer isso? Através de uma lingua comum, ou protocolo, que todos os nós sabem usar para enviar e receber dados. Esses dados são trafegados pela Internet.
  • 10. Gerenciamento de Privacidade ▪ Tessera (Java): Gerenciamento de Transação + Enclave ▪ Suporte a contratos inteligentes privados (privateFor) ▪ Armazenamento privado de dados em contratos inteligentes onde somente participantes autorizados conseguem ver 10
  • 11. Conexão IPC / RPC Nó único 11
  • 12. Rede Blockchain Quorum Nó 01 Nó 03 Nó 02 Nó 04 Porta do Quorum Porta de gerenciamento de transações Conexão IPC / RPC Porta de Consensus 12
  • 13. Transação pública na rede Quorum Nó 01 Nó 03 Nó 02 Nó 04 myContract.new(42, {from:$node01, data:$CODE}) 13 Porta JSON RPC (opc) Porta do Quorum Porta de gerenciamento de transações Conexão IPC / RPC Porta de Consensus
  • 14. Transação privadas — Passo 1 Nó 01 Nó 03 Nó 02 Nó 04 myContract.new(42, {from:$node01, data:$CODE, privateFor:[$node02TM_PUB]}) 14 Porta JSON RPC (opc) Porta do Quorum Porta de gerenciamento de transações Conexão IPC / RPC Porta de Consensus
  • 15. Nó 01 Nó 03 Nó 02 Nó 4 myContract.new(42, {from:$node01, data:$PAYLOAD_HASH}) PS Atualizado 15 Transação privadas — Passo 2 Porta JSON RPC (opc) Porta do Quorum Porta de gerenciamento de transações Conexão IPC / RPC Porta de Consensus PS Atualizado
  • 16. O que faz da solução de privacidade do Quorum única? Quorum oferece privacidade descentralizada ■ Sem dependências de um nó central ou serviço para garantir a privacidade ■ Sem dependências de uma aplicação externa para garantir privacidade ■ Arquitetura de rede única: rede que contém transações públicas e privadas que garante privacidade ao mesmo tempo que garante melhor segurança ■ Desenhado para garantir os requerimentos regulatórios sobre dados dentro do país e compatível com tecnologias como ZKP também Permissionamento ▪ Controle quais nós podem se conectar a outros nós da rede ▪ Permissões são gerenciadas no nível dos nós ▪ A lista de Chaves Publicas validadas são definidas manualmente ▪ Modelos de permissionamento baseados em Contratos Inteligentes (ex: uma única entidade responsável pelo onboarding e definição de regras de entrada) 16
  • 17. Algoritimos de consensus suportados Raft ■ Baseado na implementação do etcd do algoritmo RAFT ■ Habilitado via parametro --raft na inicialização do geth ■ Alto throughput, baixa latencia ■ Os blocos são comunicados através da camada de transporte raft e não pelo DEVp2p do Ethereum ■ Não permite Forks, garantindo a imutabilidade da transação Mais detalhes sobre o algotimo RAFT pode ser encontrado nesse link: http://docs.goquorum.com/en/latest/Consensus/raft/raft/ Istanbul BFT (Byzantine Fault Tolerant) - Protocolo de Tolerancia a Falhas Bizantino Istambul ■ Commit com após 3 fases de consenso, BFT hardened ■ Validadores são definidos na inicialização da rede e devem ter conexões diretas ■ Habilitados através do bloco “genesis” com a configuração Istanbul ativada e a lista de validadores sendo definida no campo extraData. Mais detalhes sobre o algotimo Istambul BFT pode ser encontrado nesse link : https://github.com/jpmorganchase/quorum-examples/blob/master/examples/7nodes/istanbul-genesis.json Documentado em detalhes no EIP 650: https://github.com/ethereum/EIPs/issues/650 17
  • 18. Ferramentas e Bibliotecas Cakeshop Explorador de blocos e ferramenta de monitoramento da rede. https://github.com/jpmorganchase/cakeshop Solidity Permite o desenvolvimento e compatibilidade com Contratos Inteligentes redigidos em Solidity, de maneira que quaisquer contratos da rede Ethereum são possíveis de serem instalados também em uma rede Quorum Quorum Cloud Scripts Um conjunto de scripts para aumentar a rapidez na instalação de uma rede Quorum em provedores de serviços de computação em nuvem como AWS ou Locaweb VPS https://github.com/jpmorganchase/quorum-cloud Quorum Security Framework Guia de boas práticas para Aplicações Descentralizadas em uma rede Quorum https://docs.goquorum.com/en/latest/Security/Framework/Overview 18
  • 19. Quem já usa o Quorum hoje? Serviços Financeiros ▪ IIN – Blockchain intra-bancos para troca de dados com a participação de mais de 400 entidades ▪ JPM Coin – Liquidação instantanea de transação entre bancos clientes ▪ Project Ubin - Singapore mon. authority – pagamentos usando a versão digital do SDG em Blockchain Cadeia de suprimentos ▪ LVMH – Autenticidade de produtos luxuosos ▪ Chronicled – Rastreamento de barra de ouro ▪ SUKU – Solução de cadeia de suprimentos independente de indústria Saúde ▪ Synaptic Healthcare Alliance – Provedor de dados de saúde Cross-Industry ▪ State Farm & USAA - Sub-rogação de reivindicação de seguro automóvel ▪ Microsoft & EY - Royalties de Video game Para mais casos veja aqui bit.ly/QuorumUseCases 19
  • 20. Participe e saiba mais! bit.ly/GoQuorum github.com/jpmorganchase/quorum meetup.com/pro/goquorum goquorum.com 20