首页
学习
活动
专区
圈层
工具
发布

解密 Fabric 体系 —— 架构与实践全解析

例如,在 Hyperledger Fabric 中,参与者可以选择不同的共识机制以适应不同行业的安全与性能要求,同时,链码( chaincode )作为智能合约的实现方式,则可以使用多种编程语言编写,实现了业务逻辑与基础设施的解耦...在一个典型的 Hyperledger Fabric 网络中,各个节点通过网络通道( channel )进行数据隔离与隐私保护,彼此之间通过制定严格的背书策略( endorsement policy )来确定交易的有效性...对于工程师而言,这一流程设计不仅确保了链上数据的不可篡改性,还为跨组织协作提供了一种可靠的信任机制,使得参与各方能够在不完全信任彼此的前提下进行合作。...其背后的共识算法能够在分布式节点之间达成一致,确保数据在传输与存储过程中不出现冲突或不一致性;而链码中封装的业务逻辑则赋予整个系统高度灵活的应用场景,从金融交易到供应链管理均可涉猎。...在部署 Fabric 网络时,各个组件可以根据实际情况进行调整,例如根据节点数量选择合适的排序服务策略,或者针对交易频繁的场景选择优化的存储方案。

10910

Hyperledger Fabric 2.x 环境搭建

智能合约包含管理区块链账本上资产的业务逻辑,由成员运行的应用程序网络可以在账本上调用智能合约创建,更改和转让这些资产,应用程序还通过智能合约查询,以在分类账上读取数据。...在Fabric中,智能合约作为链码以软件包的形式部署在网络上。链码安装在组织的对等节点上,然后部署到某个通道,然后可以在该通道中用于认可交易和区块链账本交互。...在将链码部署到通道前,该频道的成员需要就链码定义达成共识,建立链码治理。何时达到要求数量的组织同意后,链码定义可以提交给通道,并且可以使用链码了。...首先确保操作目录为test-network目录,比如我的目录是: 以下操作需确保在 test-network 目录中进行操作: 执行以下命令将cli客户端添加到环境变量中: export PATH=$...测试网络脚本还提供了使用证书颁发机构(CA)的网络的启动选项。在网络中每个组织操作一个CA(或多个中间CA)来创建属于他们的组织身份,所有由该组织运行的CA创建的身份享有相同的组织信任根源。

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Hyperledger Fabric 网络构建

    /crypto-config.yaml 在当前目录下自动生成crypto-config目录,里边存放了所有的证书与密钥,为MSP 提供服务 Name:组织名称 Domain:组织域名 Specs: ​...-Hostname:自定义节点名称 Template:使用模板定义节点名称 peer($Count +1) ​ -Count:节点数量 Users:用户名称 user$...: Name:在网络中的名称 ID:MSP中的唯一ID MSPDir:msp的相关目录 Policies:读写策略 AnchorPeers:锚节点配置 3.创建通道配置文件 configtxgen...-outputAnchorPeersUpdate:后边接组织锚节点配置文件输出的文件路径; -channelID:后边接通道名称,这里定义的是业务通道的名称,建议全小写并且没有特殊字符; -asOrg...:后边接所属组织的MSPID,要与configtx.yaml文件中Organizations配置段的定义一致; 锚节点每个组织至少有一个,有多少个锚节点就创建多少个锚节点配置文件 5.启动docker容器

    82620

    Hyperledger Fabric基础知识

    IBM开发的Hyperledger Fabric肯定是最佳选择,尤其在今天这个公链应用不明朗的情况下,使用Fabric开发联盟链应该是最常见也最实用的框架了。...资产在Hyperledger Fabric中表示为键值对的集合。 Shared ledger。共享账本记录资产的状态和所有权。...Hyperledger Fabric网络是由网络中不同组织拥有和贡献的peers构建的。该网络之所以存在是因为组织将其个人资源贡献给了集体网络。...peers具有成员资格服务提供商从其所属组织分配的身份(数字证书)。不同组织的Peers可以在同一channel上。 Membership Services Provider (MSP)。...MSP是证书颁发机构,以管理用于认证成员身份和角色的证书。在Hyperledger Fabric网络中,所有的节点必须要有认证过的身份才能进行交易。

    2.3K10

    Hyperledger Fabric 系统架构详解

    联盟链严格意义上并不是真正的“去中心化”,它通过引入了权限管理机制(结合企业在现实业务中的角色)来弱化对节点作恶的预防机制,从而能提高效率、应对复杂的业务逻辑。...Hyperledger的框架结构是模块化、可拓展,企业可以根据具体的业务需求选择不同的模块,避免复杂的业务逻辑和臃肿的系统。...架构 在大部分公链中,架构为Order - Execute - Validate - Update State。...背书是相关组织对交易的认可,即相关节点对交易进行签名。...对于一个链码交易来说,背书策略是在链码实例化的时候指定的,一笔有效交易必须是背书策略相关组织签名才能生效,本质上Fabric区块链中的交易验证是基于对背书节点的信任,这也是称Fabric并不是严格意义上的去中心化的原因之一

    3K10

    Hyperledger Fabric 网络与安全体系浅析

    排序节点由O4提供,属于组织R4. 搭建过程 与真正的商业应用场景相比,角色和商业和逻辑都很简化,但很适合用来理解不同节点和角色之间的功能和交互。接下来,我将一步一步说明网络的搭建过程。...加入新节点并部署智能合约与应用 值得注意的是,有些节点会同时加入多个通道,在不同的业务中扮演不同的角色,其他流程同上。...公链系统中,所有节点都有区块链账本的副本,并且执行智能合约;而在Fabric系统中,业务相关节点会形成节点组,存储与其交易(业务)相关的账本,而通过链码对账本的更新也会被限制在节点组的范围内,从而保障整个系统的稳定性...交易隐私 Fabric采用了通道机制来划分整个系统为多个子区块链(账本),只有加入通道的节点才能查看和存储交易信息,但排序节点可以看到。 那有什么办法在通道中保障一些私有数据的隐私呢?...Fabric提供了一种存储私有数据的方式,使通道中的节点可以选择特定的数据分享对象(节点)。

    99810

    Hyperledger Fabric 2.0 Alpha发布了!

    Fabric chaincode lifecycle Fabric 2.0 Alpha介绍了分布式治理链码的特性,包括在你的节点上安装链码以及在一个通道中启动链码的新流程。...新的模型在之前的生命周期上进行了改进: 多个组织必须同意链码的参数:在Fabric 1.x版本中,一个组织能够为所有其他通道成员设置链码参数(例如背书策略)。...更安全的链码升级过程:在之前的链码生命周期中,升级链码可以由单个组织进行发布,从而尚未安装新链码的通道成员将可能产生风险。新的模型要求只有足够数量的组织批准后才能允许升级链码。...在现在的版本中你可以使用一个链码安装包在同一个通道或者不同的通道使用不同的名字进行多次部署。...和基于Kafka的排序服务相比,基于Raft的排序服务将变得更容易设置和管理,并且它的设计允许遍布全球的组织成为分散的排序服务贡献节点。

    92720

    一文了解超级账本DLT、库、开发工具有哪些, Hyperledger家族成员你认识几个?

    当Hyperledger(超级账本项目)在2015年12月发布,并在2016年初进一步完善时,我看到所有的公司都参与其中,但当时的我对参与的公司数量产生了怀疑。...验证节点可以使用Gossip协议来分发半签名交易,作为多重签名交易的一部分。当分类账本状态存储在PostgreSQL中时,区块存储在文件中。如果用发散性思维去想的话,这个项目会有无限的可能性。...Sawtooth是去年我为我的游戏平台考虑过的另一个技术项目,但当时,它并不是我们心中想做的合适的模型,这也是我们最终选择了Fabric的原因。...我喜欢这个想法的原因是它会简化整个智能合约过程,并将其开放给其他语言使用。虽然目前不太确定它进行到哪一步了,但是它背后的家伙却是意志十分坚定的。这也是个你在开发中要常考虑的项目。...如果你在Hyperledger世界中工作的话,这是一个能和你成为朋友的APP,十分受大家的欢迎。 最后是Grid,这是构建供应链解决方案的框架。

    1.2K10

    Hyperledger Fabric 2.0 Alpha发布了!

    Fabric chaincode lifecycle Fabric 2.0 Alpha介绍了分布式治理链码的特性,包括在你的节点上安装链码以及在一个通道中启动链码的新流程。...新的模型在之前的生命周期上进行了改进: 多个组织必须同意链码的参数:在Fabric 1.x版本中,一个组织能够为所有其他通道成员设置链码参数(例如背书策略)。...更安全的链码升级过程:在之前的链码生命周期中,升级链码可以由单个组织进行发布,从而尚未安装新链码的通道成员将可能产生风险。新的模型要求只有足够数量的组织批准后才能允许升级链码。...在现在的版本中你可以使用一个链码安装包在同一个通道或者不同的通道使用不同的名字进行多次部署。...和基于Kafka的排序服务相比,基于Raft的排序服务将变得更容易设置和管理,并且它的设计允许遍布全球的组织成为分散的排序服务贡献节点。

    1.3K30

    万字长文,教你用go开发区块链应用

    Anchor 锚节点:为了实现高可用,每个参与方组织一般包含两个或多个 Peer 节点,可以设置其中的一个为 Anchor ,与区块链网络中的其他组织进行信息同步。...10、更新锚节点 锚节点是必需的。普通节点只能发现本组织下的其它节点,而锚节点可以跨组织服务发现到其它组织下的节点,建议每个组织都选择至少一个锚节点。...我们知道链码其实就是用来处理区块链网络中的成员一致同意的业务逻辑。...比如 Taobao 和 JD 规定了一个规则,将其编写成链码,后面双方就只能遵循这个规则了,因为链码到时候即部署在你的节点,也会部署在我的节点上,你偷偷改了逻辑,我的节点不会认可你的,这也正是区块链的作用之一...部署链码 我们将刚刚编写的智能合约也就是链码安装到区块链网络中,同样是借助 cli 服务,我们在 Taobao 组织的 peer0 节点和 JD 组织的 peer0 节点上都安装上链码: $ docker

    4.3K20

    “Hyperledger Fabric 是假区块链!”

    区块链是否可以在不大幅度降低性能的前提下加入其他的参与者(节点),从而实现可拓展性? 那些目光长远的企业还会考虑到被选择的区块链将来能否可以轻松地与其他公有区块链或私有区块链进行互操作?...所有的节点都会收到订购服务发来的区块信息,但它们需要验证区块中的交易信息来保证区块链中数据的安全性,步骤如下: 1、验证背书节点的执行策略; 2、验证当前状态数据库中读写集的版本; 3、向区块链中提交区块信息...但从企业区块链需要的可拓展性方面来说,多链解决方案并不是一个好的选择,因为这样做会使得部署过程太过于复杂、节点分布不均匀、智能合约不可靠、还会大大增加潜在的故障点。...代码越多,可能存在的漏洞就越多。这么大数量的代码中可能隐藏着很多能造成数百万美元损失的漏洞。 编写以及阅读智能合约本不应该如此困难。...为更好实现区块链的价值,老练的客户将会选择那些有着更好工具、区块链性能更优、愿景更好以及真正懂得如何使用这项技术的区块链解决方案。

    2.1K20

    使用Hyperledger Fabric和Composer实现区块链应用程序

    从Hyperledger概念的角度来看,区块链网络与比特币或以太网等加密货币的代表无法比较。相反,Hyperledger网络的节点分布在参与组织中,这使得私有,许可或联盟区块链网络特别有趣。...在节点上的本地持久性更改之后,将更改提交给网络(“认可”)并在其他组织接受后插入到区块链中。在以太坊或其他公共区块链平台的背景下,可以将链码与智能合约进行比较。 ? 通道用于实现隐私领域。...每个参与者为他们所属的每个通道保留一份分类帐副本。这为网络中的每个现有信道创建了区块链数据结构。与区块链一样,交易存储在块中,这些块在单个连接列表中成为加密链。...实施功能 现在我们在我们选择的目录中创建我们的BND项目。...但我们可以轻松添加更多组织并通过多个主机分发对等节点。对于由真正的组织联盟跨越的区块链网络,我们仍然有一些问题需要解决: 我们如何管理组织和对等节点?组织如何自动将新的对等节点添加到网络中?

    2.4K20

    Fabric概览

    在内部实现中,资产表现为一系列key-value的键值对集合,状态变更记录为Channel账本中的交易(即:通过交易来修改用户的资产)。可以编码为任意的二进制或Json格式....为了解决这种在透明和隐私实现之间的差距,chaincode需要被安装在那些需要访问资产状态的节点上(即:如果chaincode未被安装在该节点上,则该节点无法正确与账本进行交互) 当在channel上组织的子集需要维护它们交易数据的隐私性时...,使用隐私数据集来在私有数据库中分离它们的数据,在channel账本上进行逻辑分离,仅有被授权的子组织可以访问这些隐私数据 因此:在隐私的实现中,使用了两种概念:channel, privacy collection...但是,共识不仅简单是对交易的排序,在Hyperledger中,通过其在整个交易流程中(提案、背书、排序、验证、提交)的基础作用,这种差别越加明显。...简单来说,Hyperledger中的共识被定义为组成区块的交易集合的完整验证流程。 当交易顺序、区块的执行结果符合明确的检查标准时,节点之间达成共识。

    52420

    Linux基金会超级记账本开发框架和工具

    Burrow是初创公司monax.io捐献,Intel赞助的之智能合同应用引擎。部署为Ethereum 以太坊的智能合同节点,可以执行Permissioned EVM虚拟机上的智能合同。...Sawtooth是一个企业级的分布式记账本,应该是Intel捐献的, 一些特色是: (1) 应用和核心系统的隔离,Sawtooth提供了智能合同的抽象,应用的开发者选择各自语言开发合同的逻辑。...(2) 支持私有网络,集群种的节点可以单独配置采访权限。 (3) 并行执行交易,Sawtooth有个调度器把交易分割为并行的流程,隔离开每个交易的执行。...孵化中,链码开发基础提到过的另外一种开发模式,IBM主导,推荐Mac和Ubuntu运行,类似solidity, 用javascript语法,定义资源,参与者,交易,把链码逻辑可暴露为REST服务, Fabric...2.4 Hyperledger Explorer ? 孵化中,Web系统,用于浏览,调用,部署或查询区块链网络的数据,交易,网络,节点等信息。 2.5 Hyperledger Quilt ?

    1.4K10

    Hyperledger Fabric之模型

    (6) 交易被排序保存在区块中,并从ordering(有序)服务中交付到通道的其它节点。 (7) 节点通过背书策略验证交易,并且执行对应策略。...(11) 通道包含了会员服务提供商实例,用于保密的资料在不同证书机构间传递。 4. 隐私 Hyperledger Fabric以通道为基础提供了不可篡改的记账本和用于修改资产状态的链码。...当一个通道的组织的下属机构想保证交易数据的机密性,保存在私有数据库中的一个私有数据集合将用于隔离这些数据,从通道的记账本中逻辑的隔离,而这些数据只能被授权的组织下级机构采访。...所以,通道保证交易在广阔的网络中私有,而私有数据集合保证交易在通道的组织的下属中私有。...但是,共识不仅是交易中顺序如何达成一致,Hyperledger Fabric通过在整个交易流程中它的基础角色突出了这些差异,从计划和背书,到ordering排序,验证和提交,简而言之,共识被定义为整个周期的组成区块的一组交易的正确性的验证

    1.2K20

    Fabric示例——first network

    该网络共有4个peer节点,划分为2个组织(organizations),以及1个单独的orderer节点,此外还需要一个cli容器来与网络节点交互。...选择合适的版本下载,将解压后的bin目录放置于fabric-samples目录下,并加入环境变量: vim ~/.bash_profile // Ubuntu中是.profile...首先进入cli容器中,之后的所有命令都是在该容器内部进行的: docker exec -it cli bash 执行以下命令创建通道,其中--cafile参数制定了orderer节点的TLS根CA证书的路径...peer节点的文件系统中(这里只在peer0.example.org1.com安装了): peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger...'{"Args":["query","a"]}' 查询结果为: Query Result:100 7.交易 从a账户转移10个数额到b账户,该步会发送交易到orderer节点,在区块链中添加新的区块,并更新至状态数据库

    2.2K30

    企业应该选择哪种区块链

    联盟链与私链类似,其开放程度和去中心化程度是有所限制的,其读写权、记帐权由组织决定。与私有链最大的不同在于,联盟链是为一个联盟,比如一个行业服务的;而私链则是为一个组织,比如一家公司内部服务。...使用密码学或零知识证明(zero-knowledge-proof)方案可以在参与节点彼此之间保持数据机密性。只需了解联盟中同行之间需要透明的交易。...吞吐量(through-put) 吞吐量是按时间段处理的交易数量的度量标准。在区块链结构中是每秒写入到区块链上的速度。...大多数公共区块链使用基于随机的的算法来选择节点以提出新块,这将会十分耗时。 因此,大多数私有区块链都采用基于投票的共识算法。当大多数节点投票时,该块就可以被最终确定。...对于私有区块链而言,这通常不是一个大问题,因为与一般公有链环境相比,参与者数量低了几个数量级,并且部署在具有低延迟和保证吞吐量的WAN中。

    1.8K00

    Fabric简介

    Fabric-ca的主要作用是为组织内的成员颁发证书。每个组织都有自己的根证书,用于识别用户身份。 Fabric-peer是运行在用户组织内的节点上。...三、Hyperledger Fabric使用流程 1.多个组织协作搭建Hyperledger Fabric网络,每个组织都有自己的peer节点用来存储账本数据。...2.根据业务需求创建通道(可以建立多条通道,通道间的数据彼此独立,一条通道是有很多区块构成的链式结构) 3.根据业务需求,相关组织选择peer加入到通道中 4.根据业务需求,编写智能合约 5.根据业务需求...,相关组织选择peer安装智能合约 6.其中一个组织,实例化智能合约,主要是在特定的通道创建特定业务的命名空间并且写入此命名空间的初始化数据,在实例化智能合约的过程中,指定智能合约的背书策略 7.相关组织通过调用智能合约和链上数据进行交互...peer节点 5.Peer节点检查区块中的交易,并生成最终的区块 五、Hyperledger Fabric的常见问题 a)区块结构以及交易信息 下图主要是列出了Hyperledger中区块链中单个区块的结构

    2.7K30
    领券