Quorum简介部署
文章目录
- 简介
- 账户/密钥管理
- 隐私
- 私有交易管理器 (Private transaction Manager)
- enclave
- 公有/私有状态
- 状态验证
- 交易和合约隐私 (Transaction and Contract Privacy)
- 参考
简介
GoQuorum基于geth,在其基础上增加了一些联盟链需要的组件,主要包括以下几点:
- 使用Raft或者Istanbul BFT共识算法,而不是PoW。
- 加入了准入机制,而不是任何节点都可以加入网络。
- 修改了区块产生逻辑:使用
global public state root
替换了global state root
。(TODO) - 修改了区块验证逻辑:
State Patricia trie
分成了两个:public state trie
和private state trie
- 修改了区块验证逻辑以支持private transactions。
- 修改了创建transactions的逻辑,支持private transactions。
- 移除了gas的费用(但保留了gas)。
账户/密钥管理
用户提供公私钥。
账户地址是公钥keccak256
哈希的后20个byte。
隐私管理器使用公钥作为目标节点的标识(privateFor
字段)。
隐私
在GoQuorum中,隐私指对于private transactions,只对相关的参与者可见,其它参与者不可见。
私有交易管理器 (Private transaction Manager)
**Tessera**
指 Quorum 中的私有交易管理器:
- 存储、访问加密后的交易数据。
- 与其它 Tessera 节点交换加密后的payload。
- 不能访问私钥
- 使用 enclaves 实现密码学相关功能
- stateless/restful
enclave
密码学技术是分布式账本的基石,Quorum将很多密码学功能(对称密钥生成、加解密)委托到了 enclave 中。
公有/私有状态
Quorum支持两种状态:
- 共有状态 (
public state
):网络中的所有节点都有权访问 - 私有状态 (
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 如何实现交易隐私:
- client 可以通过指定
privateFor
字段来限制交易的可见者 - 替换 transaction 的 payload 为 payload 加密后的 hash 值
- 使用隐私管理器 (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
参考
- https://docs.goquorum.consensys.net/en/stable/Concepts/Architecture/
Quorum简介部署相关推荐
- tomcat简介部署
tomcat 文章目录 1.tomcat简介 2.tomcat历史 3.tomcat官网 4.部署tomcat 5.登录到Host Manager,Manager App,Server Status ...
- Tomcat简介部署和优化
内容概要 一.Tomcat服务器简介 1.Java Servlet 2.JSP概念 二.Tomcat服务部署 1.关闭防火墙和安全功能 2.开始安装JDK 3.设置JDK环境变量 4.安装和启动Tom ...
- MFS分布式文件系统(一) ——MFS简介+部署+使用
分布式文件系统简介 分布式文件系统是指文件系统管理的物理存储资源,不一定在本地节点上,而是通过网络与节点相连. 就是把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合到一个文件夹内(虚拟共享文 ...
- Go框架之Beego简介部署及程序流程整合
1)简单化:RESTful支持,MVC模型:可以使用bee工具来提高开发效率,比如监控代码修改进行热编译,自动化测试代码,以及自动化打包部署等丰富的开发调试功能. 2)智能化:beego框架封装了路由 ...
- 联盟链Quorum(基于raft共识)部署流程(三)- 部署基于Quorum链的区块链浏览器
这篇文章算得上是继联盟链Quorum(基于raft共识)部署流程(二)的续篇 我的演示系统环境时 Ubuntu 18.04 LTS. 环境要求: DockerDocker-Compose 安装方法见下 ...
- FastDFS部署及测试
目录 简介 部署 测试 简介 FastDFS是一款开源的分布式文件系统,功能主要包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了文件大容量存储和高性能访问的问题.FastDFS特别适 ...
- RocketMQ Web控制台监控界面介绍+部署
文章目录 简介 部署 Docker方式 SpringBootFatJar方式 界面指南 运维页 驾驶舱 集群页面 主题页面 消费者页面 生产者页面 消息查询页面 消息轨迹页面 其他 HTTPS 方式访 ...
- OpenStack之部署块存储服务cinder
块存储服务 简介 部署环境 在控制节点上安装和配置块设备存储服务(cinder) 安装并配置一个存储节点 图形化界面访问 简介 OpenStack块存储服务(cinder)为虚拟机添加持久的存储,块存 ...
- Ray 部署及性能测试
分布式计算框架 Ray 的部署及性能测试 Lab4 实验报告 QvQ 文章目录 Ray 简介 部署过程 性能指标 性能测试 调参改进 Docker 部署及测试 总结收获 参考资料 Ray 简介 Ray ...
- docker部署Harbor
docker部署Harbor 文章目录 Harbor简介 部署harbor Harbor应用 Harbor简介 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,可以用来 ...
最新文章
- 阿里JAVA开发手册零度的思考理解(二)
- 代码变油画,精细到毛发,这个前端小姐姐只用HTML+CSS,让美术设计也惊叹丨GitHub热榜...
- 华清远见智能家居ppt_怀揣梦想,一路前行——西安华清与西安培华实训集
- WLAN产品形态之分层架构
- 解析JVM线程同步机制
- MySQL 高级 - 启动及登录MySQL
- 【图文详解】JAVA中的转义字符
- 阿里云OSS 上传文件SDK
- python写windows程序_【Python学习】Python 写Windows Service服务程序
- 一位 Rust 开发者的 Go 初体验
- 利用Oracle内置分析函数进行高效统计汇总
- python老师 课时费_花10分钟写一个Python脚本,搞定了初中老师一下午的工作
- day03 Python字典dict的增删查改及常用操作
- 《Programming in Lua 3》读书笔记(九)
- DeepFake技术--DeepFakes 概述(一)(二)
- 德标螺纹规格对照表_螺栓螺母德标、欧标、国标对照表
- 最大流最小割定理 (定理,割集)
- linux文件夹的执行权限不够怎么解决
- 关于debug调试在Controller中形参PageWeb<T>(即分页封装泛型)的pageNum,pageSize赋值问题
- el-checkbox-group 的坑