Quorum简介&部署

简介

GoQuorum基于geth,在其基础上增加了一些联盟链需要的组件,主要包括以下几点:

  1. 使用Raft或者Istanbul BFT共识算法,而不是PoW。
  2. 加入了准入机制,而不是任何节点都可以加入网络。
  3. 修改了区块产生逻辑:使用global public state root替换了global state root。(TODO)
  4. 修改了区块验证逻辑:
  5. State Patricia trie分成了两个:public state trieprivate state trie
  6. 修改了区块验证逻辑以支持private transactions。
  7. 修改了创建transactions的逻辑,支持private transactions。
  8. 移除了gas的费用(但保留了gas)。

architecture

账户/密钥管理

用户提供公私钥。
账户地址是公钥keccak256哈希的后20个byte。
隐私管理器使用公钥作为目标节点的标识(privateFor字段)。

隐私

在GoQuorum中,隐私指对于private transactions,只对相关的参与者可见,其它参与者不可见。

私有交易管理器 (Private transaction Manager)

**Tessera** 指 Quorum 中的私有交易管理器:

  • 存储、访问加密后的交易数据。
  • 与其它 Tessera 节点交换加密后的payload。
  • 不能访问私钥
  • 使用 enclaves 实现密码学相关功能
  • stateless/restful

enclave

密码学技术是分布式账本的基石,Quorum将很多密码学功能(对称密钥生成、加解密)委托到了 enclave 中。

公有/私有状态

Quorum支持两种状态:

  1. 共有状态 (public state):网络中的所有节点都有权访问
  2. 私有状态 (private state):有权限的节点才能访问,private transaction 的状态

二者的不同在于 transaction 的 payload 是否加密。对于 private transactions ,无关节点没有 payload,因此每个节点需要维护两个 state 。

状态验证

为了保证节点同步,block 需要包含 public transaction 的 root hash。对于 private transactions,不可能达到全局同步(因为有些节点不含private transactions),因此需要使用eth_storageRoot这个 RPC,指定 private smart contract 地址和区块高度,如果所有相关的节点完成同步,那么将得到相同的 root hash。

交易和合约隐私 (Transaction and Contract Privacy)

Quorum 如何实现交易隐私:

  1. client 可以通过指定 privateFor 字段来限制交易的可见者
  2. 替换 transaction 的 payload 为 payload 加密后的 hash 值
  3. 使用隐私管理器 (Privacy Manager) 链下存储加密的数据

#Private Transaction Manager

两个组件:

  • transaction manager
  • enclave

启动node之前,通过设置环境变量PRIVATE_CONFIG来支持 private transaction. PRIVATE_CONFIG 可以设置为 privacy manager 的 ipc socker,或者设置为 TOML IPC 的配置文件。

socket = "tm.ipc"
workdir = "path/to/ipc/file"
dialTimeout = 1
requestTimeout = 5
responseHeaderTimeout = 5

#Private Transaction Lifecycle

参考

  1. https://docs.goquorum.consensys.net/en/stable/Concepts/Architecture/
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值