Hyperledger Fabric中的Identity】的更多相关文章

Hyperledger Fabric中的Identity 什么是Identity 区块链网络中存在如下的角色:peers, orderers, client application, administrators等等.每一个这样的角色都有一个身份标识(Identity),该身份标识是通过X.509 数字证书来表示的.这些身份标识决定了该角色的对区块链网络上资源的权限,比如是否有权限访问区块链上的某种信息. 数字身份有很多附加属性,供fabric来判断权限.数字身份给出了一个身份的组合结构,与之相…
回顾一下我之前的一篇博客,在Fabric 1.0中,我们存在3种类型的数据存储,一种是基于文件系统的区块链数据,这个跟比特币很像,比特币也是文件形式存储的.Fabric1.0中的区块链存储了Transaction订单读写集.而读写集到底是读什么?写什么?其实就是我们的State Database,也叫做World State,里面以键值对的方式存储了我们在ChainCode中操作的业务数据.另外还有就是对历史数据和区块链索引的数据库. 区块链是文件系统,这个目前不支持更改,历史数据和区块链的索引…
channel Configuration Transaction Hyperledger Fabric区块链网络中的配置存储在一个configuration-transaction的集合中,每个channel都有一个.每个configuration-transaction通常简称为configtx. configtx 具备如下几个特点: Versioned: 配置中的每一个元素都有一个与之关联的version,配置更改时version会增加.每个确认的配置都有一个序列号. Permission…
联盟链由于其本身的特性,目前应用在一些大型国有企业银行比较多.出于安全考虑,这些企业一般会隔离外网环境.所以在实际生产需求中可能存在需要在一个离线的环境中打包安装chaincode的情况. 本文基于这个需求而编写. java env 镜像源码:https://github.com/hyperledger/fabric-chaincode-java/tree/release-1.4/fabric-chaincode-docker 我使用的是java chaincode.目前fabric中的java…
This section outlines the key design features woven into Hyperledger Fabric that fulfill its promise of a comprehensive, yet customizable, enterprise blockchain solution: Assets - Asset definitions enable the exchange of almost anything with monetary…
Hyperledger gossip   本文记述了Hyperledger Fabric 中 一种网络数据同步协议--gossip,它的主要作用是致力于账本数据的安全传输,保证不同节点之间状态的同步和完整.   在fabric的网络中gossip的message是持续存在的,一个peer节点会不断.实时的接收到来自同一channel其他peers的账本数据.每一个gossip message都携带发送方的签名信息,这可以使得接受方轻易的辨别对方的身份和校验消息的完整性和合法性.当一个peer由于…
前言 本文主要目的是用于整理Hyperledger  Fabric中关于chaincode 管理和操作的内容,作者以release-1.2为范本进行讲解. 主要参考链接: https://hyperledger-fabric.readthedocs.io/en/release-1.2/chaincode4noah.html 本文总计有两节: 第一节: chaincode Operator 介绍 第二节: 测试和验证 新入门的建议看一看有所了解,已经熟练也可以查缺补漏. 关键词 chaincode…
2:Fabric源码及镜像文件处理 2.1下载Fabric源码 下载Fabric源码是因为要用到源码中提到的列子和工具,工具编译需要用到go语言环境,因此需要把源码目录放到$GOPATH下.通过1.3中go的安装配置,$GOPATH设置为/opt/gopath. 我们可以使用Git命令下载源码,也可以使用go get命令,偷懒一点,我们直接用go get命令获取最新的Fabric源码: go get github.com/hyperledger/fabric [注:使用离线环境或者内网环境的朋友…
超级账本组成模型 本文主要讲述Hyperledger Fabric的关键设计特性,并细述如何实现了一个全面的.可定制的企业级区块链解决方案: 资产定义--资产这里理解为任何具有货币价值的东西,它们都可以通过网络进行交易,无论是超市商品到古董车再到货币期货都属于资产. 智能合约--链码(chaincode)即Fabric的智能合约,分为系统链码和用户链码.链码的执行由事务排序划分,限制了节点类型间的信任和验证级别,并优化了网络的可伸缩性和性能. 账本特征--账本不可变的.共享的并且为每个通道(ch…
Membership Service Providers (MSP) 本文将介绍有关MSPs的设置和最佳实践的详细方案. Membership Service Providers (MSP)是一个旨在提供成员操作体系结构抽象的组件. 尤其是MSP抽象出发布和验证证书的所有加密机制.协议以及用户身份验证.MSP可以自定义身份概念,以及这些身份被管理的规则(身份验证)和认证加密(签名生成和验证). 一个Hyperledger Fabric区块链网络可以由一个或多个MSPs管理.这提供了成员操作的模块…
本文主要介绍Hyperledger Fabric的主要设计特点,为了满足功能丰富.可定制.企业化区块链解决方案. Assets - 资产定义,使得任何形式的资产,从食物到汽车到货币都可以进行自由的交换. Chaincode - 链码的执行从交易共识中分离,将需要的可信等级和验证分担给各种类型的节点,优化了网络的可扩展性和性能. Ledger-Features - 不可更改的,共享的账本对每个通道中的所有历史进行编码,为高效的审计和解决分歧等提供了类SQL的查询能力. Privacy-throug…
首先,我们在安装前,要考虑一个问题 Hyperledger Fabric,通过指定的节点进行背书授权,才能完成交易的存储 延伸开来,就是为了实现容错.高并发.易扩展,需要zookeeper来选择排序引擎处理记账的唯一性 我们这里选择kafka排序引擎并通过Kafka集群和zookeeper集群保证数据的一致性,实现排序功能 同时,为了排序服务器的稳定,采取多Orderer集群实现容错空间, 为此,我们采用了最基础的配置方案:两个组织,四个节点 两个CA服务器,三个Zookeeper服务器,四个K…
Hyperledger Fabric共识算法 区块链系统是一个分布式架构,交易账本信息由各个节点管理,组成一个庞大的分布式账本.在分布式系统中,各个节点收到的交易信息的顺序可能存在差异(例如,网络延迟.主机处理性能),这会导致账本信息的状态不一致,例如,小王账户只有10元,但是他同时转账给小李和小张各10元,并且将这两条交易信息分别发送到两个分布式节点上,如果不对这两条交易进行排序校验,那么,小王实际消费了20元(所谓的双花问题).所以,在区块链系统中,我们需要一套机制,来保证交易的先后顺序,这…
摘要: 全球开源区块链领域影响最为广泛的Hyperledger Fabric日前宣布了1.1版本的正式发布,带来了一系列丰富的新功能以及在安全性.性能与扩展性等方面的显著提升.阿里云容器服务区块链解决方案第一时间同步升级,在v1.1新功能的基础上,提供了弹性裸金属服务器(神龙).内置容器化Explorer.集成阿里云日志服务等方面的增强. 作为全球开源区块链领域影响最为广泛的项目之一,超级账本近日宣布了Hyperledger Fabric v1.1的正式发布.此次升级带来了一系列丰富的新功能以及…
HyperLedger Fabric 学习思路分享 HyperLedger Fabric最初是由Digital Asset和IBM公司贡献的.由Linux基金会主办的一个超级账本项目,它是一个目前非常流行并广为人知的区块链网络框架的实现方案.作为一种基于模块化架构开发应用程序或解决方案的基础,HyperLedger Fabric支持如共识和会员服务等即插即用的组件,它的设计初衷是支持不同组件的可插拔实现,并适应整个经济生态系统的复杂性和高精度性.HyperLedger Fabric利用容器技术运…
前言 现在很多人都在从事区块链方面的研究,作者也一直在基于Hyperledger Fabric做一些开发工作.为了方便后来人更快的入门,本着“开源”的精神,在本文中向大家讲解一下Hyperledger Fabric账本的结构和原理.作者解析的Fabric的工程版本为v1.0.1,在新版本中可能会有些许偏差. ps:作者默认各位读者已经具备了一定的区块链基本知识,不再做一些基础知识的阐述. Hyperledger Fabric账本的结构 在作者最初了解bitcoin的时候有一个疑问:矿工如何校验一…
2.1下载Fabric源码下载Fabric源码是因为要用到源码中提到的列子和工具, 工具编译需要用到go语言环境, 因此需要把源码目录放到$GOPATH下. 通过1.3中go的安装配置, $GOPATH设置为/opt/gopath.我们可以使用Git命令下载源码, 也可以使用go get命令, 偷懒一点, 我们直接用go get命令获取最新的Fabric源码:go get github.com/hyperledger/fabric这个可能等的时间比较久, 等完成后, 我们可以在~/go/src/…
启动各个节点: ./orderer order节点启动方式 ./peer node start peer节点启动方式 Admin@org1.example.com 使用hyperledger fabric可以通过SDK,也可以使用peer命令. 这里直接演示peer命令的用法. 在fabric-deploy中创建目录Admin@org1.example.com,在其中存放该用户的所有资料. mkdir Admin@org1.example.com 将用户证书复制到其中: cp -rf certs…
今天的文章来自Wen Aviva, 坐Jerry面对面的程序媛. Jerry在之前的公众号文章<在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图>已经介绍过Aviva了,SAP成都C4C开发团队中其他同事评价她为:"美腻与智慧的化身","云时代女王","是大家前沿技术的引路人".因为Jerry和Aviva就在一个组,所以我的看法是,这些评价都实至名归. 比如Jerry了解到的Javascript 3D渲染,增强现…
什么是身份系统 区块链网络中的角色包括对等节点(peer),订购着,客户端应用程序,管理员等等.这些参与者的身份都封装在X.509数字证书中.这些身份信息真的非常重要,因为他们决定了在网络中参与者具体的权限. Hyperledger Fabric 在身份中使用 principal 属性来决定他们的相关权限.principal 就像用户 ID 或组 ID 一样,但又更灵活一点,因为他们可以包含更多的参与者身份属性.当我们提到 principal 的时候,其实也就是讲到了系统里参与者身份属性的权限.…
链码(chaincode) 会对 Fabric应用程序  发送的交易做出响应,执行代码逻辑,与 账本 进行交互. 再复习下他们之间的逻辑关系: Hyperledger Fabric 中,Chaincode 默认运行在 Docker 容器中.Peer 通过调用 Docker API 来创建和启动 Chaincode 容器.Chaincode 容器启动后跟 Peer 之间创建 gRPC 连接,双方通过发送 ChaincodeMessage 来进行交互通信.Chaincode 容器利用 core.ch…
文章目录 什么是Hyperledger Fabric? Hyperledger架构是怎么工作的? Hyperledger交易如何执行 总结 Hyperledger Fabric基础知识 本文我们会介绍Hyperledger Fabric的基础知识,并了解如何充分利用这个多功能的区块链框架. 区块链技术为创新提供了丰富的机会.它提供了一种新的交易方式,从而可以从根本上改变业务的实现. 那么,在众多的区块链框架中,开发人员应该首先掌握哪个框架呢?IBM开发的Hyperledger Fabric肯定是…
运行fabric-samples项目中的一个例子:first-network,创建第一个网络(Building Your First Network). 该网络共有4个peer节点,划分为2个组织(organizations),以及1个单独的orderer节点,另外还需要一个容器来执行创建和加入channel.部署和执行chaincode等命令. 运行该例子需要下载的文件有:fabric-samples项目,特定的平台二进制文件,所需的镜像文件. 准备 项目下载 在已设置的GOPATH路径下从g…
转载地址 https://blog.csdn.net/xiaonu123/article/details/81006936 简介 Hyperledger介绍 超级账本(Hyperledger)项目是首个面向企业应用场景的开源分布式账本平台.由linux基金会牵头,包括 IBM 等 30家初始企业成员共同成立的. Hyperledger Fabric是什么 该项目定位是面向企业的分布式账本平台,引入权限管理,设计上支持可插拔.可扩展,是首个面向联盟链场景的开源项目. Fabric 基于 Go 语言…
一.说明 区块链是一个透明的,基于不可变模式的去中心化系统,核心就是一个分布式账本,记录网络上发生的所有交易. 区块链网络主要有三种类型:公共区块链.联盟区块链,以及私有区块链:我们熟知的比特币.以太坊这些数字货币其实就是属于公共区块链平台: 而今天要介绍的 Fabric 则是属于联盟链类型的:Fabric是一个企业级的分布式账本技术平台,也是目前应用最广泛的区块链项目. 本文将梳理区块链技术平台 Fabric 的核心概念与关键功能. 二.特点 Fabric与其他区块链平台对比有以下几个特点:…
MSP Identity Validity Rules——MSP身份验证规则 正如Hyperledger Fabric Membership Service Providers (MSP)——成员服务中描述所提到的,MSPs可以配置一组根证书权限(rCAs——root certificate authorities),并且可以选择一组中间证书授权机构(iCAs——intermediate certificate authorities).一个MSP的iCA证书必须由MSP其中的一个rCAs或iC…
最近开始研究区块链,对这个新兴的技术有了基本概念上的了解,所以打算基于一个开源项目做做实验.如果是做数字货币,那么比特币的源代码是最好的了,不过这算是区块链1.0吧,已经有很多改进的竞争币和山寨币出来了,所以打算对区块链2.0,也就是智能合约入手. 智能合约比较成功的就是以太坊了.以太坊主要是公有链,其实对企业应用来说并不是特别合适,而且本身并没有权限控制功能,面向企业的,主要还是超级账本HyperLedger的Fabric和刚刚开源出来的R3的Corda.关于这些项目的应用场景和区别,我觉得这…
安装过程参照Hyperledger Fabric的官方文档,文档地址:http://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html 0x00 环境介绍,升级系统软件 搭建了一个vm,操作系统版本: [root@fd240 ~]# cat /proc/versionLinux version 4.11.5-200.fc25.x86_64 (mockbuild@bkernel02.phx2.fedoraproject.org) (gc…
本文基于Hyperledger Fabric 1.4版本. 官方文档地址:传送门 动态添加一个组织到Fabric网络中也是一个比较重要的功能.官方文档写的已经很详细了,有能力的尽量还是看官方文档,本文只是根据官方文档进行整理同时兼翻译. 1.前提条件 这个不再解释了,前提条件自然是搭建Fabric的环境了并跑通官方的例子,具体的看这里. 2.启动网络 还是以官方的byfn为例好了,不多说,对Fabric有一定了解的都能明白,不明白的看上面文档: ./byfn.sh up #或者是 ./byfn.…
Kafka生产环境部署案例采用三个排序(orderer)服务.四个kafka.三个zookeeper和四个节点(peer)组成,共准备八台服务器,每台服务器对应的服务如下所示: kafka案例网络拓扑图如下: 一.基本环境搭建:关闭防火墙(或开放端口).selinux.安装配置docker(17.06.2-ce or later).docker-compose(1.14.0 or later).git.go(version 1.11.x).域名ip映射(/etc/hosts) 二.fabirc编…