0.官网文档阅读
Quorum - Enterprise Ethereum Client
1.Quorum是什么?
- 支持交易与合约隐私、基于以太坊的分布式账本协议;
- Quorum主要特征:交易与合约隐私、多重基于投票的共识机制、网络和节点许可管理、更高的性能。
2.Quorum组件有哪些?
- 逻辑架构图:
- Quorum节点:对于geth的轻量级分叉;
Quorum节点相比于geth的改动:
(1)共识为Raft或Istanbul BFT,而不是POW;
(2)P2P层仅允许许可节点进行连接;
(3)区块生成逻辑和区块头部的验证逻辑“全局公共状态根”取代了“全局状态根”;
(4)其他。 - 隐私管理器:交易管理器+Enclave;
(1)交易管理器负责交易隐私:负责存储和访问加密的交易数据,与其他参与者交易管理器交换加密的payloads(有效载荷)-它通过Enclave使用密码学功能;
(2)Enclave:大多数密码学工作,包括对称密钥生成、数据的加密和解密都由Enclave负责。
3.详细设计什么样?
- 公共状态和私有状态:
Quorum支持双重状态:
(1)公共状态:网络中所有节点均可访问;
(2)私有状态:仅由获得正确许可的节点可访问。
二者的差距通过带有加密(私有)和非加密(公共)payload的交易进行实现;
节点可以通过签名中的v值判断交易是否私有:私有交易的v值为37或38,公共交易的v值为27和28。
交易模式:
(1)允许的交易模式:
- S -> A -> B
- S -> (A) -> (B)
- S -> (A) -> [B -> C]
(2)不被允许的交易模式:
- (S) -> A
- (S) -> (A)
其中:S表示sender发送者;(X)表示私有;X表示公共;->表示方向;[]表示只读模式。
- 状态验证:
(1)区块链中包含公共状态根哈希;
(2)私有状态中无法获取全局共识;
(3)RPC方法eth_storageRoot(address[, blockNumber]) -> hash可以获取特定区块数(高度)给定地址存储根;
(4)上述方法如果不给定区块高度就返回最新的区块,The storage root hash can be on or off chain compared by the parties involved.这句没懂。 猜测是说:存储的根哈希可以由参与各方进行链上和链下的比对。