1.区块链100讲:Fabric的签名PBFT算法
2.一文解惑超级账本HyperLedger
3.18-HyperLedger-Fabric基础-HyperLedger SDK for Node.js 简介
4.探寻 hyperledger fabric 之关键概念
5.9-HyperLedger-Fabric原理-MSP详解(一)-MSP基础
6.forgeåfabricçåºå«
区块链100讲:Fabric的PBFT算法
在公有链以外的环境,Fabric的源码PBFT算法发挥重要作用。不同于公有链中常用的签名POW和POS算法,PBFT算法在私有链和联盟链中表现出了独特的源码优势,其无需加密货币的签名发行,但需要对节点加入实施权限控制,源码scikit learn 源码无法抵抗公有链中频繁的签名节点动态变化带来的威胁,例如女巫攻击。源码PBFT算法是签名Fabric系统的核心,旨在确保所有正常replicas节点执行相同的源码序列操作。
系统模型中,签名异步分布式环境和网络消息的源码不确定性,要求节点间的签名独立失效和消息签名机制。在安全层面上,源码PBFT算法在节点数R大于等于3f+1时能保持安全性与活性。签名主节点的选举遵循p = v mod R规则,每次view change时,v编号递增。quorums是系统关键,确保信息可靠保存,至少f+1个节点共同存取信息,保证至少一个正确的replica存入信息。
PBFT算法通过三阶段协议确保请求序列一致执行:pre-prepare、prepare和commit阶段。在prepare阶段和commit阶段,即使发生view change,请求序列也得以保留,从而保证请求序列的连续性。执行流程涉及主节点向备份节点广播pre-prepare消息,备份节点在满足特定条件后进入prepare阶段,最终在commit阶段广播commit消息,完成请求的确认。
算法通过设置预准备、准备和commit阶段的条件,确保正常节点对请求序列达成一致。watermark机制限制主节点分配的编号范围,避免恶意行为。客户端等待f+1个副本结果作为最终结果,确保数据一致性。
为了节省存储空间,系统实施垃圾回收策略。当一个节点执行请求后,广播消息确认,当全网2f+1个节点执行完毕,可以删除相应日志。美德乐溯源码通过k条请求合并确认,当2f+1个检查点执行完毕,可将相关日志删除,形成稳定检查点。检查点协议与水线机制协同工作,更新水线值,限制接收消息范围,确保不同节点间的协调。
在主节点故障情况下,触发view change协议。通过记录上一view的状态,包括已准备和已预准备的请求,新主节点从稳定检查点开始进行三阶段协议,处理后续请求。选择已committed请求作为起始状态,确保请求序列的连续性与一致性。
综上所述,PBFT算法在Fabric系统中扮演了至关重要的角色,通过其独特的机制确保了分布式环境中数据的一致性和安全性。它在私有链和联盟链中提供了可靠的事务处理能力,为区块链技术在企业级应用中开辟了广泛的可能性。
一文解惑超级账本HyperLedger
了解超级账本(Hyperledger)及其在区块链世界的独特地位,我们需要跳出公有链与联盟链的二元思维,认识到每种技术都有其适用场景与价值。联盟链(私有链)被设计为现有中心化商业团体之间进行B2B业务活动的手段和渠道,其性能与商业机密保护能力使其难以直接迁移到公有链上。尽管公有链如比特币或以太坊拥有广泛的影响力,但联盟链(私有链)的存在,表明了区块链技术在不同场景下能发挥的多样化作用。 Hyperledger Fabric作为IBM发起的一个联盟链项目,于年底移交给Linux基金会,成为开源项目。Hyperledger基金会汇集了IBM、Intel、思科等众多大牌成员,孕育了众多区块链项目,Fabric是其中最为知名的一个。本文将深入探讨Fabric的架构设计、多链多通道功能、账本设计、链码编写与部署流程,以及在实际应用中遇到的挑战与不足。Fabric架构
Fabric架构经历了从0.6版本到1.0版本的迭代,0.6版本主要适用于商业验证场景,sklearn源码能看么无法应用于真实业务环境。其关键问题是所有功能集中于peer节点,缺乏扩展性、安全性和隔离性。在1.0版本中,Peer节点的功能被拆分,共识服务从Peer节点独立出来,由Orderer节点提供可插拔的共识服务。更显著的变化是引入了多通道(multi-channel)功能,实现了多业务的隔离,使得Fabric在0.6版本基础上实现了质的飞跃。 Fabric的核心架构包括两个关键组件:Peer和Orderer。它们分别是一个二进制程序。在Fabric网络中,参与者可以选择部署一个或多个Peer、Orderer,或者同时部署两者。所有Peer和Orderer节点通过通信与连接,形成了Fabric的网络。每个Peer节点存放全量数据(账本),构成完整的区块链链。为了防止舞弊,查询数据时必须确保来自自己的Peer。网络中存在大量的Peer节点,每个节点存放全量数据,如何确保数据正确性?Fabric通过Orderer节点之间的协商来实现数据的正确传播。架构细节与功能
Fabric架构中的System Chain与Orderer的存在,使得“控制信息的传播范围”成为可能。通过Orderer节点,数据传播范围得到了控制,这为实现私有和机密交易奠定了基础。Fabric的私有和机密交易功能正是基于System Chain与Orderer的结合实现的。 参与者可以在Fabric网络中创建属于小团体的私链(Channel),每个Channel成员名单记录在system chain中,Orderer节点可以将数据只分发给对应Channel中的Anchor Peer。在最新版本1.2中,引入了SideDB中的私有数据存储,进一步强化了数据隔离与安全性。 Hyperledger Fabric v1.2版本的重点是引入了私有数据存储机制,强化了在permissioned networks上进行private confidential transactions的能力。对比比特币网络的全公开网络特性,Fabric的定位更偏向于商业应用,强调的是企业与企业之间的联盟链。在Fabric中,saas系统app源码所有参与者都是经过批准和实名认证的,这与提倡“匿名”的公链形成了鲜明对比。合约与智能合约
为了确保账本的有效性和安全,每个参与者保存的正确数据(账本)还需智能合约的加持。合约规定了数据修改的规则、约束条件,以及触发修改的条件。智能合约是分布在每个Peer上的容器,确保了数据修改的可控性和安全性。Fabric中的合约升级和改动需要满足特定的约束,如所有签署合约的参与者一致同意。合约的执行流程涉及交易发起、智能合约调用、结果校验、签名验证、区块打包和广播等多个步骤,确保了交易的完整性和一致性。MSP与账号认证
Fabric网络中的访问控制通过MSP(Membership Service Provider)实现,MSP包含了账号的私钥和证书,管理了组织、组件和用户的身份认证。每个组织和角色拥有特定的MSP目录,用于存储证书和私钥。MSP的分级管理确保了网络层面和角色层面的准入控制,同时,Fabric还支持TLS证书用于加密通信过程,保障了数据传输的安全性。交易执行流程
区块链账本由Peer节点维护,订单服务集群负责交易排序,只保留处理过程中的部分信息。在Hyperledger Fabric系统中,节点的物理设备与逻辑概念分离,设计上允许Endorsing Peer校验客户端签名,执行智能合约代码,模拟交易后返回结果给客户端。客户端将结果发送给Ordering Service,然后Ordering Service将交易打包成区块,广播至Committing Peer和背书者进行验证写入区块链。完整的交易流程确保了数据的最终一致性。概念解析与Hyperledger Fabric的优势
Hyperledger Fabric的概念包括智能合约(chaincode)、交易(transaction)、世界状态(world state)、背书(endorse)、背书策略(endorsement policy)、华为查看网页源码Peer节点、Channel、PKI、MSP、组织(org)等。理解这些概念对于深入掌握Fabric架构至关重要。 Hyperledger Fabric针对企业级应用提供了一系列优势,包括确保企业合法性质、提供可伸缩、可扩展的架构、增强灵活性、实现智能化的数据分区、支持不可变分布式账本的自助查询、采用模块化架构支持插件组件、以及保护数字密钥和敏感数据的能力。这些特性使得Fabric成为企业级区块链解决方案的首选之一,尤其适用于金融、医疗等行业,以及需要遵守数据保护法规的场景。-HyperLedger-Fabric基础-HyperLedger SDK for Node.js 简介
本文旨在详细介绍HyperLedger SDK for Node.js,针对区块链应用开发,提供一套功能丰富的API接口,用于与Hyperledger Fabric v1.0进行交互。
区块链应用开发的核心包括应用程序开发与智能合约开发,应用程序开发需借助SDK实现与区块链网络的交互,而智能合约则可使用如Go语言等编程语言实现。
Hyperledger Fabric 1.0的开发模型包括应用程序接收用户请求,可能调用智能合约或直接访问区块链,智能合约执行时可能对区块链进行操作并产生事件。
Hyperledger SDK for Node.js提供便捷的API接口,帮助开发者与Hyperledger Fabric区块链网络进行互动。该SDK专为Node.js环境设计,支持丰富的操作功能,如与区块链网络通信、智能合约管理等。
SDK的组成包含两个主要部分,即FabricClient和Config模块。FabricClient作为应用程序入口,提供通道管理、链码管理、数据存储和密码学相关功能,每个实例对应一个区块链网络。Config模块用于初始化FabricClient,通过离线获取并传递配置信息,包括可信根证书、排序服务节点信息等。
通道管理模块帮助创建隔离不同链上交易的实例,每个通道内的节点接收不同交易。通道初始化后,通过请求排序服务节点获取配置区块。
Peer模块代表发送背书请求、执行交易查询的节点,包含节点名称、地址、角色和注册证书等信息。Orderer模块则是发送交易进行排序的节点,定义了发送原子广播请求和获取区块的接口。
User模块代表实体,需生成注册证书和签名密钥才能进行部署链码、提交交易和查询交易等操作。注册证书可以通过第三方CA获取或使用fabric-ca模块生成。
KeyValueStore模块用于存储应用程序敏感信息,如用户私钥、证书信息等。EventHub模块封装了与Peer节点交互的事件流,接收异步通知事件。Logger模块提供日志接口,用于日常开发过程中的日志记录。
此外,fabric-ca-cilent模块专门用于管理区块链网络内所有实体的身份,包括身份注册、注销等操作,以及证书管理,如ECerts、TCerts的发放和注销。
最后,对于应用开发人员来说,官方提供了多种语言版本的SDK,如Node.js、Java、Python等,开发者可根据实际需求选择合适的SDK进行开发。
探寻 hyperledger fabric 之关键概念
本文深入探讨了超级账本(Hyperledger Fabric)的核心概念与关键特性,旨在为开发者和研究者提供全面的理解。超级账本主要由两个部分组成:世界状态(World State)和交易日志(Tx Log)。世界状态描述账本当前的全貌,而交易日志记录了所有事务随时间的动态变化,最终这些变化被永久记录在区块链上。 超级账本具有以下几个关键特性: 每个通道拥有一个不可篡改的账本,通道内所有节点共享相同副本。 更新、新增、删除、查询等操作涉及世界状态和区块链,确保数据的一致性。 隐私保护:账本在整个通道内共享,但可以与特定节点建立私有通道,实现数据隔离。 安全与成员服务:确保网络内的身份验证和权限管理。 共识机制:不仅涉及交易顺序的一致性,还包括提议、背书、排序、验证和上链的完整过程,确保交易周期的正确性。 通道(Channel)概念类似于在Fabric网络中构建的子网络或子区块链,如一个公司网络中,不同部门(如甲部门、乙部门等)可以视为独立的通道,形成一种类似于“多链宇宙”的结构,甚至支持多链间的跨链操作。 Fabric网络构建基于官方文档提供的示例,它通过一系列步骤从概念层面构建网络,将网络分解为多个小的通道,每个通道具备独立的区块链功能和基础设施。 网络创建流程包括定义通道配置文件(CCx),创建节点、应用程序和链码等组件,最终形成一个多链网络结构,其中每个组织、节点和应用程序依据配置文件加入多个通道,实现相互独立的实例。 身份(Identity)在Fabric中扮演重要角色,通过X.数字证书实现验证。数字身份不仅是一个名字,还包含与之关联的属性,形成身份和属性的集合体,类似于密码学中的基于属性加密(ABE)概念。 策略(Policy)在Fabric中实现目标规则集合,旨在协调成员对状态修改的一致性,如成员加入、退出规则、区块数据结构变更、智能合约背书协议等。策略分为接入访问控制列表(ACLs)、智能合约背书策略和通道配置修改策略。 SignaturePolicy和ImplicitMeta policies是策略的两种具体形式,用于定义成员的签名要求和隐式元数据策略。构造SignaturePolicy时,策略使用protobuf形式表达,定义签名策略需要满足的条件。 背书策略决定了通道中哪些节点需要执行链码并背书执行结果,确保交易的合法性。Fabric提供了链码级别、集合级别和键级别的背书策略,允许更细粒度的控制。 MSP(Membership Service Provider)是Fabric中的信任管理组件,负责成员的身份认证和准入控制。每个组织可以有多个MSP规则,一个组织对应一个Channel MSP,用于管理该组织的成员及其权限。 节点在Fabric网络中是物理实体设备,包括普通节点和排序节点。普通节点执行应用层操作,排序节点负责交易排序并打包成区块广播给其他节点。 账本(Ledger)在Fabric中存储了所有交易的详细记录,与世界状态和区块链协同工作,确保数据的完整性和一致性。 排序服务(Ordering Service)负责交易的排序、提交和验证,确保整个网络中的账本一致性。Fabric采用多种排序服务实现方案,包括基于Raft、Kafka和Solo的算法。 智能合约(Chaincode)在Fabric中通过链码(Chaincode)实现,它运行在隔离容器中,通过应用程序可以初始化和管理账本状态。智能合约执行需要特定的背书策略,确保其在指定条件下执行。 链码的生命周期包括部署、安装、升级等阶段,由所在通道的组织批准并管理。客户端SDK提供操作链码的界面,支持链码的安装、调用以及管理。 针对数据隐私问题,Fabric通过私有数据(Private Data)实现,允许对数据访问进行控制,确保未授权用户无法查看私有信息。访问控制列表(ACL)定义了策略与资源之间的关联,实现访问控制效果。 总之,Hyperledger Fabric提供了一种灵活、安全、可扩展的区块链平台,通过其独特的设计和机制,实现了高效的数据管理和交易处理能力,适用于需要受控信任环境的业务场景。9-HyperLedger-Fabric原理-MSP详解(一)-MSP基础
在理解Fabric架构时,MSP(Membership Service Provider)作为权限管理的核心组成部分,扮演着重要角色。本文将深入探讨MSP的基础概念、作用、结构以及实践应用,以帮助读者构建对MSP的全面认知。
一、基本概念
MSP,全称为Membership Service Provider,意为成员关系服务提供者。它主要负责成员身份的管理与验证,构建在Fabric网络中的信任体系。MSP涉及到的几个关键术语包括证书、成员、组织、联盟与MSP。
证书(Certificate)是MSP的基础,采用ECDSA算法生成,遵循X.标准规范,用于证明成员身份。每个实体、组织拥有独立身份证书,方便基于组织实现灵活的权限管理。
成员(Member)是指具有网络唯一根证书的合法独立实体,如Peer节点、应用客户端等。
组织(Organization)代表一组共享信任根证书的成员,实现高信任度的内部交互。组织内成员可为普通成员或管理员,管理员拥有更高权限,用于组织配置管理。
联盟(Consortium)由多个组织构成,为多个组织相互合作的场景提供服务,支持数据安全交互。
MSP(成员关系服务提供者)提供抽象化的成员操作框架,管理证书颁发、校验以及用户认证背后的所有密码学机制与协议。
二、MSP的作用
MSP的核心作用在于管理成员身份、验证签名与授权,实现基于身份证书的权限验证。一个Fabric区块链网络可以由一个或多个MSP控制,提供模块化的成员操作与跨不同成员标准的互操作性。
三、MSP结构
Fabric中的MSP概念代表身份验证实体,用于实现对不同资源(成员、节点、组织等)基于身份证书的权限验证。MSP结构包括但不限于:信任的根证书、中间件证书、组织单元列表、管理员身份证书、证书撤销列表、私钥库与TLS根证书列表等。
四、MSP实践
MSP实现用户管理与权限认证的过程包括证书生成、配置文件设置等步骤。初始化MSP实例需生成用户权限管理与签名认证证书,并在Peer、Orderer、Channel等组件的配置文件中指定相关证书信息。注意,所有渠道成员均参与此过程。
五、总结
本文介绍了MSP的基本概念、作用、结构以及实践应用,旨在帮助读者全面理解MSP在Fabric系统中的角色与功能。MSP作为权限管理的核心,对构建安全、高效的企业级区块链网络至关重要。
forgeåfabricçåºå«
forgeåfabricçåºå«å¦ä¸ï¼forgeã大åèç模ç»ãçæ¬æ¯è¾èï¼æ´æ°ä¹æ ¢ï¼ä½æ¯æ¨¡ç»ç©æ³æ¯è¾ä¸°å¯ãfabricã涵çå¿«ç §çæ¬ãçæ¬æ°æ´æ°å¿«ãèä¸è¿è¡è½»ä¾¿æµç¨ã
ä¸ãforgeåºæ¬éä¹
forgeè±[fɔ:dʒ]ï¼ç¾[fɔ:rdʒ]n.é»é 车é´;çéçï¼é»éç;éå éºï¼éå å·¥åºï¼vi.é»å¶ï¼é»é ;伪é ;ç¯ä¼ªé 罪ï¼vt.é»é ;伪é ;æé ï¼ç¼é ;å¶è®¢ã第ä¸äººç§°åæ°ï¼forgesï¼è¿å»åè¯ï¼forgedï¼å¤æ°ï¼forgesï¼ç°å¨è¿è¡æ¶ï¼forgingï¼è¿å»å¼ï¼forgedã
forgeï¼è±è¯åè¯ï¼ä¸»è¦ç¨ä½å¨è¯ãåè¯ï¼ä½å¨è¯æææ¯âé»é ï¼é¸é ï¼ç¼é ï¼è°è¦åæï¼ä¼ªé ï¼ç¨³æ¥åè¿ï¼åé移å¨âï¼ä½åè¯æææ¯âé»éçï¼é»é 车é´ï¼é»é åï¼éå éºï¼ä¼ªé è âï¼åæ¶ä¹æ游æãMinecraftãä¸ä¸æ¨¡ç»è¿è½½å¨APIã
äºãä¾å¥
1ãThey forge the signatures of consumers.ä»ä»¬ä¼ªé æ¶è´¹è çç¾åã
2ãRooteinâUnlike Habit Forge, this is an ongoing habit tracker.There is also a mobile version for you to track your habits on the go.æåæº--ä¸åé¸é ä¹ æ¯ï¼è¿æ¯ä¸ä¸ªæ£å¨è¿è¡çä¹ æ¯è®°å½ãå®è¿æä¸ä¸ªææºçæ¬æ¥è®°å½ä½ æ£å¨è¿è¡çä¹ æ¯ã
3ãIn my experience, helping employees do more of what they do best and enjoy the most will forge an all-important connection to your business.以æçç»éªï¼å¸®å©åå·¥åæ´å¤ä»ä»¬åæ好çåæå欢åçäºæ ä¼ä½ çä¼ä¸æé ä¸ä¸ªé常éè¦çè¿æ¥ã
ä¸ãfabricåºæ¬éä¹
fabricçåé³ï¼ç¾[ˈfæbrɪk]ï¼è±['fæbrɪk]ï¼n.ç»ç©ï¼å¸æï¼ï¼ç¤¾ä¼ãæºæççï¼ç»æãå¤æ°ï¼fabricsã
åãä¾å¥
1ãAt the bottom we have an example of that copper tone. The fabric has been Bloch printed and brushed on the back as well.å¨æä¸é¢æ们æä¸ä»¶æ ·å带æé»éè²è°ãè¿åé¢æç»è¿æ»¡å°å°è±ï¼åé¢ææç»æ´çã
2ãA flat piece of coarse fabric or other material used for wiping one's shoes or feet, or in various other forms as a floor covering.æ¦éå«ï¼è¸èå«ï¼ç²çº¤ç»´æå ¶ä»ææå¶æçç¨äºäººä»¬æ¦éæèãæä½ä¸ºå°é¢é®çç©çå ¶ä»å½¢å¼çå«åã
2024-11-30 05:23
2024-11-30 04:38
2024-11-30 04:21
2024-11-30 04:20
2024-11-30 04:18
2024-11-30 03:47