fabric

超级账本fabric Transient Data与Private Data使用案例

风流意气都作罢 提交于 2020-03-16 19:22:25
某厂面试归来,发现自己落伍了!>>> 在Hyperledger Fabric中有两个相关的概念:私有数据(Private Data)和暂态数据(Transient Data)。本文提供四个示例程序,分别对应私有数据和暂态数据的四种组合使用方式,并通过观察账本的交易以及世界状态数据库,理解为什么在使用私有数据时应当采用暂态数据作为输入。 从技术上讲,私有数据和暂态数据是两个不同的概念。私有数据是考虑如何在通道的部分机构之间共享数据,而暂态数据则是使用私有数据时的一种输入方法。有趣的是,这两者并没有直接的关系,虽然在现实中,当我们需要安全的使用私有数据时,通常都应当使用暂态数据作为输入。 Hyperledger Fabric区块链开发教程: Fabric Node.js开发详解 | Fabric Java开发详解 | Fabric Golang开发详解 1、基本概念 先让我们重温一下在演示程序中将要用到的一些核心概念。 账本:在Hyperledger Fabric中,当一个peer节点加入通道后,就会维护一个账本的副本。账本包含一个用于保存区块的区块链数据结构,以及一个用于保存最新状态的世界状态数据库。当peer节点从排序服务收到一个新的区块并且验证成功后,peer节点就将区块提交进账本,并根据区块中每个交易的 RWSet来更新相应的世界状态。 基于共识机制,在一个通道中

区块链论文参考【14】

◇◆丶佛笑我妖孽 提交于 2020-03-15 19:48:55
区块链作为一种崭新的、颠覆性的技术,是国内外活跃的研究领域和毕业设计选题方向。本文列出最新的一组区块链方面的论文,希望可以对选择区块链毕业设计的同学们有所帮助,这是 汇智网 编辑整理的区块链毕业设计论文系列中的第14篇。 区块链开发教程链接: 以太坊 | 比特币 | EOS | Tendermint | Hyperledger Fabric | Omni/USDT | Ripple 本文整理了最新的可用于区块链毕业设计的参考论文,如果需要访问区块链毕业设计必读论文系列的最新文章,可以持续关注我们的 博客 ,或加入QQ群: 532241998 。 1、基于流水线化执行和稀疏节点的Hyperledger Fabric扩容方案 许多区块链的概念验证应用是使用Hyperledger Fabric开发的。但是HyperledgerFabric的性能是企业担心的一个重要方面。因此在本论文中,我们采用垂直扩展(例如,增加更多的vCPU)和水平扩展(例如增加更多节点)技术研究了Fabric网络可以达到的性能。我们观察到采用这两种技术能达到的性能扩展都非常有限。采用垂直扩展方式时,由于交易的验证提交步骤需要顺序执行,因此不能充分利用分配的vCPU资源。采用水平扩展方式时,由于节点之间的冗余,分配的资源被浪费了。进一步我们观察到这些技术无法实现在网络超负荷时的动态扩展,因此会导致性能方面30%的损失。

Fabric CA/数字证书管理

為{幸葍}努か 提交于 2020-03-15 16:32:54
MSP(Membership Service Provider)成员管理服务提供商 名词: 1。CSR(Cerificate Signing Request):证书签署请求文件 CSR里包含申请者的 DN(Distinguished Name,标识名)和公钥信息(在第三方机构签署证书时要提供)。 证书颁发机构拿到 CSR 后使用其根证书私钥对证书进行加密并生成 CRT 证书文件,里面包含证书加密信息、申请者的 DN 、公钥信息。 一。概述 说明: MSP是Hyperledger Fabric1.0引入的一个组件。目的:抽象化各成员之间的控制结构关系。(MSP将证书颁发/用户认证/后台加密机制和协议都进行了抽象) 每个MSP可定义自己规则:身份认证/签名的生成/认证。 每个Hyperledger Fabric 1.0区块链网络可引入一个/多个MSP来进行网络管理。(即将成员本身和成员间操作、规则、流程都模块化) 1。成员身份是基于标准的x.509证书。利用PKI体系为每个成员颁发数字证书。结合所属MSP进行身份认证和权限控制。 2。根CA证书(Root Certificate): 【1】自签名证书 【2】用根CA证书私钥签名的证书还可签发新的证书 3。中间CA证书(Intermediate Certificate) 【1】由其他CA证书签发 【2

Fabric区块链官方浏览器【中文版】

