Esta apresentação explica como funciona o Quorum, um fork do Ethereum, com recursos para uso em situações corporativas de cadeia de suprimentos, financeiro ou processos inter empresariais
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
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
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