# 名词释义

## 区块链相关

### 区块

Block（区块）：是一种特殊的数据结构，一个区块就是若干交易数据的集合，它会被标记上时间戳和之前一个区块的独特标记。区块头经过哈希运算后会生成一份工 作量证明或权益证明，从而验证区块中的交易。有效的区块经过全网络的共识后会被追加到主区块链中。

### 创世区块

Genesis Block（创世区块），区块链的第一个区块，一般用于初始化，不带有交易信息。

### 区块链：

Blockchain（区块链），由多个区块链接而成的链表结构，除了创世区块，每个区块头部都包括前继区块内容的Hash值，也就是说链上每个区块都是可以验证的，链上的区块顺序也是可以验证的。

### 地址

区块链地址其实就是一串字符和数字组成的字符串。 就像别人向你的email地址发送电子邮件一样，他可以通过你的地址向你发送代币。

### 分叉：

在节点验证区块链发生冲突时，会发生分叉（forking）。也就是说在某一区块之后，网络中有多于一个区块链，且每个区块链由一些矿工验证。分叉共有三种：普通分叉、软分叉和硬分叉。&#x20;

### 普通分叉:

是由于两个或者多个矿工几乎同时发现了一个区块引起的暂时冲突。网络将选择差难度值最高的分叉。比如，在挖矿过程中，已经确认生产11800区块，但两个矿工同时生成了11801区块，矿工A在该块下又生成了1个区块；支持矿工B的节点有在该块下生成了2个区块；一般来说会支持矿工B所在的分叉，并最终被整个网络接受。

### 软分叉:

更改区块链源代码后，会引起冲突，如果必须要求有50%以上算力的矿工升级以解决冲突，叫作软分叉； 比如，如果更新源代码使旧区块/交易的一部分失效，则有50%以上算力的矿工升级后可以解决，这样新的区块链将有更大难度值，最后被整个网络接受。

### 硬分叉:

更改区块链源代码后，会引起冲突，如果必须要求所有矿工升级以解决冲突，叫作硬分叉。 硬分叉的一个例子是，如果更新源代码是为了更改对矿工的回报，则全部矿工需要升级以解决冲突。以太坊自发布以来经历了多次硬分叉和软分叉。

### 代币：

通过密码学技术，在区块链上发行的电子代币。用于交易、投票、支付矿工费用、虚拟奖励等各种用途。

### 钱包

钱包指保存代币地址和私钥的软件， 可以用它来接收、 发送、 储存你的代币。

### 交易：

简单地说， 交易指把代币从一个地址转到另一个地址。 更准确地说， 一笔“交易”指一个经过签名运算的，表达价值转移的数据结构。 每一笔“交易”都经过区块链网络传输， 由矿工节点收集并封包到区块中，永久保存在区块链上。

### 交易所：

就是法币与代币兑换、代币与代币兑换的场所。

### 智能合约：

即以计算机程序的方式来缔结和运行各种合约。 运行在区块链上的提前约定的合同；

### 燃料

燃料（ Gas） ，控制某次交易执行指令的上限。每执行一条合约指令会消耗固定的燃料。当某个交易还未执行结束，而燃料消耗完时，合约执行终止并回滚状态。

### Mining（挖矿）

通过不断的暴力尝试来找到一个字符串，使得它加上一组交易信息后的Hash值符合特定规则（例如前缀包括若干个0） ，找到的人可以宣称新区块被发现，并获得系统奖励的数字货币。

### Miner（ 矿工）

参与挖矿的人或组织。

### Mining Machine（矿机）

专门为数字货币挖矿而设计的设备，包括基于CPU挖坑、GPU挖坑、FPGA挖坑、专用芯片挖坑等多种实现。

### Mining Pool（ 矿池）

采用团队协作方式来集中算力进行挖矿，对产出的数字货币进行分配。

### 挖矿难度

就是基于PoW机制的链，在矿工挖矿时，需要每过一段时间调整计算难度（例如增加前缀中0的个数），来应对日益增强的算力。

## 加解密相关

### **Hash**

任意长度的二进制值（ 明文） 映射为较短的固定长度的二进制值（ Hash 值） ，并且不同的明文很难映射为相同的 Hash 值。

目前流行的 Hash 算法包括 MD5、SHA-1 和 SHA-2。

### 数字摘要

顾名思义，数字摘要是对数字内容进行 Hash 运算，获取唯一的摘要值来指代原始数字内容。数字摘要是解决确保内容没被篡改过的问题（ 利用 Hash 函数的抗碰撞性特点） 。

数字摘要是 Hash 算法最重要的一个用途。在网络上下载软件或文件时，往往同时会提供一个数字摘要值，用户下载下来原始文件可以自行进行计算，并同提供的摘要值进行比对，以确保内容没有被修改过。

