
2.2.1 区块链术语
下面列出了目前与区块链相关的术语和解释。
1.比特币(Bitcoin)
比特币是中本聪在2008年提出的一种加密货币。与以往的数字货币不同,这是一种即使没有特定的管理员也能够自动操作的分散式系统,自2009年起就一刻不停地运转到了今天。
比特币表示系统时,用大写字母开头,写作Bitcoin;表示货币时,用小写字母开头,写作bitcoin。另外,表示货币代码时写作BTC。
2.加密货币(Cryptocurrency)
加密货币是以数字方式或虚拟方式存在的一种货币,它利用密码学原理确保交易的安全性,并采用分布式账本技术记录交易过程。比特币在2009年成为第一个去中心化的加密货币,自此之后,数种类似的加密货币被创造,它们通常被称作比特币代替品(Bitcoin Alternative,Altcoin)。加密货币基于去中心化的共识机制,与依赖中心化监管体系的银行金融系统相对应。
3.法币(Fiat Money)
法币也称法定货币,是国家以法律形式强制流通使用的货币。法定货币的价值来自拥有者相信货币具有购买力,但货币本身并无内在价值,与加密货币和虚拟货币相对应,如美元、欧元、日元等纸币。我国的法定货币是人民币,由中国人民银行发行。
4.挖矿(Mining)/矿工(Miner)
所谓“挖矿”,就是在一段时间内对比特币的交易进行确认,并永久记录在区块链上,形成新的区块的过程,参与挖矿的人称为矿工。比特币矿工通过求解具有一定难度的数学问题,即通过工作量证明机制来验认交易和防止双重支付。由于每当产生新的区块时,矿工就可以获得作为报酬的比特币,因此这种激励机制鼓励系统中的参与者成为矿工,管理比特币网络。
5.工作量证明(Proof of Work)
工作量证明最早被用来防止垃圾邮件,由Cynthia Dwork和Moni Naor在1993年提出。在发送邮件前,邮件发送方必须完成一定量的计算,如找到某个特定数学难题的解答。Adam Back在2002年正式提出哈希现金(Hashcash)的概念,对工作量证明做出了改进,利用单向哈希函数实现工作量证明,即找到哈希函数原像才能完成工作量证明。比特币的出现将工作量证明运用到非授权网络的共识中,主要用来防止敌手制造假身份发动女巫攻击。
6.区块链地址(Blockchain Address)
在加密货币中,地址是指实现货币接收与发送的随机字符串。地址由公钥加密技术生成,该技术将秘密密钥做成原始地址,只有秘密密钥的所有者及程序才可以使用相关货币。
7.钱包(Wallet)
加密货币中的钱包是一种持有人用来实现虚拟保管和数字货币存储的软件程序。广义的钱包不仅可以保存加密货币,还可以保存操作加密货币所需的公/私钥。加密资产的交易都会记录在区块链上,所以加密货币钱包还具备如下特点。
(1)根据用户是否掌握私钥,可将钱包划分为中心化钱包和去中心化钱包。
中心化钱包:用户不持有钱包私钥,私钥由第三方或服务商代为托管,容易受到黑客攻击。
去中心化钱包:用户私钥自行持有,资产记录在区块链上,用户是真正的数字货币持有者,钱包只是帮助用户管理链上资产和读取数据的一个工具,去中心化钱包的资产风险主要来源于用户对钱包的管理不当。
(2)根据钱包是否接触网络,可将钱包划分为冷钱包和热钱包。
冷钱包:又称离线钱包,它采用与网络物理隔离的方式来使用,所以一般用一个断网的手机,或者平时不用的计算机来操作。常见的冷钱包有纸钱包、脑钱包、U盘、硬件钱包、智能手表和其他智能存储硬件等。
热钱包:与冷钱包相反,热钱包是通过联网存储的钱包,因此也被称为在线钱包,它通常以App或网页的形式出现,一般由第三方或服务商开发完成。
一般来说,大多数用户比较热衷于使用热钱包,因为它使用起来比较方便,而使用冷钱包的一般是拥有庞大资产的用户,他们更注重减小黑客入侵的风险。
(3)根据钱包的去中心化程度,可将钱包划分为全节点钱包和轻节点钱包。
全节点钱包:将区块链上的所有数据同步到钱包中会占用很大的存储空间,使用起来也相对比较麻烦,所以大部分全节点钱包都是桌面钱包。
轻节点钱包:由于全节点钱包使用起来不方便,所以轻节点钱包诞生。轻节点钱包是依赖区块链网络中其他全节点的钱包,一般会运行一个全节点,同步所有数据,然后根据不同的钱包地址将数据进行划分,按需下发。
由于轻节点钱包的用户体验更为良好,特别是对区块链新手比较友好,并且它体积小,只占据少量空间,还能支持多种数字资产,所以大多数用户都会选择轻节点钱包。
(4)根据钱包的存在形式,可将钱包划分为软钱包和硬钱包。
软钱包:类似于App或计算机中的钱包软件,用户需要安装钱包软件客户端到计算机上或者安装钱包App到手机上,不需要再去购买额外的专门硬件设备。
硬钱包:也被称为硬件钱包,是一种将私钥安全地存储在隔离环境中的设备,以确保私钥的安全性。它通常被视为冷钱包的一种形式。相比之前提到的热钱包,硬钱包提供了更高级别的安全保障。
(5)根据是否支持多币种,可将钱包划分为单币种钱包、多币种钱包及全币种钱包。
单币种钱包:只为单一区块链数字资产服务的区块链钱包。因为它通常只支持单一区块链主链平台,所以也被称为主链钱包,一般由项目方或社区开发。
多币种钱包:支持多种区块链数字资产的钱包。多种区块链数字资产可以是一条区块链主链及围绕该主链协议设置的代币,也可以是多种区块链主链上不同的数字资产。
全币种钱包:支持所有类型的区块链主链数字资产和代币资产的区块链钱包。
全币种钱包目前还只是设想,因为数字货币是在不断增加的,现在暂时无法实现。随着区块链技术的进步及整个区块链生态系统的完善,我们相信全币种钱包终有一天会实现。
8.区块(Block)
区块是区块链的基本单位,它汇总了许多交易。区块可以采用文件形式(如比特币)或数据库形式(如以太坊)来存储。当交易被上传至区块时,区块链网络将对该交易的有效性进行验证,并防止发生双花交易。
9.哈希值(Hash/Digest)
哈希值或摘要是通过哈希函数将任意长度的输入(预映射)转换成固定长度的输出。这种转换是一种压缩映射,即哈希值的空间通常比输入的空间小得多。不同的输入可能会散列成相同的输出,因此无法通过哈希值确定输入值。简单来说,哈希函数是一种将任意长度的消息压缩为固定长度消息摘要的函数。在加密货币系统中,从区块的生成到地址的计算及数字签名等,都运用了密码学哈希函数。
10.币/代币(Token)
币/代币是区块链经济激励的典型载体和表现形式,许多学者也将其翻译为通证。在公有区块链系统中,内生代币的发行机制决定了区块链资产的分配机制。发行的代币通常包含多种属性,如股份、货币或商品等。
11.资产(Asset)
利用区块链技术,除了可以对币和代币等货币进行管理,还可以将现实世界中的实物资产映射为数字化资产放在区块链上进行管理,并通过密码学技术完成对资产所有权的认定。
12.交易(Transaction)
加密货币系统中的交易是指对币/代币、资产的转移。
通常,交易会附带作者的电子签名,以确保交易的发起者身份验证和交易数据的不可篡改性。
13.区块高度(Block Height)
区块高度是指区块链中连接到主链上的区块数量,也就是连接在区块链上的块数。区块高度是区块的标识符之一,每个区块都有唯一的区块高度和区块头哈希值。区块头哈希值是通过对区块头进行两次SHA-256哈希计算得到的数值。区块头哈希值相当于为该区块设定了唯一的身份标识符,而区块与区块之间通过这个身份标识符进行串联,形成一个链式结构,该结构确保了区块链数据不可篡改。区块高度是该区块在区块链中的位置,但并不是唯一的标识符。虽然一个区块总是具有一个明确且固定的区块高度,但是其反过来并不一定成立,一个区块高度并不总是能够唯一标识一个单一区块。在区块链中,两个或更多的区块可能具有相同的区块高度,并且会争夺同一个位置。
14.共识(Consensus)
共识也称“共识机制”,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认。
共识是区块链技术的重要组成部分,其目标是确保所有诚实节点保存一致的区块链视图,并满足两个性质:①一致性。所有诚实节点保存的区块链的前缀部分完全相同。②有效性。由某个诚实节点发布的信息终将被其他诚实节点记录在自己的区块链中。
15.以太坊(Ethereum)
以太坊是一个开源的有智能合约功能的公共区块链平台,使用通过其专用加密货币以太币(Ether,ETH)提供去中心化的以太坊虚拟机来处理点对点合约。
以太坊的概念由程序员Vitalik Buterin受比特币启发后首次提出,大意为“下一代加密货币与去中心化应用平台”,在2014年通过ICO众筹开始得以发展。
16.气体燃料(Gas)
在以太坊中,交易、执行智能合约或支付数据储存费用都需要消耗Gas。Gas用于计算工作量,存在于以太坊虚拟机内部。它既是对矿工打包区块的奖励,也能够通过这种机制阻止恶意程序执行无限循环等操作,以保证以太坊网络的正常运作。Gas的设计是以太坊生态系统顺利运行的保证。
Gas Price:用户愿意为每个Gas支付的价格,单位为Gwei。1ETH=1 000 000 000Gwei。
Gas Limit:用户愿意为执行某个操作或确认交易支付的最大Gas量。
Gas Used:执行操作消耗的Gas总量。
17.智能合约
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约的概念于1995年由Nick Szabo首次提出。
智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。
18.去中心化应用(DApp)
去中心化应用(DApp)是指一类运行在分布式网络上的应用程序,参与者的信息被安全保护或匿名。DApp是在底层区块链平台衍生的各种分布式应用,是区块链世界中的服务提供形式。DApp之于区块链,类似App之于iOS和Android。从以太坊角度来看,它是一个交易协议,是根据区块链上设定的条件来执行的一个合约或者一组合约。
在大多数情况下,由于部署在以太坊上的智能合约都可以自动分布式地持续执行,因此其可以作为DApp运行。区块链应用程序通过智能合约自动操作加密货币与资产,具备类似DApp的概念,是用区块链技术开发出来的应用程序的总称。
19.主网(Mainnet)、测试网(Testnet)
主网是指发布和运行加密货币的稳定版本程序的正式网络。在开发区块链应用程序时,使用主网会产生一定的手续费,并且一旦部署程序就无法删除,因此为了避免不必要的成本和风险,开发者可以使用开发专用测试网。
以太坊有多个测试网,包括Ropsten、Kovan和Rinkeby等。由于挖掘在测试网上的货币也会产生成本,因此,推荐从发布网站或社区入手货币。另外,也可以在本地环境下构建独立的区块链网络(专用网)用于开发。
20.ERC20
ERC20是指在以太坊上用来确定标准代币的技术规范。
以太坊请求评论(Ethereum Request for Comment,ERC)是以太坊技术标准协议,类似于因特网协议或文件格式等的评论请求(Request for Comments,RFC)。
ERC20是ERC协议的第20版标准,定义了代币的名称和符号、总供应量、代币的方法等。符合ERC20标准的代币可以在符合ERC20标准的钱包等各种应用程序上使用,这为以太坊生态系统中的代币交换和互操作性提供了基础。
21.时间戳(Time Stamp)
时间戳是表示日期与时间的字符串。一般为方便阅读以年月日来表示,但在程序中更多采用的是UNIX时间格式。
需要注意的是,应用在区块链上时,交易发起的实际时间和交易在区块上被接收后正式记录的时间未必总是一致的。