非 Y 不嫁゛ 提交于 2020-03-14 10:16:23
blockchain-explorer是Hyperledger官方提供的区块链浏览器,目前支持Fabric 1.4.x区块链,中文版由汇智网提供,下载地址: https://github.com/ezpod/blockchain-explorer/ 。 Hyperledger Fabric区块链开发教程: Fabric Node.js开发详解 | Fabric Java开发详解 | Fabric Golang开发详解 官方安装步骤有点复杂,中文版详细安装说明点 这里 查看。以下是快速安装指南: 1、启动Fabric的示例网络 首先参考Fabric区块链官方文档,安装启动fabric-samples中的first-network网络: ~/fabrc-samples$ ./byfn.sh up -l node 如果是windows系统,可以使用这个 Fabric区块链一键安装工具 。 2、安装Fabric区块链浏览器要求的基础软件 安装配置Fabric浏览器之前,需要本地机器先安装如下软件: postgresql 9.5 nodejs 8/10/12 Docker CE 18.09.2+ Docker Compose 1.14.0 3、下载中文版Fabric区块链浏览器代码 使用如下命令将中文版Fabric区块链浏览器的代码下载到本地: ~$ git clone https:/

Fabrc 2.0 外部链码开发教程

ぐ巨炮叔叔 提交于 2020-03-13 09:54:15
在Hyperledger Fabric 2.0中引入的一个新特性,就是可以使用外部的链码启动器,这种外部启动链码的方式非常适合使用kubenetes或dowcker swarm来统一管理节点容器和链码容器。在这片文章中,我们将学习如何使用外部链码启动器在K8s集群中部署链码。 1、Fabric外部链码实验的前提条件 Hyperledger Fabric区块链开发教程: Fabric Node.js开发详解 | Fabric Java开发详解 | Fabric Golang开发详解 下面是我们实验的一些前提条件 一个kubenetes集群,你可以使用minikube或一个单节点的kubeadmin。在 本文中我们使用kubeadmin hyperledger fabric 2.0.1 docker镜像 hyperledger fabric 2.0.1 预编译程序。我们需要其中的工具来创建 密码学资料和通道交易配置文件。可以从 这里 下载。 从 这里 下载本文的代码 2、安装预编译程序 使用以下命令安装预编译程序: wget https://github.com/hyperledger/fabric/releases/download/v2.0.1/hyperledger-fabric-linux-amd64-2.0.1.tar.gz tar -xzf hyperledger

Tungsten Fabric与K8s集成指南丨创建隔离命名空间