### 对称加密

加解密的密钥是相同的，代表算法包括 DES、3DES、AES、IDEA 等。 代表算法包括：RSA、ElGamal、椭圆曲线（ECC） 系列算法。

### 非对称加密

加密密钥和解密密钥是不同的，分别称为公钥和私钥。

### 数字签名

数字签名是一种以电子形式存在于数据信息之中的，或作为其附件或逻辑上有联系的数据，可用于辨别数据签署人的身份，并表名签署人对数据信息中包含的信息的认可技术。数字签名技术是将摘要信息用发送者的私钥加密，与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息，然后用HASH函数对收到的原文产生一个摘要信息，与解密的摘要信息对比。如果相同，则说明收到的信息是完整的，在传输过程中没有被修改，否则说明信息被修改过，因此数字签名能够验证信息的完整性。同时数字签名用到了发送者的私钥，是很难伪造的，也就解决了不可抵赖的问题。

### PKI

Public Key Infrastructure，基于公钥体系的安全基础架构。

### CA

Certificate Authority，负责证书的创建、颁发，在 PKI 体系中最为核心的角色。

### CRL

Certification Revocation List，证书吊销列表，包含所撤销的证书列表。

### CSR

Certificate Signing Request，证书签名申请，包括通用名、名称、主机、生成私钥算法和大小、CA 配置和序列号等信息，用来发给 CA 服务以颁发签名的证书。

## 共识相关：

### Consensus（ 共识）

分布式系统中多个参与方对某个信息达成一致，多数情况下为对发生事件的顺序达成一致。

### 共识机制：

分布式系统达成共识所采用的算法。

### PoS

Proof of Stake，股份持有证明，拥有代币或股权越多的用户，挖到矿的概率越大。

### PoW

Proof of Work，工作量证明，在一定难题前提下求解一个 SHA256 的 Hash 问题。

### 零知识证明（ **zero knowledge validation**）

证明者在不向验证者提供任何有用的信息的前提下，使验证者相信某个论断是正确的。例如，A 向 B 证明自己有一个物品，但 B 无法拿到这个物品，无法用 A 的证明去向别人证明自己也拥有这个物品。

### Byzantine Failure（ 拜占庭错误）

指系统中存在除了消息延迟或不可送达的故障以外的错误，包括消息被篡改、节点不按照协议进行处理等，潜在地会对系统造成针对性的破坏。

## 安全相关

### MTBF

Mean Time Between Failures，平均故障间隔时间，即系统可以无故障运行的预期时间。

### MTTR

Mean Time to Repair，平均修复时间，即发生故障后，系统可以恢复到正常运行的预期时间。

### MVCC

Multi-Version Concurrency Control，多版本并发控制。数据库领域的技术，通过引入版本来实现并发更新请求的乐观处理，当更新处理时数据版本跟请求中注明版本不一致时则拒绝更新。发生更新成功则将数据的版本加一。

### SLA/SLI/SLO

Service Level Agreement/Indicator/Objective，分别描述服务可用性对用户的承诺，功能指标和目标值。

### Sybil Attack（女巫攻击）

少数节点通过伪造或盗用身份伪装成大量节点，进而对分布式系统系统进行破坏

### Double-Spend Attack

双花攻击/双重支付攻击：指的是攻击者通过伪造凭证、信息不对称、时间延迟等技术手段，用同一笔钱消费多次的一种攻击方式。

## 分布式

### Distributed（ 分布式）

非单体中央节点的实现，通常由多个个体通过某种组织形式联合在一起，对外呈现统一的服务形式。

### Decentralization（ 去中心化） ：

无需一个独立第三方的中心机构存在，有时候也叫多中心化。

### DLT

Distributed Ledger Technology，分布式账本技术。包括区块链、权限管理等在内的实现分布式账本的技术

### DApp

去中心化应用（ Decentralized App）

### DAO

去中心化自治组织（ Decentralized Autonomous Organization） ，基于区块链的按照智能合约联系起来的松散自治群体。

### DAC

去中心化自治公司（ Decentralized Autonomous Company）

### P2P

点到点的通信网络，网络中所有节点地位均等，不存在中心化的控制机制。

## 计算机专业术语

### Turing-complete（ 图灵完备）

指一个机器或装置能用来模拟图灵机（ 现代通用计算机的雏形） 的功能，图灵完备的机器在可计算性上等价。

### CDN

Content Delivery Network，内容分发网络。利用在多个地理位置预先配置的缓存服务器，自动从距离近的缓存服务器进行对请求的响应，以实现资源的快速分发。

### Merkle Tree

梅克尔树

### Merkle Patricia Tree

梅克尔帕特里夏树
