Quorum是一种基于以太坊协议的开源区块链平台,由J.P.Morgan于2016年开始开发。Quorum专为处理授权交易而设计,解决了隐私和性能方面的问题。目前,摩根大通内部以及外部金融公司和供应商都在使用Quorum。
第一部分:Quorum–企业级以太坊客户Quorum是一种基于以太坊的分布式账本协议平台,被开发用来为金融、供应链、零售、房地产等行业提供交易支持和合同隐私等。Quorum包括以太坊客户端(a.k.ageth)的一个简化版本,并利用了以太坊开发社区已有的工作。因此,Quorum在公共以太坊的基础上有以下主要特点:- 交易与合约私隐- 基于投票的多重共识机制- 网络/对等节点的权限管理- 更卓越的性能
背景介绍:了解Quorum的设计原理和背景,请阅读Quorum白皮书、观看Hyperledger项目技术指导委员会会议上的演示或查看Hyperledgerdeck。
第二部分:Quorum的构成逻辑架构图:- Quorum节点Quorum节点是以太坊客户端geth的一个轻量级分支,可以持续利用以太坊社区中正在进行的研发成果。Quorum节点与geth的主要修改如下:- 使用Raft或Istanbul BFT共识算法代替工作证明- 修改P2P层,只允许与许可节点之间的连接- 修改块生成逻辑,使用新的“全局公共状态根”检查替换“全局状态根”检查- 修改块验证逻辑,替换块头中的“全局状态根”为“全局公共状态根”- 将Patricia Trie结构状态分为公共和私有两部分- 修改块验证逻辑,处理“私人交易”- 修改交易创建,允许使用加密的哈希替换交易数据以保留私人数据- 取消气体价格,但气体本身仍然存在
- 隐私管理器Constellation和TesseraConstellation和Tessera是使用Haskell和Java的通用系统实现的隐私管理器,可安全地提交信息。它们类似于使用PGP加密消息的MTA网络。Constellation和Tessera不仅适用于区块链,还适用于其他应用程序,需要在对方网络中进行安全消息交换。Constellation模块和Tessera模块包括以下子模块:节点(用于Quorum私人交易管理器的默认执行)和飞地(Enclave)。
第三部分:设计·公开/私有状态Quorum支持双重状态:- 公开状态:所有节点都可以访问- 私有状态:只有具有正确权限的节点可以访问
通过使用加密的(私有的)和非加密的(公开的)有效负载来区分。节点可以通过查看签名的v值来确定交易是否为私有。公开交易的v值为27或28,私人交易的v值为37或38。
私人交易只能由相关节点处理,其他节点不知道私人交易的具体内容。因此,所有节点共享通过公开交易创建的公开状态,并且具有本地唯一的私有状态。
该模型对私人交易中修改状态的能力施加了限制。虚拟机可以进入只读模式,因为从公开合约读取数据是私人合约的常见用例。如果虚拟机处于只读模式并且代码试图更改状态,虚拟机将停止执行并出现异常。
允许的交易类型:1、S->A->B2、S->(A)->(B)3、S->(A)->[B->C]
不支持的交易类型:1.(S)->A2.(S)->(A)
注:S=发送者(X)=私人X=公开->=方向[]=只读模式
状态验证:为了确定节点是否处于同步状态,在块中包含了根哈希。由于私人交易只能由相关节点处理,不可能实现全局共识。为了解决这个问题,可以使用RPC方法“eth_storageRoot(地址[,区块号])-哈希”,它可以返回
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/52499.html
发表回复
评论列表(0条)