基本概念

通用概念

比特币

英文名称Bitcoin,由中本聪于2008年提出的一种电子加密货币,在全球具有很高的知名度,是区块链早期的典型应用。

区块

英文名称Block,每个区块记录着上一个区块的hash值、本区块中的交易集合、本区块的hash等基础数据。由于每个区块都有上一区块的hash值,区块间由这个值两两串联,形成区块链。

区块链

英文名称Blockchain,最早起源于比特币的底层技术,并在其后不断演进发展。区块链本质是一种多方共享的分布式账本技术。它通过数学方法实现交易数据和历史记录的不可篡改性,通过共识算法和智能合约实现各参与方对交易的共同确认和账本记录。区块链分为公有链、联盟链、私有链三种基本类型。区块链的实现技术框架有以太坊、EOS、Hyperledger Fabric、Corda等等。

智能合约

英文名称Smart Contract,区块链技术的特性之一,用计算机语言描述合同条款、交易的条件、交易的业务逻辑等,通过调用智能合约实现交易的自动执行和对账本数据的操作。

证书颁发机构

英文名称Certificate Authority,简称CA,数字证书颁发机构是受信任的第三方机构,颁发的数字证书是为最终用户数据加密的公共密钥。

交易

英文名称Transaction,区块链接收的数据称之为交易。

区块链高度

英文名称Height,当前区块链上出块(Block)的最大数目

哈希

英文名称Transaction Hash,同交易哈希。交易上链成功后,产生的唯一哈希值

蚂蚁区块链特有概念

标识

英文名称Identity。在区块链中唯一标识一个账户或者智能合约,长度为 256 位。一般为一个唯一可读内容的哈希值。

存证数据

英文名称Ledger data。区块链本身具有不可篡改的特性,写入区块链的数据都是可信任、不可篡改的,为了让数据具备公正力,写入区块链的数据可称为存证数据,存证数据可以为一个字符串、一个文件的hash等,以表示文本、文件等存证数据。

根哈希

英文名称Root hash。默克尔树的根哈希值,根据当前区块链交易算出。

共识算法

英文名称Consensus algorithm。一种分布式系统数据一致性保证的算法,通过一定的协议交互来确保分布式系统的多个参与方达成数据的一致性。常见的算法包括 PBFT、RAFT、POW、POS 等。

共识证明

英文名称Consensus proof。用以证明目标数据经过共识算法一致性确认的数据结构。

交易个数

英文名称Transaction count。某一区块的交易数目。

交易回执

英文名称Transaction receipt。是交易的执行结果。区块链是异步的系统,交易执行后需要共识,与传统架构不同,不能直接返回交易执行是否成功,因此需在回执中查看最终交易结果。

交易类型

英文名称Transaction type。该交易的类型,如引用存证、内容存证、哈希存证、密文存证、隐私分享、纯密文存证。

交易量汇总

英文名称Transactions。交易总量,当前区块链账本上已有保存的交易总数量。

节点信息

英文名称Node information。区块链节点的相关信息。一个区块链一般由多节点组成,节点数目为 3F+1,其中 F 为正整数。

可信执行环境

英文名称Trusted Execution Environment (TEE)。可信执行环境,提供硬件级别的资源隔离和信任度量功能。近年来在服务器及终端领域,TEE 技术及其应用越发引人关注,其中最具代表性的是 Intel SGX。

联盟

英文名称Consortium。不同的机构为了共同合作完成某个业务而结成的联合。

联盟机构

英文名称Organization。组成联盟的机构。

签名证书

英文名称Certificate。由支付宝合作的第三方 CA 机构根据用户提交的证书请求签发认证后的证书。

区块高度

英文名称Block height。区块高度,简称块高,用来识别区块在区块链中的位置,并据此找到和这个区块相关的所有基础属性和交易记录。

区块链 ID

英文名称Blockchain identification。某一区块链的唯一标识,对应区块链这个底层唯一物理资源。

区块链应用

