区块链——分类、发展史

一、区块链的分类

按照区块链的准入机制与访问权限可以将区块链分为:公有链、联盟链、私有链。

(一)公有链

公有链完全公开透明面向所有人开放,准入门槛低,世界上任何个体或团体都可以在公有链上发送交易或者开发自己的应用。在公有链上发送的交易都能够获得该区块链的有效确认,每个人都可以竞争记账权,在准守公有链开发协议的基础上每个人都可以在公有链上开发自己的应用并进行发布。交易效率较低,因为需要进行广播和共识。

(二)联盟链

联盟链半公开,准入门槛较高,是某个群体或组织联盟使用的区块链,当然这个联盟也可以包括机构与机构、国与国之间的联盟,联盟链需要注册许可才可以访问。联盟链需要预先指定几个节点为记账人,每个区块的生成由所有预选记账人共同决定,其他节点可以交易,但是没有记账权。

(三)私有链

私有链是完全私有的区块链,仅采用区块链技术进行记账,记账权并不公开,且只记录内部的交易,记账权由公司或个人独享,读取权限或者对外开放,或者被一定程度地进行了限制。整个网络由成员机构共同维护,网络接入一般通过成员机构的网关节点接入,共识过程由预先选好的节点控制,这类区块链被认为是部分去中心化。

二、区块链的发展阶段

(一)发展阶段

区块链的发展阶段可以分为 1.0、2.0 和 3.0
区块链 1.0 主要是比特币,实现了去中心化的数字货币系统。
区块链 2.0 主要是以太坊,实现了智能合约和去中心化应用平台。
区块链 3.0 主要是区块链社会 等,实现了高性能和跨链互操作。

(二)创新点或特点

区块链2.0相对于区块链1.0的最大创新是引入了智能合约的功能
区块链3.0相对于区块链2.0的最大特点是应用到更广阔的领域和场景
区块链 3.0 版本的特点是基于规则的可信智能社会治理体系

三、Hyperledger Fabric

(一)定义

超级账本是一个概念,它描述了一种使用分布式账本的技术;

Hyperledger Fabric 是 Linux 基金会开发的一个开源的超级账本(Blockchain)框架。它实现了超级账本的基本概念,提供了构建企业级分布式应用的模块化组件,实现了超级账本的基本概念,但具有更好的扩展性、可配置性和私密性,专门为企业级分布式应用而设计。

在 Fabric 中智能合约被称为链码(chaincode),由外部应用程序(比如网页、APP)与分布式账本进行交互。 Fabric 的智能合约使用 Docker 存放链上的代码,而不需要依靠特定的虚拟机,Docker 为链码执行提供了一个安全、轻便的语言执行环境,因此进行 fabric 实验首先要配置好 Docker 环境。

(二)概念

节点(Peer):节点是网络中的参与者,它们可以执行智能合约(也称为链码),维护账本数据,验证交易,加入不同的通道等;

通道(Channel):通道是一种私有的子网络,它可以让一组节点之间进行隔离和保密的交易。每个通道都有自己的账本和智能合约,只有加入该通道的节点才能访问;

账本(Ledger):账本是区块链的数据结构,它记录了所有发生在网络上的交易历史。每个节点都保存了一份账本的副本,通过共识算法来保持一致性;

排序服务(Ordering Service):排序服务是一种特殊的节点,它负责将交易打包成区块,并按照一定的顺序广播给其他节点。排序服务可以采用不同的共识算法,如实用拜占庭容错算法(PBFT)或 Raft 等;

背书策略(Endorsement Policy):背书策略是一种规则,它定义了哪些节点需要对交易进行背书(签名),以及需要多少背书才能使交易有效。背书策略可以根据不同的智能合约