文章目录

  • 简介
  • 账户/密钥管理
  • 隐私
    • 私有交易管理器 (Private transaction Manager)
    • enclave
    • 公有/私有状态
  • 状态验证
  • 交易和合约隐私 (Transaction and Contract Privacy)
  • 参考

简介

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)。

账户/密钥管理

用户提供公私钥。
账户地址是公钥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/

Quorum简介部署相关推荐

  1. tomcat简介部署

    tomcat 文章目录 1.tomcat简介 2.tomcat历史 3.tomcat官网 4.部署tomcat 5.登录到Host Manager,Manager App,Server Status ...

  2. Tomcat简介部署和优化

    内容概要 一.Tomcat服务器简介 1.Java Servlet 2.JSP概念 二.Tomcat服务部署 1.关闭防火墙和安全功能 2.开始安装JDK 3.设置JDK环境变量 4.安装和启动Tom ...

  3. MFS分布式文件系统(一) ——MFS简介+部署+使用

    分布式文件系统简介 分布式文件系统是指文件系统管理的物理存储资源,不一定在本地节点上,而是通过网络与节点相连. 就是把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合到一个文件夹内(虚拟共享文 ...

  4. Go框架之Beego简介部署及程序流程整合

    1)简单化:RESTful支持,MVC模型:可以使用bee工具来提高开发效率,比如监控代码修改进行热编译,自动化测试代码,以及自动化打包部署等丰富的开发调试功能. 2)智能化:beego框架封装了路由 ...

  5. 联盟链Quorum(基于raft共识)部署流程(三)- 部署基于Quorum链的区块链浏览器

    这篇文章算得上是继联盟链Quorum(基于raft共识)部署流程(二)的续篇 我的演示系统环境时 Ubuntu 18.04 LTS. 环境要求: DockerDocker-Compose 安装方法见下 ...

  6. FastDFS部署及测试

    目录 简介 部署 测试 简介 FastDFS是一款开源的分布式文件系统,功能主要包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了文件大容量存储和高性能访问的问题.FastDFS特别适 ...

  7. RocketMQ Web控制台监控界面介绍+部署

    文章目录 简介 部署 Docker方式 SpringBootFatJar方式 界面指南 运维页 驾驶舱 集群页面 主题页面 消费者页面 生产者页面 消息查询页面 消息轨迹页面 其他 HTTPS 方式访 ...

  8. OpenStack之部署块存储服务cinder

    块存储服务 简介 部署环境 在控制节点上安装和配置块设备存储服务(cinder) 安装并配置一个存储节点 图形化界面访问 简介 OpenStack块存储服务(cinder)为虚拟机添加持久的存储,块存 ...

  9. Ray 部署及性能测试

    分布式计算框架 Ray 的部署及性能测试 Lab4 实验报告 QvQ 文章目录 Ray 简介 部署过程 性能指标 性能测试 调参改进 Docker 部署及测试 总结收获 参考资料 Ray 简介 Ray ...

  10. docker部署Harbor

    docker部署Harbor 文章目录 Harbor简介 部署harbor Harbor应用 Harbor简介 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,可以用来 ...

最新文章

  1. 阿里JAVA开发手册零度的思考理解(二)
  2. 代码变油画,精细到毛发,这个前端小姐姐只用HTML+CSS,让美术设计也惊叹丨GitHub热榜...
  3. 华清远见智能家居ppt_怀揣梦想,一路前行——西安华清与西安培华实训集
  4. WLAN产品形态之分层架构
  5. 解析JVM线程同步机制
  6. MySQL 高级 - 启动及登录MySQL
  7. 【图文详解】JAVA中的转义字符
  8. 阿里云OSS 上传文件SDK
  9. python写windows程序_【Python学习】Python 写Windows Service服务程序
  10. 一位 Rust 开发者的 Go 初体验
  11. 利用Oracle内置分析函数进行高效统计汇总
  12. python老师 课时费_花10分钟写一个Python脚本,搞定了初中老师一下午的工作
  13. day03 Python字典dict的增删查改及常用操作
  14. 《Programming in Lua 3》读书笔记(九)
  15. DeepFake技术--DeepFakes 概述(一)(二)
  16. 德标螺纹规格对照表_螺栓螺母德标、欧标、国标对照表
  17. 最大流最小割定理 (定理,割集)
  18. linux文件夹的执行权限不够怎么解决
  19. 关于debug调试在Controller中形参PageWeb<T>(即分页封装泛型)的pageNum,pageSize赋值问题
  20. el-checkbox-group 的坑

热门文章

  1. wordpress短代码转php,WordPress短代码实现京东推广自动转链
  2. OBS 卡顿原因 及 优化策略
  3. python高次方程求根公式,Python简单求解高阶方程的数值解
  4. StrandHogg漏洞修复
  5. H5 video 自动播放(autoplay)不生效解决方案
  6. 云计算教程入门视频课件:云计算中心怎么选址?
  7. java程序设计俄罗斯方块_俄罗斯方块单人游戏JAVA程序设计
  8. PS|基础原理之‘图层混合模式’
  9. 爬虫 - 提高爬虫效率的方法
  10. 第三只眼网络监控软件简单分析,试用及清除