Hyperledger Fabric理解

news/2024/11/8 4:34:25/

在Hyperledger Fabric中,Peer和Orderer是两个不同的角色,它们各自扮演不同的角色,但也需要相互协同合作来支持Fabric网络的顺畅运行。

Peer是Hyperledger Fabric网络中负责维护分类帐(Ledger)、安装链码(Chaincode)和处理事务的组件,peer一般由组织自己管理和运营。Peer可以分为背书节点(Endorser)、排序节点(Commiter)、锚节点(Anchor peer)等不同的角色,背书节点用于验证链码交易,排序节点用于将交易打包排序,锚节点用于充当订阅通道信息和维护相关网络状态的角色。

Orderer是Fabric网络中负责维护交易顺序、广播交易和维护系统通道(system channel)的组件,是Fabric网络的一个共识节点,它的任务是为整个网络提供全局的一致性服务,保证交易的顺序和一致性,并确保这些交易被所有的Peer节点接收和更新。

组织则是在Hyperledger Fabric中的参与方,它负责管理本地Peer节点,参与网络的授权和交易,组织通常包括若干个Peer节点和一个Orderer节点,它们协同工作以维护整个Fabric网络。组织之间也可以通过通道进行交互和通信,以实现跨组织的交易和协作。

在Hyperledger Fabric中,组织是参与网络的实际参与者,它可以是企业、机构、组织或个人,具有自己的身份证书和密钥,能够向网络中提交交易并接收交易结果。

在实际应用中,一个组织通常代表一个真实世界中的实体,比如一家公司、一个政府机构、一个社区组织,等等。这些组织可能有不同的目标、需求和规则,需要在Fabric网络中进行协作和交互,共同维护网络的运行和管理链码的生命周期。

每个组织都有自己的一组Peer节点和一个Orderer节点,Peer节点用于参与链码的背书和交易验证,Orderer节点用于进行交易的排序和广播。通过颁发身份证书和密钥,Fabric网络可以确保只有经过授权的组织才能提交交易和参与链码的运行,同时确保每个组织的数据隐私和数据安全。组织之间可以通过定义和创建通道,相互之间进行数据共享和交互,以满足不同的商业需求和协作需求。

在Hyperledger Fabric中,授权的概念是非常重要的,它确保只有经过授权的实体才能访问和操作特定的资源。因此,对组织进行授权是Fabric网络中的一个重要环节。

通常情况下,在Hyperledger Fabric中,授权分为两个层次:访问控制(Access Control)和链码级别的授权(Chaincode Level Authorization)。

访问控制是指通过访问策略来确保只有具有特定身份的实体才能访问网络资源,这些身份包括组织、角色、用户等。可以通过Fabric CA(Certificate Authority)为每个组织颁发证书和密钥,然后通过访问策略来限制组织对网络资源的访问,以确保数据隐私和安全性。

链码级别的授权则是指为链码定义访问规则和权限,在调用链码之前对调用方进行验证,确保只有经过授权的用户能够调用特定的链码。通常情况下,链码级别的授权规则可以定义在链码部署文件(Chaincode Deployment Specification)中,让节点在启动时从区块链中读取授权规则并将其应用到运行过程中所有的交易中。

通过这些授权措施,可以确保网络中的每个组织都按照自己的需求和规定进行交互,同时确保数据的安全性和完整性。


http://www.ppmy.cn/news/83269.html

相关文章

已经有MySQL了,干嘛还要学MongoDB?

三分钟的时间,通过本文你将学会 1.MongoDB主要特征 2.MongoDB优缺点,扬长避短 3.何时选择MongoDB?为啥要用它? 4.MongoDB与MySQL关键字对比 5.下载与安装MongoDB 6.Java整合MongoDB,实现增删改查 MongoDB和MySQ…

Java设计模式七大原则-开放-关闭原则

✨作者:猫十二懿 ❤️‍🔥账号:CSDN 、掘金 、个人博客 、Github 🎉公众号:猫十二懿 开放-关闭原则 1、开闭原则介绍 在Java中的开放-关闭原则(Open-Closed Principle, OCP)是一个重要原则。该…

【业务功能篇01】Springboot+mybatis-plus+POI实现表单数据导出Excel

业务中常见的一个功能,前台附有多个筛选器,提供筛选过滤表单数据,然后点击导出按钮进行导出: 下面演示举例实例: 用户通过前端参数传参后,查询出一个表单数据,假设为表A,这个表A是一个问题单表,每个问题会对应有多个小问题单,比如ANo是该问题单号, 而subNo字段就是对…

设计模式 -第1部分 避免浪费- 第1章 Flyweight 模式 - 共享对象避免浪费

第1部分 避免浪费 注:其内容主要来自于【日】-结城浩 著《图解设计模式》20章节 极力推荐大家阅读原著 第1章 Flyweight 模式 - 共享对象避免浪费 1.1 Flyweight 模式 Flyweight 的意思"轻量级",其在英文中的原意指比赛中选手体重最轻等级的一…

正确甄别API、REST API、RESTful API和Web Service之间的异同

看到API你会想起什么?是接口、第三方调用、还是API文档?初看你可能会觉得这太熟悉了,这不是系统开发日常系列吗?但你仔细想一想,你会发现API的概念在你脑海里是如此的模糊。如何你通过搜索引擎检索API,你会…

Try ‘apt --fix-broken install’ with no packages解决办法

在Ubuntu中用apt-get安装软件,系统报出Unmet dependencies错误。 Unmet dependencies. Try ‘apt --fix-broken install’ with no packages (or specify a solution) 解决方案如下: sudo apt --fix-broken install sudo apt-get update sudo apt-get u…

Ubuntu20.04配置静态IP地址,开启远程连接

本文操作演示为windows系统使用虚拟机安装的ubuntu系统进行:操作系统为ubuntu20.04,VMware15.5.0 build-14665864,内容分为两部分,第一部分为配置ubuntu系统的静态ip地址,第二部分内容为修改配置开启远程连接功能 一、…

面试C++程序员需要注意些什么?程序员日常工作如何合理安排时间

在面试C程序员的时候,我们可以拿出我们做的项目,直接放到面试官面前,问他这个项目行不行。试一下,你就知道自己差在哪了。千万不要想着把这个东西做完美了,或者一定要给他做到,这样面试官就会很开心地收下你…