英文名称Application。基于区块链 SDK 开发的应用。

去中心化应用

英文名称Decentralized applications(DApp)。与传统中心化应用的主要区别是,DApp 通过客户端直接连接区块链节点,通过智能合约计算和访问数据,没有中心化的后端服务。

燃料

英文名称Gas。智能合约在虚拟机中执行计算和存储的消耗度量,通过燃料可防止一些恶意攻击和计算、存储的浪费。

上一块哈希

英文名称Previous block hash。当前区块的上一区块哈希。

世界状态

英文名称World state。区块链账户的存储状态,包含所有账户的基本存储状态和合约账户的内部存储状态。可以将合约平台理解为一种交易的“状态机”,世界状态描述当前的基本存储状态,经过执行智能合约,世界状态可能发生改变进入另外一个新的世界状态。

数字信封

英文名称Digital envelope。数字信封是一种加密技术,通过密码学的方式保证了只有拥有权限的用户才可能解密数字信封中的内容。

私钥

英文名称Private key。私钥文件,通过 OpenSSL 等工具生成。生成过程中会产生 2 个密钥,一个是公钥,即是证书签名请求文件,另外一个是用户私钥,用户需保存好私钥和私钥密码。

私有交易

英文名称Private transaction。与普通交易不同,私有交易不会在公有区块链上进行执行和存储,而是被封装在信封交易的 data 字段中进行发送,最终在私有区块链上进行执行和保存。

信封交易

英文名称Envelope transaction。信封交易作为交易的类型,用以封装私有交易。发送信封交易时,私有交易将会被编码后保存在信封交易的data字段中。信封交易最终会以存证的形式保存在公有区块链上,但是data字段会根据不同需求进行修改。

虚拟机

英文名称Virtual machine(VM)。执行智能合约的沙箱环境。

业务 ID

英文名称Business identification。业务唯一标识,该区块链应用于哪种业务场景,如溯源、租房等。

业务分类

英文名称Category。该交易上链的数据的业务数据格式类型。

业务时间

英文名称Business time。该交易的提交生成时间。

英特尔软件保护扩展

英文名称Intel Software Guard Extensions (Intel SGX)。Intel SGX 是 Intel CPU 上的一组扩展指令集,支持应用程序创建所谓的“安全区”,即应用地址空间中受保护的区域,它可确保应用程序安全区中数据的机密性和完整性,能够有效抵御任意特权级别软件的窥探和攻击。

账户

英文名称Account。区块链上的基本操作对象,一个用户主体在区块链上的逻辑表示。区块链上的所有交易操作均需要基于一个链上已经存在的账户来完成。可分为普通账户和合约账户。

证书申请

英文名称Certificate request。证书签名请求文件(Certificate Signing Request,CSR),通过 OpenSSL 等工具生成。生成过程中会产生 2 个密钥,一个是公钥,即该 CSR 文件,另外一个是用户私钥,用户需保存好私钥和私钥密码。

Hyperledger Fabric特有概念

HF流程

联盟

区块链专业术语,英文名称consortium,指参与一个基于区块链的业务协作或业务交易网络的所有组织的集合,一个联盟一般包含多个组织。

在阿里云区块链服务(Hyperledger Fabric)中,每个联盟需要有一个联盟实例,一般由联盟发起方或运营方创建,该实例包含Orderer排序节点,负责交易排序、区块产生和达成共识。联盟运营方邀请各个组织实例加入联盟,进而创建通道,并负责Orderer排序节点的管理运维。

组织

区块链专业术语,英文名称organization,代表的是参与区块链业务网络的企业、政府机构、团体等实体。在阿里云区块链服务(Hyperledger Fabric)中,一个组织实例主要包含如下节点:

  • CA:区块链节点类型之一,英文名称Certificate Authority,数字证书颁发机构,负责组织内部成员的登记注册(Register)和身份获取(Enroll)等,为该组织的区块链用户生成和颁发数字证书。

  • Peer:区块链节点类型之一,负责保存和记录账本数据、对交易背书、运行智能合约等。

