区块链技术和Hyperledger Fabric介绍

1 区块链介绍

1.1 区块链技术形成

1.1.1 起源

在比特币诞生之时,技术专家们开始研究比特币的底层技术,并抽象提取出来,形成区块链技术,或者称分布式账本技术。

1.1.2 定义

简称BT(Blockchain technology),也称为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录,同时数据不可篡改。

1.1.3 理解

把数据库比喻为一个账本,一次记账的行为就是一次数据库的读写;当产生一个数据时,在一段时间内谁最快拿到记账权的人,将由这个人来记账,然后把这个账本信息发给整个系统里的其它所有人,所有人达成共识时,本次记账有效,最终在账本上的数据谁也无权修改。

1.2 区块链技术发展

1.2.1 区块链1.0

以比特币为代表的去中心化虚拟货币,是与转账、汇款和数字化支付相关的密码学货币应用,主要以公有链方式存在。

1.2.2 区块链2.0

被广泛应用于各个金融领域,不只是单纯的虚拟货币,如股票、债券、期货、贷款、抵押、产权、智能财产和智能合约,主要以公有链、联盟链方式存在。

1.2.3 区块链3.0

被应用到除金融以外的各个领域,不再需要第三方信任认证机构的前提下,实现信息的交换和共享,达到人与人之间的信任,变革生产关系;主要以公有链、联盟链和私有链方式存在。

1.3 区块链技术基本概念

1.3.1 理解

区块链从字面上理解:数据记录在区块中,通过一定的算法把区块连成一个链。

1.3.2 核心概念

  • 交易(Transaction)

  • 区块(Block)

  • 链(Chain)

1.4 区块链技术原理

每一次交易,都需要对账本状态进行一次改变,生成一个区块,需要所有人进行确认,达成全员共识时,该区块才生效。区块链通过哈希(Hash)算法,生成一串字符串,保存在区块的头部中,一个区块通过指向上一个Hash值,加入到区块链中;Hash算法是一种加密算法,指对原始信息进行特定的转换运算,换算成对应的加密值(称为Hash值);是一种单向的加密方式,加密后的密文不可逆推,只有加密过程,没有解密过程;区块链中使用SHA-256算法对区块进行加密。

1.5 区块链工作过程

  • 交易产生

  • 交易广播

  • 节点计算

  • 获取记账权

  • 记账权广播

  • 验证区块

  • 完成记账

1.6 区块链开发平台分类

1.6.1 公有链平台

主要以以太坊为主的平台,可以在该类平台上进行代币的发行和根据各种模块搭建应用。

1.6.2 联盟链平台

主要以超级账本为主的开源系统,该类开源系统提供完善的区块链底层技术,开发者只要在其框架下进行二次开发,根据自身需求编写智能合约,通过SDK接口访问区块中的数据,实现具体的区块链业务场景。

2 超级账本(Hyperledger)介绍

2.1 超级账本起源

2.1.1 起源

开放式账本项目(Open Ledger Project)是超级账本(Hyperledger)前身,由Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,在2015年底IBM宣布加入到开放式账本项目(Open Ledger Project)后,该项目更名为超级账本(Hyperledger)。

2.1.2 目前

2016年12月1日,超级账本项目(Hyperledger Project)开源联盟技术指导委员会(TSC)宣布成立TWG China 中国技术工作组,促进超级账本当中的各国成员与中国贡献者和技术用户之间的交流,目前中国区成员有百度、万达、小米、华为、招商银行、民生银行等。

2.2 超级账本简介

2.2.1 定义

超级账本(Hyperledger)是推动区块链跨行业应用的开源项目的总称,组织成员可以发起新的区块链项目,加入到超级账本项目(Hyperledger)中,但需要遵循Hyperledger的生命周期。

2.2.2 流程

Hyperledger的生命周期分为五个阶段,分别为Proposal(提案)、Incubation(孵化)、Active(活跃)、Deprecated(过时)、End of Life(结束)。

2.2.3 项目

超级账本(Hyperledger)有Fabric、Sawtooth、Iroha、Blockchain Explorer、Cello、Indy、Composer、Burrow八大顶级项目,目前提到超级账本(Hyperledger)默认指Fabric。

3 Fabric介绍

3.1 Fabric简介

3.1.1 定义

Fabric是一个提供模块化分布式账本解决方案的框架。

3.1.2 交易流程

区块链技术和Hyperledger Fabric介绍_第1张图片

3.2 Fabric关键技术

  • 帐本(Ledger)

  • 智能合约(Smart contract)

  • 通道(Channel)

  • 节点(Peer)

  • 排序(Orderer)

  • 接口(SDK)

3.2.1 帐本(Ledger)

Fabric帐本(Ledger)是一系列有序和防篡改的状态转换的记录,结构由一个区块链构成,并将不可变的、有序的记录存放在区块中;同时包含一个状态数据库来记录当前的状态,账本的当前状态信息是链交易日志中记录过的所有键的最新值,由于当前状态表示的是通道已知的所有键的最新值,由此也被称为世界状态。

区块链技术和Hyperledger Fabric介绍_第2张图片

3.2.2 智能合约(Smart contract)

智能合约又称为链码,是在区块链上运行的一段代码,是应用系统与区块链底层交互的中间件,通过智能合约可以实现各种复杂的应用。区块链技术和Hyperledger Fabric介绍_第3张图片

3.2.3 通道(Channel)

通道是两个节点(Peer)或多个节点之间信息通信的私有空间,在通道内的交易的数据与通道外隔绝,保证通道内数据的安全 Fabric是多通道设计,系统可以创建多条通道,某个节点(Peer)可以加入到不同的通道中,在每个通道中有自身的创世区块和实例化智能合约(Smart contract) 每个通道都有属于自己的锚节点,通过锚节点可以与其它通道进行信息交互,但本身通道内的账本不会通过一个通道传到另一个通道上,通道对账本是分离的。区块链技术和Hyperledger Fabric介绍_第4张图片

3.2.4 节点(Peer)

节点(Peer)是区块链的交易处理和账本维护的主体,主要负责参与共识过程和通过执行链码(chaincode)实现对账本的读写操作。

节点(Peer)根据功能不同分为背书节点(Endorser peer)和提交节点(Committer peer),根据通讯不同分为锚节点(Anchor peer)和主节点(Leading peer)。区块链技术和Hyperledger Fabric介绍_第5张图片

3.2.5 排序(Orderer)

排序(Orderer)指对区块链网络中不同通道产生的交易进行排序,并广播给节点(Peer)。排序(Orderer)是以可插拔组件的方式实现,目前分为SOLO和Kafka两种类型。 SOLO:仅有一个Orderer服务节点负责接收交易信息进行排序。

Kafka:是由Apache软件基金会开发的一个开源流处理平台,一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,可以配置多个排序节点集群方式。

3.2.6 接口(SDK)

Fabric SDK提供调用账本(Ledger)、智能合约(Smart contract)、通道(Channel)、节点(Peer)、排序(Orderer)等接口,方便用第三方应用程序的开发,大大扩展了Fabric的应用场景。

你可能感兴趣的:(区块链,区块链)