Quorum简介部署

article/2025/9/13 4:04:06

文章目录

  • 简介
  • 账户/密钥管理
  • 隐私
    • 私有交易管理器 (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)。

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/

http://chatgpt.dhexx.cn/article/NvN9EMYm.shtml

相关文章

分布式系统理论之Quorum机制

一,Quorum机制介绍 对于数据存储而言,为了提高可用性(Availability),采用了副本备份,比如对于HDFS,默认每块数据存三份。某数据块所在的机器宕机了,就去该数据块副本所在的机器上读…

Hyperledger/Quorum等区块链技术综述

[1]邵奇峰,张召,朱燕超,周傲英.企业级区块链技术综述[J].软件学报,2019,30(09):2571-2592. 摘要:在传统跨机构交易的企业应用中,各个机构都是独立记录己方的交易数据,机构间数据的差异会引起争议,通常需要人工对账或中介机构来解决,因而增加了结算时间和交易费用.区…

基于以太坊项目quorum多机多节点搭建_1

准备工作 环境搭建 我这里使用4台虚拟机来模拟实际网络,在这四台虚拟机里分别搭建了quorum节点。 我这里使用quorum maker 工具来搭建quorum quorum maker 是一个带UI界面的自动化搭建quorum的工具。 quorum maker 安装 git clone https://github.com/synechr…

Quorum白皮书

Quorum白皮书下载

【quorum源码】quorum tessera源码剖析

目录 概述1. 项目结构2. 数据库结构3. 主要流程3.1 服务启动3.2 交易处理3.3 加密交易 4. Restful API4.1 Q2TRestApp4.2 ThirdPartyRestApp4.3 P2PRestApp4.4 EnclaveApplication 5. 一些核心接口App、Enclave相关的类图:com.quorum.tessera.server.TesseraServerc…

Quorum NWR算法

假如我们遇到这样一种事情:你开发实现了一套 AP 型的分布式系统,实现了最终一致性。业务也接入了,运行正常,一起看起来都那么美好。可是,突然有同事说,我们要拉这几个业务的数据做实时分析,希望…

paxosquorum

注: 这里谈论的2PC不同于事务中的2PC,而是专门为了同步和高可用改过的2PC协议 问题: 寻求一种能够保证,在给定多台计算机,并且他们之间由网络相互连通,中间的数据没有拜占庭将军问题(数据不会被伪造)的前…

分布式共识算法随笔 —— 从 Quorum 到 Paxos

分布式共识算法随笔 —— 从 Quorum 到 Paxos 概览: 为什么需要共识算法? 昨夜西风凋碧树,独上高楼,望尽天涯路 复制(Replication) 是一种通过将同一份数据在复制在多个服务器上来提高系统可用性和扩展写吞吐的策略, 。常见的复制策略有主从…

Quorum工作原理

文章目录 1. 概述2. 逻辑架构2.1 Quorum Node2.2 Constellation(星座)2.3 Tessera(特赛拉)2.4 Transaction Manager2.5 Enclave 3. 交易(事务)处理3.1 公开交易3.2 隐私交易3.3 交易处理3.4 隐私交易流程&a…

Quorum共识简析

背景 区块链共识是指多个节点或代理在给定的时间点就区块链状态达成一致的能力。当涉及区块链上分散记录保存和验证的核心功能时,单独依靠信任来确保添加到账本的信息是正确的可能会存在问题。因为没有中央实体来进行仲裁,这种问题在去中心化网络中更为…

Quorum区块链原理及其概念

Quorum概述 Quorum是由摩根大通研发的企业级区块链,用于解决金融或满足于企业需求的行业的需求的平台[56]。Quorum是基于以太坊扩展研发的一种联盟链,适用于对交易效率和吞吐量比较高的企业应用。Quorum作为以太坊的许可实施方案,对以太坊设…

Quorum 机制(分布式系统)

Quorum 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理。 基于Quorum投票的冗余控制算法 在有冗余数据的分布式存储系统当中,冗余数据对象会在不同的机器之间存放多份拷贝…

xgboost的原理,损失函数,优化,

不经感叹大佬真多,本文转自https://www.jianshu.com/p/7467e616f227 xgboostd多颗树的损失子树cart树,并且叶子节点为分数,不是类别,所有多棵树损失和容易优化,速度快分步提升,先优化一棵树,后面…

XGBoost简介

本文据此对XGBoost的原理做简单的介绍... XGBoost[1]是2014年2月诞生的专注于梯度提升算法的机器学习函数库,此函数库因其优良的学习效果以及高效的训练速度而获得广泛的关注。仅在2015年,在Kaggle[2]竞赛中获胜的29个算法中,有17个使用了XGB…

XGBoost原理及应用

XGBOST原理 XGBoost是使用梯度提升框架实现的高效、灵活、可移植的机器学习库,全称是EXtreme Gradient Boosting. XGBoost算法原理 其实算法的原理就是在一颗决策树的基础上不断地加树,比如在n-1颗树地基础上加一棵树变成n颗树的同时算法的精确率不断…

XGBoost原理与实例分析

这几天一直在研究XGboost的基本原理与代码调参,其原理是在GBDT的基础上进行优化,但也有很多的不同之处;所以自己准备更新两篇博客分为XGBoost原理与实例和XGBoost实战与调参优化来巩固这方面的知识。 一、XGBoost原理分析 在机器学习的问题…

XGBoost原理

前言 之前接触并实现过Adaboost和Random Forest。作为去年开始很火爆的,对结构化数据效果极佳的XGBoost,当然也需要了解一下了。下面将分段叙述XGBoost原理,以及与GBDT的关系等等内容。 ①、XGBoost vs GBDT 说到XGBoost,不得不说…

XGBoost算法原理以及实现

想问:在CSDN如何编辑数学公式呢? XGBoost算法是由GBDT算法演变出来的,GBDT算法在求解最优化问题的时候应用了一阶导技术,而XGBoost则使用损失函数的一阶导和二阶导,不但如此, 还可以自己定义损失函数&…

XGBoost原理介绍------个人理解版

本人第一次写博客,这是篇算法总结的文章,希望能对大家的学习有所帮助。有什么错误之处,还望留言指出,希望能与大家一起进步。 XGBoost全名叫(eXtreme Gradient Boosting)极端梯度提升,经常被用…

XGBoost原理及目标函数推导详解

前言 XGBoost(eXtreme Gradient Boosting)全名叫极端梯度提升,XGBoost是集成学习方法的王牌,在Kaggle及工业界都有广泛的应用并取得了较好的成绩,本文较详细的介绍了XGBoost的算法原理及目标函数公式推导。 一、XGBoo…