自闭症网瘾萝莉.ら 提交于 2020-03-12 18:51:44
作者:吴明秘 Hi!欢迎来到Tungsten Fabric与Kubernetes集成指南系列,本文介绍如何创建隔离的命令空间,并对其网络连通性进行验证。Tungsten Fabric与K8s集成指南系列文章,由TF中文社区为您呈现,旨在帮助大家了解Tungsten Fabric与K8s集成的基础知识。大家在相关部署中有什么经验,或者遇到的问题,欢迎与我们联系。 K8s与Tungsten Fabric集成后有四种配置模式,分别为:默认模式、自定义隔离模式、命名空间隔离模式、嵌套模式。 默认模式 :Tungsten Fabric创建一个由所有命名空间共享的虚拟网络,并从中分配service和pod的IP地址,在Kubernetes集群中产生的所有命名空间中的所有pod都能够彼此通信。 自定义隔离模式 :管理员和应用程序开发人员可以添加注释("opencontrail.org/network: <fq_network_name>")来指定虚拟网络。在这个虚拟网络中,一个命令空间中的一个或所有pod将在这个虚拟网络中被启动。如果该注释是在pod上配置的,那么pod将在该网络中启动;如果注释是在命名空间中配置的,那么命名空间中的所有pod都将在该网络中启动。 命名空间隔离模式 :集群管理员可以在创建新的命令空间时,添加注释("opencontrail.org/isolation : true

Fabric private data入门实战

两盒软妹~` 提交于 2020-03-11 17:04:55
个人博客导航页(点击 右侧 链接 即可打开个人博客): 大牛带你入门技术栈 Hyperledger Fabric private data是1.2版本引入的新特性,fabric private data是利用旁支数据库(SideDB)来保存若干个通道成员之间的私有数据,从而在通道之上又提供了一层更灵活的数据保护机制。本文将介绍如何在链码开发中使用fabric private data。 fabric private data利用SideDB来保存私有数据,相当于在通道之上又提供了一层更细粒度的数据隐私保护机制。本文将介绍fabric private data的引入目的、基本概念与应用场景。 什么是fabric private data? 目前在Hyperledger Fabric中实现数据隐私的方法是使用通道。但是官方并不孤立为了实现数据的隐私保护而在大型网络中创建大量通道,因为这会带来额外的开销,例如管理策略、链码版本以及成员服务提供(MSP)等。在一个通道中,所有的数据要么是公开的,要么是私有的。因此如果你想要将资产转给通道外的成员会很麻烦。这就是Hyperledger Fabric引入私有交易的原因。farbic private data允许基于策略创建私有数据集,来定义通道中的哪些成员可以访问数据。可以简单地通过添加策略来管理fabric private data

Hyperledger Caliper

孤人 提交于 2020-03-10 23:14:19
在这个教程中,我们将学习如何使用Hyperledger Caliper对包含多个排序节点的Fabric网络进行基准测试,我们使用Docker Swarm作为容器编排工具。 Hyperledger Fabric区块链开发教程: Fabric区块链Node.js开发详解 Fabric区块链Java开发详解 Fabric区块链Golang开发详解 1、待测Fabric网络的基本配置 测试环境使用3台虚拟机,配置如下: Google cloud VM instance (n1-standard-4) 4 vCPUs, 15 GB memory Ubuntu 18.04.2 LTS 每台虚拟机需要提前安装以下软件: Docker version 18.09.8, build 0dd43dd87f or above docker-compose version 1.17.1 or above Node.js v8.16.0 NPM 6.4.1 2、待测Fabric网络的拓扑结构 需要测试的Hyperledger Fabric网络中包含3个参与机构,共3个排序节点采用Raft共识算法, 每个机构提供1个排序节点和1个对等节点,对等节点使用GoLevelDB作为状态数据库。 3、安装Hyperledger Caliper 首先参考 官方文档 在HOST1上安装Hyperledger Caliper

Tungsten Fabric与K8s集成指南丨创建安全策略

风流意气都作罢 提交于 2020-03-06 05:27:06
作者:吴明秘 Hi!欢迎来到Tungsten Fabric与Kubernetes集成指南系列,本文介绍如何创建安全策略。Tungsten Fabric与K8s集成指南系列文章,由TF中文社区为您呈现,旨在帮助大家了解Tungsten Fabric与K8s集成的基础知识。大家在相关部署中有什么经验,或者遇到的问题,欢迎与我们联系。 安全策略可以通过限制端口、网络协议等方式控制任意pod之间的访问,以及pod与service之间的访问。在K8s集群中安全策略对应的是Network Policy,在Tungsten Fabric中安全策略对应的Firewall Rule,两者是会实时同步的。 pod之间的访问控制 安全策略的控制是全局的,跨命名空间,跨network,所以创建策略的时候要尽可能详细地指定此端到彼端的一些参数,包括端口、命名空间、IP地址段等等。 根据第二章节的信息,可以知道目前有—— 两个命名空间:test-ns1 test-ns2 三个network:k8s-ns1-pod-net01 k8s-ns1-pod-net02 k8s-ns2-pod-net01 四个pod: nginx01-ns1-net01 nginx01-ns1-net02 nginx01-ns2-net01 nginx02-ns2-net01 而k8s-ns1-pod-net01与k8s-ns1

Tungsten Fabric与K8s集成指南丨创建安全策略

梦想的初衷 提交于 2020-03-05 18:03:44
作者:吴明秘 Hi!欢迎来到Tungsten Fabric与Kubernetes集成指南系列,本文介绍如何创建安全策略。Tungsten Fabric与K8s集成指南系列文章,由TF中文社区为您呈现,旨在帮助大家了解Tungsten Fabric与K8s集成的基础知识。大家在相关部署中有什么经验,或者遇到的问题,欢迎与我们联系。 安全策略可以通过限制端口、网络协议等方式控制任意pod之间的访问,以及pod与service之间的访问。在K8s集群中安全策略对应的是Network Policy,在Tungsten Fabric中安全策略对应的Firewall Rule,两者是会实时同步的。 pod之间的访问控制 安全策略的控制是全局的,跨命名空间,跨network,所以创建策略的时候要尽可能详细地指定此端到彼端的一些参数,包括端口、命名空间、IP地址段等等。 根据第二章节的信息,可以知道目前有—— 两个命名空间:test-ns1 test-ns2 三个network:k8s-ns1-pod-net01 k8s-ns1-pod-net02 k8s-ns2-pod-net01 四个pod: nginx01-ns1-net01 nginx01-ns1-net02 nginx01-ns2-net01 nginx02-ns2-net01 而k8s-ns1-pod-net01与k8s-ns1