Jpm hyperledger quorum intro 2016-09-22

Page 1

QUORUM

A permissioned implementation of Ethereum supporting data privacy

September 2016


Quorum: A permissioned implementation of Ethereum supporting data privacy Highlights

Architecture

Built on Ethereum Distributed App

First mover advantage. Production since July 2015.

Distributed App

Distributed App

Distributed App

50,000+ unit tests, Security Audits, Bounty Program Quorum (go-Ethereum Fork)

Largest Ecosystem of Developers, Tools, DApps Public Ethereum blockchain protects over $1B Ether1

Transaction Manager

Crypto Enclave

QuorumChain

Network Manager

Simple Privacy Design Supports both private and public transactions and smart contracts

go-Ethereum

Single Blockchain Architecture Components

All public and private smart contracts and state derived from a single, common, complete blockchain of transactions validated by every node in the network

Transaction Manager – allows access to encrypted transaction data for private transactions, manages local data store and communication with other Transaction Managers

Private smart contract state validated by parties to the contract only Best of both worlds… every node validating the list of transactions while only exposing details of private transactions and contracts to relevant parties

Crypto Enclave – responsible for private key management and encryption and decryption of private transaction data QuorumChain – voting-based, BFT-hardened consensus mechanism that utilises core Ethereum features to verify and propagate votes through the network

High Performance

QUORUM

Able to process dozens to hundreds of transactions per second, depending on system configuration; enough to support institutional volumes

1As

Network Manager – controls access to the network, enabling a permissioned network to be created

of 22-Sep-2016

1


A pragmatic approach to privacy Simple Privacy Design Client A

Full Blockchain, Partial State dB

Quorum Tx 4

Dapp UI

1

A TxPayloadStore P 2 I

TxMgr 3

TxPayloadResp 6

Quorum Node A

JPM Admin Agent

Regulator

5

Full Blockchain

Full Blockchain

Agent (Full) State Database

Regulator (Full) State Database

7

Client B

Dapp UI

A TxPayloadStore P I

Ethereum protocol

TxPayload Request

TxPayloadRequest

TxPayloadRequest

TxPayloadResp TxMgr

Quorum Node B

Quorum Tx 1 Dapp sends transaction to Quorum Node, specifying recipient and transaction payload

6

2 Prepare Tx Payload Record by generating a symmetric key, encrypt the payload with symmetric key, hash of the encrypted payload, encrypt the symmetric key with the public keys of the parties to the Tx, then send to the TxMgr for storage.

7

3 TxMgr validates the sending signature and stores the TxPayload message 4 Tx sent to the Quorum node containing only the hash of the encrypted payload generated in step 2.

QUORUM

5 Quorum Node receives a new block for validation containing the private Tx. It requests the payload data from the TxMgr (passing its Pubkey, TxHash, Sig).

Borrower

Investor n

Full Blockchain

Full Blockchain

Borrower (partial) State Database

Investor n (partial) State Database

TxMgr validates the signature, looks up the TxHash and if the requester is party to the Tx, return the encrypted payload and encrypted Symmetric key. Quorum Node decrypts the symmetric key, decrypts the Tx Payload and sends to the EVM for contract code execution.

TxPayload includes: Hash of encrypted Tx payload (TxHash) Party 1 Public Key encrypted Symmetric Key Party 2 Public Key encrypted Symmetric Key Party n Public Key encrypted Symmetric Key

2

Investor 1

Investor 2

Full Blockchain

Full Blockchain

Investor 1 (partial) State Database

Investor 2 (partial) State Database


The future of Quorum Details‌.

Contacts Brian Marchiony Head of CIB Marketing & Communications brian.j.marchiony@jpmorgan.com

Forward compatibility Quorum is built in partnership with EthLab (Jeff Wilcke co-founder)

Amber Baldet Program Lead, Blockchain Center of Excellence amber.baldet@jpmorgan.com

Quorum is a minimalistic fork of the Go Ethereum client and will be updated in line with future Ethereum releases

David Voell Engineering Lead, CIB Emerging Technologies david.l.voell@jpmorgan.com

As Quorum is a derivative of Go Ethereum, it is licensed under GPL/LGPL. Alternative implementations could be licensed differently Next Steps: Open Source codebase & toolkits Quorum platform SDK & Reference Application Obtain feedback, iterate, collaborate Continue build out of product: Pluggable consensus

QUORUM

Further performance optimizations

3


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.