Hyperledger Fabric【区块链学习一】
Hyperledger Fabric 学习
什么是区块链
- 什么是区块链在我们没有接触的时候,只知道它是一个去中心化的存储方式。当我们发生交易,或者动作的时候我们会将记录通知给所有参与者共同维护,达到去中心化的进行存储。并且我们会将记录使用加密技术保证记录一旦添加到了账本中就无法修改(无法修改的账本就可以追溯信息根源)这个也就是区块链有时候被称为证明系统。
区块链使用场景
- 多方参与
- 跨机构数据共享需求
- 能够除本增收
- 提高工作效率

智能合约
- 智能合约也就是我们说的链码,我们可以通过智能合约访问我们的账本,还可以在不同的场景下通过智能合约达到不同的变化,也好比如我们写的代码。
共识
- 保证账本在整个网络中同步的过程就叫做共识,该过程确保账本仅在交易被相应参与者批准时更新,并且当账本更新时,它们以相同的顺序更新相同的交易。
什么是Hyperledger Fabric
Hyperledger Fabric 是 Hyperledger 中的区块链项目之一。与其他区块链技术一样,它有一个账本,使用智能合约,是一个参与者管理交易的系统。
- Hyperledger Fabric与其他区块链不同的是私有、许可。与允许未知身份与网络的开放式非许可系统(需要诸如“工作量证明”之类的协议来验证交易并保护网络)不同,Hyperledger Fabric 网络的成员需要从可信赖的 成员服务提供者(MSP) 注册。
Membership Services Provider (MSP)。 MSP是证书颁发机构,以管理用于认证成员身份和角色的证书。在Hyperledger Fabric网络中,所有的节点必须要有认证过的身份才能进行交易。MSP管理用户ID并验证网络上的所有参与者,从而使Hyperledger Fabric成为一个私有的和准入的网络。
- Hyperledger Fabric 还提供多种可插拔选项。账本数据可以以多种格式存储,共识机制可以交换替换,并且支持不同的MSP。
- Hyperledger Fabric 还提供创建管道功能,显示管道通讯隔离,没有加入这个管道你就没有这个管道通知信息。
- 针对交易 Fabric 引入了一种新的架构,我们称为执行-排序-验证。为了解决顺序执行模型面临的弹性、灵活性、可伸缩性、性能和机密性问题,它将交易流分为三个步骤:
- 执行一个交易并检查其正确性,从而给它背书,
- 通过(可插拔的)共识协议将交易排序,
- 提交交易到账本前先根据特定应用程序的背书策略验证交易
共享账本
Hyperledger Fabric 有一个账本子系统,包含两个组件:世界状态和交易状态,每个参与者都拥有他们所属的Hyperledger Fabric 网络的账本副本
- 世界状态组件:描述在给定时间点账本的状态,它是账本的数据库。数据存储方式可以替换,默认是LevelDB键值存储数据库(简称:数据库)
- 交易日志组件:记录产生世界状态中当前值得所有交易,是世界状态的更新历史,它只记录区块链网络使用的账本数据库前后的值(简称:日志)
智能合约
- Hyperledger Fabric 智能合约用链码进行编写,当应用程序需要与账本发生交互,由区块链外部的应用程序调用。一般链码只与账本的世界状态(数据库)交互、不与交易日志发生交互
隐私
- 当我们的数据需要注意隐私问题,Hyperledger Fabric 提供支持私有网络,也就是我们说的通道进行隔离产生一个私有网络
共识
- 我们的交易必须按照发生的顺序写入我们的账本中,即使它们在网络中不同参与者不同的集合中,为保证顺序、合法性、账本状态 一致。 Hyperledger Fabric 提供了一些容错机制比如:PBFT(拜占庭容错算法)
身份
- 区块链网络中不同的参与者包括Peer节点、排序节点、客户端应用程序、管理员等,都具有一个封装在X.509数字证书。这个身份代表着你能访问到的资源。
成员
- 就相当于合法的公民,这里的话就要配合成员服务者(MSP)验证成员的有效身份信息。(形影不离,通常结合使用)
策略
- 比如我们要做一个时间有什么前提条件,智能合约背书策略 链码包中的每一个智能合约都有一个背书策略,该策略指明了需要通道中多少不同组织的成员根据指定智能合约执行和验证交易才能使一笔交易有效。因此,背书策略定义了必须“背书”(批准)提案执行的组织(的 Peer 节点)。
Peer节点
- 区块链网络主要是由Peer节点组成,Peer是网络的基本元素,因为他们存储了账本和智能合约。一个成员可以有多个Peer节点,但是主要分为主节点、背书节点、记账节点、排序节点
- 当发生通讯时只会有一个节点进行确认,然后通过主节点进行通知组织中其他Peer
排序节点和交易流程(执行、排序、验证)
- 提案
- 客户端应用程序将交易发送给一组节点,这些节点会调用智能合约生成账本更新提案,然后进行背书审核。
- 将交易排序并打包到区块中
- 但我们背书成功之后,我们会交易提交到排序服务节点,排序服务创建交易区块,最终这些交易区块将分发给管道所有的Peer节点
- 验证和提交
- 每个节点将独立地以确定的方式验证区块,以确保账本保持一致。
排序服务实现
- Raft (推荐) 、 Kafka (在 v2.0 中被废弃) 、 Solo (在 v2.0 中被废弃)
Hyperledger Fabric【区块链学习一】的更多相关文章
- 区块链学习7:超级账本项目Fabric中的背书、背书节点、背书策略、背书签名
☞ ░ 前往老猿Python博文目录 ░ 在Hyperledger Fabric区块链中,有背书节点进行背书,Hyperledger Fabric 使用背书策略来定义哪些节点需要执行交易. Hyper ...
- Hyperledger Fabric 手动搭建【区块链学习三】
Hyperledger Fabric 手动搭建 前面我们学习了区块链是什么.还有自动搭建学习东西我们就要从简单到深入(入门到放弃),现在自动部署已经跑通了接下来就是手动搭建Fabric 网络可以更好的 ...
- 区块链学习7:超级账本项目Hyperledger与Fabric以及二者的关系
☞ ░ 前往老猿Python博文目录 ░ 一.超级账本(hyperledger) 超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,成员包括 ...
- Hyperledger Fabric 2.2 学习笔记:测试网络test-network
写在前面 最近被Hyperledger Fabric折磨,归根结底还是因为自己太菜了qwq.学习路漫漫,笔记不能少.下面的步骤均是基于已经成功搭建了Fabric2.2环境,并且拉取fabric-sam ...
- Hyperledger Fabric 1.0 学习搭建 (五)--- 启动Fabric多节点集群
5.1.启动orderer节点服务 上述操作完成后,此时各节点的compose配置文件及证书验证目录都已经准备完成,可以开始尝试启动多机Fabric集群. 首先启动orderer节点,切换至order ...
- Hyperledger Fabric 1.0 学习搭建 (四)--- 创建Fabric多节点集群
4.1.配置说明 首先可以根据官方Fabric自带的e2e_cli列子中的集群方案来生成我们自己的集群,与案例不同的是我们需要把容器都分配到不同的服务器上,彼此之间通过网络来进行通信,网络构建完成后则 ...
- Hyperledger Fabric 1.0 学习搭建 (三)--- 运行测试e2e-Fabric
3.1.运行fabric-samples的问题说明 该问题说明能够解决6.1.平台特定使用的二进制文件配置第一步的问题.可以选择继续阅读该说明,或者等参考到6.1小节时再反向阅读本说明,具体在6.1中 ...
- 区块链学习笔记:D03 区块链在各行业领域的应用(一)
今天主要是学习了区块链在金融和供应链领域的应用,重点体现了区块链多方参与.透明可信.防篡改防抵赖的技术优势 区块链的应用场景最早是在金融行业应用较多,后续逐步扩展到传统行业,如:供应链.政务服务.物联 ...
- 区块链学习笔记:DAY01 区块链的技术原理
其实很早之前就听过区块链,也看过有关区块链的介绍,那个时候的理解主要还是一句话:分布式记账 然后开始关注比特币,听了有几年了,对于其来历.用途其实一直都是一知半解. 这次的课算是第一次以一个学员的身份 ...
随机推荐
- Pexpect模块的简单使用
Pexpect 是一个用来启动子程序并对其进行自动控制的 Python 模块. Pexpect 可以用来和像 ssh.ftp.passwd.telnet 等命令行程序进行自动交互.以下所有代码都是在K ...
- 破解东航的seriesid
在查询东航航班的时候,请求数据中有个seriesid 调试js分析代码的过程就略过了,下面是整合的生成seriesid 的js代码 <script> function get_n(e, t ...
- PHP 实例 - AJAX 实时搜索-AJAX Live Search
PHP 实例 - AJAX 实时搜索 AJAX 可为用户提供更友好.交互性更强的搜索体验. AJAX Live Search 在下面的实例中,我们将演示一个实时的搜索,在您键入数据的同时即可得到搜索结 ...
- PDOStatement::closeCursor
PDOStatement::closeCursor — 关闭游标,使语句能再次被执行.(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0) 说明 语法 bool PDOS ...
- PDO::rollBack
PDO::rollBack — 回滚一个事务(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 bool PDO::rollBack ( void )高佣联 ...
- 小甲鱼零基础汇编语言学习笔记第二章之寄存器(CPU工作原理,CPU内部通讯)
这一章主要介绍了CPU中的重要器件——寄存器,整个系列通篇是以8086CPU作为探讨对象,其它更高级的CPU都是在此基础之上进行的升级. 1.一个典型的CPU是由运算器.控制器.寄存器等器件组成, ...
- charles抓取HTTPS设置,详细踩坑版
写这篇文章的背景就是,每次我在一台新电脑上用charles抓包时,总是因为各种原因无法抓到https请求,每个百度出来的回答又不是那么详细,需要通过几篇回答才能解决过程中的各种问题,所以把自己的安装经 ...
- SparkSQL和hive on Spark
SparkSQL简介 SparkSQL的前身是Shark,给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具,hive应运而生,它是当时唯一运行在Hadoop上的SQL-on-h ...
- Linux的VMWare中Centos7用户和用户管理三个系统文件(/etc/passwd-shadow-group解读)和批量创建用户user及用户工作环境path
Linux 用户和用户组管理 用户工作环境PATH Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用 ...
- php操作mysql关于文件上传、存储
php+前端+mysql实现文件上传并储存 我们都知道很多网站都需要上传文件,最普遍的就是图片上传,即是用户头像等等: 关于mysql+php实现文件查询,存储大致两个方式, 1.直接把文件写入mys ...