说明

在阿里云区块链服务(Hyperledger Fabric)中, 一个区块链网络由 1个联盟实例 + N个组织实例构成,N>=1。组织实例的个数 N 由业务参与方的个数以及是否有独占需求决定。如果参与方需要独享的区块链节点和账本,以及链码部署,区块链用户创建等管理功能,则需要单独创建一个组织实例。如果参与方对独占没有要求,则可以共享组织实例。联盟实例和组织实例可以由单一的云账号购买创建,也可以由不同的云账号购买创建。

Orderer

区块链专业术语,排序节点,指的是Hyperledger Fabric技术框架下提供共识服务的节点,区块链网络内所有交易在完成背书后会被发送至Orderer节点进行排序,然后根据一定的规则生成区块,并向区块链网络上的Peer节点发送区块以进行区块和交易的验证并写入账本,从而完成共识的全过程。

Peer

区块链专业术语,参与方节点,指的是Hyperledger Fabric技术框架下,业务参与方组织在区块链网络中所拥有的参与共识和账本记录的节点。分为两种类型:Endorsing Peer,背书节点,必须安装链码,在交易时需进行签名背书;Committing Peer,记账节点,无需安装链码,只负责验证从Orderer发出的区块和交易的合法性、并存储账本区块信息。

Anchor

区块链专业术语,锚定节点,指的是Hyperledger Fabric技术框架下,为了实现高可用,每个参与方组织包含两个或多个peer节点,设置其中的一个为anchor,与区块链网络中的其他组织进行信息同步。

通道

区块链专业术语,英文名称channel,主要用于实现联盟链中业务的隔离。每个通道可代表一项业务,通道内包含业务的参与方(联盟内的部分或全部组织)作为通道成员。一个联盟中可以有多个通道;一个组织可以加入多个通道。每个通道可视为一条子链,并且对应一套账本,通道上可发布智能合约。

链码

区块链专业术语,英文名称chaincode,是Hyperledger Fabric技术框架中对智能合约的实现,支持业界流行的编程语言如Node.js、 Go、Java等。

企业以太坊Quorum特有概念

以太坊虚拟机

英文名称Ethereum Virtual Machine,简称EVM。以太坊平台的核心组成部分之一,作为运行智能合约的分布式计算环境。

Solidity

Solidity是一种高层的智能合约编程语言,语法类似JavaScript,用于编写可运行于以太坊虚拟机内的代码。

Gas

用来衡量一笔交易所消耗的计算资源的基本单位。当以太坊节点执行一笔交易所需的计算步骤越多、越复杂,那么这笔交易消耗的Gas就越多。

网络标识

英文名称network id。用于代表特定版本的以太坊网络的数字标识。

geth

以Go编程语言实现的以太坊客户端。

Dapp

分布式应用。

私密交易

英文名称Private transaction。交易载荷信息仅对指定的区块链网络参与方可见,通过在交易的privateFor参数中指定这些参与方的公钥来实现。

Quorum节点

英文名称Quorum node。在geth的实现基础上包含如下的修改:

  • 支持Istanbul BFT、RAFT等共识算法;

  • 支持授权节点(permissioned node)的P2P层实现;

  • 私密交易的区块验证逻辑;

  • 保留了Gas机制但移除了Gas价格。

交易管理模块

英文名称Transaction manager。Quorum的交易管理模块主要用于支持交易私密性。它存储了加密的交易数据,提供授权访问,与其他参与者的交易管理模块进行加密数据的交换(同时不会接触任何敏感的私钥)。交易管理模块通过Enclave调用加密相关功能。交易管理模块采用RESTful和无状态设计,易于实现负载均衡。

Enclave

Enclave与交易管理模块进行协同工作,共同支持隐私交易。Enclave独立负责加密和解密工作并保存私钥,为Quorum其他组件提供一种类似虚拟HSM的服务。