More Related Content Similar to BSOS x Quorum Meetup: A deep dive into Quorum (20) BSOS x Quorum Meetup: A deep dive into Quorum1. A deep dive into
Quorum:
Privacy Mechanisms for
Enterprise
REDEFINE the Future of Supply Chain
3. 2019 BSOS Project © All rights reserved2019 BSOS Project © All rights reservedREDEFINE the Future of Supply Chain
Agenda
• Overview
• Introduction to Ethereum
• Quorum over Ethereum
• Q&A
4. 2019 BSOS Project © All rights reserved2019 BSOS Project © All rights reservedREDEFINE the Future of Supply Chain
Overview
5. 2019 BSOS Project © All rights reservedREDEFINE
Why not Ethereum
• Public network without permission management
• Fully visible data in plain text
• Inefficient consensus
• Community-driven upgrade
6. 2019 BSOS Project © All rights reservedREDEFINE
Why Quorum
Quorum is a fork of go-ethereum repository, which is official golang
implementation of the Ethereum Protocol. Currently developed and
maintained by J.P Morgan.
7. 2019 BSOS Project © All rights reservedREDEFINE
Why Quorum
Quorum is a fork of go-ethereum repository, which is official golang
implementation of the Ethereum Protocol. Currently developed and
maintained by J.P Morgan.
📄
📄
📄
📄🔒
📄🔒
A
B
C
8. 2019 BSOS Project © All rights reserved2019 BSOS Project © All rights reservedREDEFINE the Future of Supply Chain
Introduction to Ethereum
9. 2019 BSOS Project © All rights reservedREDEFINE
Ethereum features
• A permission-less p2p network
• Transactions are broadcast to all nodes
• EVM for smart contract
• Use PoW and GHOST to achieve byzantine agreement
17. 2019 BSOS Project © All rights reservedREDEFINE
Ethereum
ethereum node
node architecture
18. 2019 BSOS Project © All rights reservedREDEFINE
state
ethereum node
p2p
...
...
evm
api
other nodesend users
Ethereum node architecture
20. 2019 BSOS Project © All rights reservedREDEFINE
Ethereum transaction flow
🙍♂
🙍♀
{
...
to: nil,
data: CONTRACT_BYTECODE,
sig: SIGNATURE,
...
}
22. 2019 BSOS Project © All rights reservedREDEFINE
Ethereum transaction flow
🙍♂
🙍♀
📄
📄
📄
23. 2019 BSOS Project © All rights reservedREDEFINE
Ethereum transaction flow
🙍♂
🙍♀
{
...
to: CONTRACT_ADDRESS,
data: send(‘❤’),
sig: SIGNATURE,
...
}
📄
📄
📄
24. 2019 BSOS Project © All rights reservedREDEFINE
Ethereum transaction flow
🙍♂
🙍♀
📄
📄
📄
25. 2019 BSOS Project © All rights reservedREDEFINE
Ethereum transaction flow
🙍♂
🙍♀
📄
📄
📄
❤
❤
❤
💕
!
26. 2019 BSOS Project © All rights reserved2019 BSOS Project © All rights reservedREDEFINE the Future of Supply Chain
Quorum over Ethereum
27. 2019 BSOS Project © All rights reservedREDEFINE
Quorum features
• Permission
• On-chain whitelist management by smart contract
• Privacy
• Private state for private data
• Constellation node for data encryption
• Performance
• High-performance consensus like Raft and IBFT
30. 2019 BSOS Project © All rights reservedREDEFINE
Permission network
A
B
C
D
E
✅ A,B,C,D,E
📄
31. 2019 BSOS Project © All rights reservedREDEFINE
Permission network
A
B
C
D
E
✅ A,B,C,D,E
📄
✅
✅
✅
✅
✅
32. 2019 BSOS Project © All rights reservedREDEFINE
Permission network
✅
✅
✅
✅
✅
A
B
C
D
E
✅ A,B,C,D,E
📄
33. 2019 BSOS Project © All rights reservedREDEFINE
Permission network
✅
✅
✅
✅
✅
A
B
E
✅ A,B,C,D,E
C
D
F
❌
❌
📄
34. 2019 BSOS Project © All rights reservedREDEFINE
Permission network
✅
✅
✅
✅
✅
A
B
E
✅ A,B,C,D,E
C
D
F
❌
❌
,F
✅
📄
35. 2019 BSOS Project © All rights reservedREDEFINE
Quorum node architecture
quorum node
36. 2019 BSOS Project © All rights reservedREDEFINE
Quorum node architecture
public
quorum node
37. 2019 BSOS Project © All rights reservedREDEFINE
Quorum node architecture
privatepublic
quorum node
38. 2019 BSOS Project © All rights reservedREDEFINE
Quorum node architecture
constellation node
api
enclave
encrypted
data
privatepublic
quorum node
39. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦B
E1
E2 !
40. 2019 BSOS Project © All rights reservedREDEFINE
{
to: nil,
data: CONTRACT_BYTECODE,
privateFor: [E1],
...
}
Quorum private transaction flow
🏭
🏦 CONTRACT_BYTECODE
B
E1
E2 !
41. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
{
to: nil,
data: CONTRACT_BYTECODE,
privateFor: [E1],
...
}
CONTRACT_BYTECODE
B
E1
E2 !
42. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
encrypted data
B
E1
E2 !
CONTRACT_BYTECODE
{
to: nil,
data: CONTRACT_BYTECODE,
privateFor: [E1],
...
}
{
to: nil,
data: CONTRACT_BYTECODE,
privateFor: [E1],
...
}
43. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
{
to: nil,
data: ,
sig: SIGNATURE,
...
}
HASH
44. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
❌
HASH
HASH
{
to: nil,
data:
sig: SIGNATURE,
...
}
HASH
{
to: nil,
data:
sig: SIGNATURE,
...
}
{
to: nil,
data:
sig: SIGNATURE,
...
}
45. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
{
to: nil,
data:
sig: SIGNATURE,
...
}
CONTRACT_BYTECODE
{
to: nil,
data:
sig: SIGNATURE,
...
}
CONTRACT_BYTECODE
46. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
📄
📄
47. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
📄
📄
{
to: CONTRACT_ADDRESS,
data: send(‘!’),
privateFor: [B],
...
}
send(‘!’)
48. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
📄
📄
{
to: CONTRACT_ADDRESS,
data: send(‘!’),
privateFor: [B],
...
}
send(‘!’)
49. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
📄
📄
{
to: CONTRACT_ADDRESS,
data: send(‘!’),
privateFor: [B],
...
}
send(‘!’)
privateFor: [B]
encrypted data
send(‘!’)
50. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
📄
📄 send(‘!’)
send(‘!’)
{
to: CONTRACT_ADDRESS,
data: ,
sig: SIGNATURE,
...
}
HASH
51. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
📄
📄 send(‘!’)
send(‘!’)
{
to: CONTRACT_ADDRESS,
data: ,
sig: SIGNATURE,
...
}
HASH
{
to: CONTRACT_ADDRESS,
data: ,
sig: SIGNATURE,
...
}
HASH
{
to: CONTRACT_ADDRESS,
data: ,
sig: SIGNATURE,
...
}
HASH ❌
52. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
📄
📄 send(‘!’)
send(‘!’)
{
to: CONTRACT_ADDRESS,
data: ,
sig: SIGNATURE,
...
}
send(‘!’)
{
to: CONTRACT_ADDRESS,
data: ,
sig: SIGNATURE,
...
}
send(‘!’)
53. 2019 BSOS Project © All rights reservedREDEFINE
Quorum private transaction flow
🏭
🏦
CONTRACT_BYTECODE
B
E1
E2 !
CONTRACT_BYTECODE
📄
📄 send(‘!’)
send(‘!’)!
!
54. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Raft
• Crash fault tolerance
• Immediately block finality
• Fast block time (25-50 ms)
55. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Raft
A
B
C
D
E
• Crash fault tolerance
• Immediately block finality
• Fast block time (25-50 ms)
56. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Raft
A
B
C
D
E
• Crash fault tolerance
• Immediately block finality
• Fast block time (25-50 ms)
57. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Raft
A
B
C
D
E
• Crash fault tolerance
• Immediately block finality
• Fast block time (25-50 ms)
58. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Raft
A
C
D
E
• Crash fault tolerance
• Immediately block finality
• Fast block time (25-50 ms)
59. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Raft
A
C
D
E
• Crash fault tolerance
• Immediately block finality
• Fast block time (25-50 ms)
60. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Raft
A
C
D
E
• Crash fault tolerance
• Immediately block finality
• Fast block time (25-50 ms)
61. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Raft
A
C
D
E
• Crash fault tolerance
• Immediately block finality
• Fast block time (25-50 ms)
62. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Istanbul BFT
• Byzantine fault tolerance
• Immediately block finality
• Operational flexible
63. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Istanbul BFT
A
B
C
D
E
• Byzantine fault tolerance
• Immediately block finality
• Operational flexible
64. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Istanbul BFT
A
B
C
D
E
• Byzantine fault tolerance
• Immediately block finality
• Operational flexible
65. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Istanbul BFT
A
B
C
D
E
• Byzantine fault tolerance
• Immediately block finality
• Operational flexible
66. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Istanbul BFT
A
B
C
D
E
• Byzantine fault tolerance
• Immediately block finality
• Operational flexible
67. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Istanbul BFT
A
B
C
D
E
• Byzantine fault tolerance
• Immediately block finality
• Operational flexible
68. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Istanbul BFT
A
B
C
D
E
• Byzantine fault tolerance
• Immediately block finality
• Operational flexible
69. 2019 BSOS Project © All rights reservedREDEFINE
Consensus - Istanbul BFT
A
B
C
D
E
• Byzantine fault tolerance
• Immediately block finality
• Operational flexible
70. 2019 BSOS Project © All rights reservedREDEFINE
Recap - Quorum vs Ethereum
Permission Privacy
✅
📄
✅
✅
✅
✅
71. 2019 BSOS Project © All rights reservedREDEFINE
Conclusion
• In Quorum network, peers still can communicate with privacy
• We can adopt more efficient consensus cause entities are not anonymous anymore
• Largest community supported project in EEA (Enterprise Ethereum Alliance)
73. 2019 BSOS Project © All rights reserved2019 BSOS Project © All rights reservedREDEFINE the Future of Supply Chain
Q&A
74. w w w. b s o s . t e c h
Thank You.