区块链基础概念

1 通用概念
1.1 比特币
英文名称Bitcoin,缩写BTC,是一种加密数字货币,由中本聪于2008年提出,是目前最被人熟知的区块链应用。
1.2 区块链
英文名称Blockchain,最早起源于比特币的底层技术。以下是一些区块链的定义:
区块链是新一代信息技术的重要组成部分,是分布式网络、加密技术、智能合约等多种技术集成的新型数据库软件。(2021年6月,工信部、网信办 《关于加快推动区块链技术应用和产业发展的指导意见》)
区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed Ledger Technology)(2019年10月,中国信通院 可信区块链推进计划 《区块链白皮书(2019年)》)
区块链是一种在对等网络环境下,通过透明和可信规则,构建不可伪造、不可篡改和可追溯的块链式数据结构,实现和管理事务处理的模式。(2017年5月,工信部电子标准院 《中国区块链技术和产业发展论坛标准》)
区块链本质是一种多方共享的分布式账本技术,存储于其中的数据或信息,具有“不可伪造、不可篡改、全程留痕、可以追溯、公开透明、集体维护”等特征。
1.3 区块
英文名称Block,是区块链中一套分布式账本存储的基本数据结构、是在区块链网络中承载交易数据的数据包。
每个区块一般被标记上时间戳,记录了本区块中的交易集合、上一个区块的哈希值、本区块的哈希值等信息。新旧区块之间通过哈希值依次前后串联,并通过区块链网络的共识机制验证并确认区块中的交易。
1.4 链
英文名称Chain,区块链中数据持久化存储时区块之间的连接结构。
一条链是指存储在某个区块链网络中,一个由若干区块通过特定指向链接、摘要算法或加密算法锚定组成的数据序列。
1.5 区块高度
英文名称Block Height,简称块高,区块链的第一个区块称为“创世区块”(genesis block),后续生成的区块用“高度”标识,每个区块高度逐一递增。
通过区块高度可以识别区块在区块链中的位置,并可以据此找到和这个区块相关的所有基础属性和交易记录。
1.6 哈希算法
也称Hash算法、散列函数、摘要算法等,可以将一组源码转换成固定长度的哈希值,且源码的细微改变都将导致哈希值的极大变化,同时理论上不可能通过哈希值逆向演算得到原始值,可以理解为一种单向加密机制。
当前区块链普遍采用的SHA256、SM3等先进哈希算法,可以在理论上认为“哈希碰撞”是几乎不可能发生的,即可以相信如果两个哈希值相同则其输入值一定相同。
1.7 哈希值
英文名称Hash Value,也称“数据指纹”,通常用一串固定长度的随机字母和数字组成的字符串来代表,哈希值可以校验数据的一致性和完整性。
1.8 交易
英文名称Transaction,指与区块链交互时处理的原子事务,即一系列不可分割且不可简化的操作。
1.9 交易号
英文名称Transaction ID,简称TxID,又称交易ID或交易哈希,是标识区块链中不同交易的唯一字段,一般即交易完整信息的哈希值。
1.10 分布式网络
英文名称Distributed Network,也称对等网络,区块链系统中,一般各节点平等,对等网络的每个用户端既是一个节点,也有服务器的功能。
1.11 节点
指区块链网络中负责网络互联、协议交换、账本维护等工作的信息处理设备,可以是一个进程或一台运行了节点进程的计算机设备。
1.12 客户端
有时候又被称为“钱包”,指通过集成了软件开发工具包(Software development kit,简称SDK)或者应用程序接口 (Application programming interface,简称API)后实现的可以访问区块链网络并发送请求、获取信息的应用程序、命令行工具等。
1.13 共识机制
英文名称Consensus,是区块链作为分布式网络,节点之间在没有所谓中心的情况下就交易的合法性达成共识的一种分布式协调机制。所有节点根据共识机制达成的共识,来生成和更新数据,确保分布式系统的数据一致性。
1.14 智能合约
英文名称Smart Contract,是基于区块链系统实现的一套规则逻辑或脚本程序,本质上就是一段代码。
智能合约可以在没有第三方的情况下进行可信的交易,且交易是可以被追溯的,同时也是不可逆的。
相比于传统的中心化应用程序,基于区块链及智能合约实现的应用程序可以被称为Decentralized application,简称DAPP。
1.15 区块链分类
三种基本类型:公有链(Public Blockchain)、私有链(Private Blockchain)和联盟链(Consortium Blockchain),前者又称无许可链(Permissionless Blockchain),后两者在技术实现上差别不大,所以合称许可链(Permissioned Blockchain)。
公有链:高度的去中心化, 所有交易数据公开、透明,任何人或组织都可以随时访问读取数据、发送可确认交易、参与共识过程。适用于公共社会服务领域。一般会通过代币机制鼓励参与者竞争记账,来确保数据的安全性。目前的典型应用有比特币、以太币。
私有链:以中心化的形式运作,不对外公开,参与节点的资格受到严格限制,写入权限由某个组织控制,读写权限可能公开或任意程度的限制。适用于企业内部服务领域。典型应用场景有审计。
联盟链:以多中心化的形式运作,仅对联盟成员开放,各节点通过授权认证加入或退出网络,共识过程受预选节点控制, 只允许联盟内的节点读写和发送交易、共同记录交易数据。适用于跨企业服务领域。典型应用场景有存证溯源、供应链领域。
1.16 区块链实现技术框架
主流的有:以太坊(Ethereum,缩写ETH)(属于无许可链)、Hyperledger Fabric(属于许可链)、R3 Corda(属于许可链)等。
1.17 区块链发展阶段
可以大致分为3个阶段:
区块链1.0:引入简单的交易账本,主要应用是数字货币,以比特币为代表。
区块链2.0:引入智能合约技术,主要应用是区块链游戏、数字货币交易等简单可编程场景,是数字货币与智能合约相结合的一种技术升级,以以太坊为代表。
区块链3.0:引入多行业的企业应用,以满足大规模的公共和企业应用为目标,实现分布式社会、分布式经济,主要应用是金融行业、司法存证、商品溯源、供应链等,以各大公司或其组建基金会主导的开源项目为代表,例如超级账本、趣链、FISCO BCOS等。
1.18 区块链浏览器
英文名称Blockchain explorer,可以通过区块链浏览器查看链上数据及信息,如浏览并查询任意区块、交易、哈希等详细信息。
2 Hyperledger Fabric相关概念
2.1 整体介绍
Hyperledger(超级账本)是一个旨在推动区块链跨行业应用的开源项目,由Linux基金会在2015年12月主导发起,Fabric作为一个企业级许可分布式账本框架,用于开发区块链解决方案和应用程序,是当前企业场景中联盟链/私有链实现所常用的开源框架。
Hyperledger Fabric技术框架下,将节点进行了功能拆分,分为三种服务类型:Peer节点、Orderer节点、CA节点。在一套可运行的Fabric网络中,三类节点一般都要存在。
2.2 身份管理
为了实现权限管控的网络系统,Hyperledger Fabric 提供了包含管理用户 ID 以及对所有网络参与者进行验权的会员身份服务的功能。
访问控制列表可以当做额外的权限层,以此来实现不同的用户授权不同的网络操作权限。比如说,一个特定的用户id可以被允许唤起一个链码应用,但却无法部署新的链码。
2.3 Peer节点
指参与节点,区块链网络中参与共识和账本记录的节点。
根据承担的功能,可以进一步细分为Anchor、Endorser、Committer等角色。
Anchor节点:指锚定节点,在Hyperledger Fabric技术框架下,为了实现高可用,把几个Committer节点组成集群,设置其中一个为主节点,与网络中其他组织进行信息同步。
Endorser节点,指背书节点,在交易时模拟执行智能合约,验证相关信息,进行签名背书,是维护账本的网络节点。
Committer节点,记账节点,只负责验证从Orderer节点发出的区块和交易的合法性、并存储账本区块信息。
3种角色不互斥,所以一个节点可以既是Anchor、同时又是Endorser和Committer。
2.4 Orderer节点
指排序节点,提供排序服务(即Fabric共识服务)的节点,负责交易的排序、区块打包、区块分发等工作。
区块链网络内的交易完成背书后,由Orderer节点进行排序,然后根据一定的规则打包成新区块,发送给Peer节点以进行区块和交易的验证并写入账本,从而完成共识的全过程。
2.5 CA节点
英文名称Certificate Authority,简称CA,指数字证书颁发机构,在Hyperledger Fabric区块链网络中,负责组织成员的注册、加入等,为组织用户创建和颁发数字证书。颁发的数字证书是为最终用户数据加密的公共密钥。
2.6 共识机制
Hyperledger Fabric 共识机制目前包括SOLO和Raft,另外Kafka已经不再推荐使用,SBFT(简化的拜占庭容错)仍然在开发中。
2.7 通道
英文名称Channel,通道是Hyperledger Fabric技术框架中为了实现数据的隔离和保密,构建在一套区块链网络上的专用区块链账本。每一个通道即为一条逻辑上的区块链。通道可以向特定的节点子集提供事务隐私和机密性,任何未明确授予访问该通道的节点都无法访问。同一个节点可以加入多个通道,为每个通道维护一个账本。
2.8 智能合约
Hyperledger Fabric 的智能合约是用链码(Chaincode)实现的,并且被区块链外部应用程序所调用,以此来与账本交互。
目前支持的链码语言是 Go,未来将支持 Java 和其他语言。
3 FISCO BCOS相关概念
3.1 整体介绍
FISCO BCOS是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台,由金链盟开源工作组协作打造,并于2017年正式对外开源。
截止2020年5月,已有数百个应用项目基于FISCO BCOS底层平台研发,超80个已在生产环境中稳定运行,FISCO社区已发展成为最大最活跃的国产开源联盟链生态圈。
3.2 共识算法
FISCO BCOS支持PBFT、Raft和rPBFT共识算法,其中PBFT是联盟链常用共识算法,Raft是私有链常用的共识算法。
3.3 群组
FISCO BCOS引入多群组架构,支持区块链节点启动多个群组,群组间交易处理、数据存储、区块共识相互隔离,保障区块链系统隐私性的同时,降低了系统的运维复杂度。
多群组架构中,群组间共享网络,通过网络准入和账本白名单实现各账本间网络消息隔离。
3.4 智能合约
FISCO BCOS平台目前支持Solidity及Precompiled两类合约形式。
Solidity合约与以太坊相同,用Solidity语法实现。
预编译(Precompiled)合约使用C++开发,内置于FISCO BCOS平台,相比于Solidity合约具有更好的性能,其合约接口需要在编译时预先确定,适用于逻辑固定但需要共识的场景。
金蝶云·苍穹区块链服务云相关概念
4
区块链基础概念
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



