名词释义

区块链相关

区块

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

创世区块

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

区块链:

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

地址

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

分叉:

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

普通分叉:

是由于两个或者多个矿工几乎同时发现了一个区块引起的暂时冲突。网络将选择差难度值最高的分叉。比如,在挖矿过程中,已经确认生产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

梅克尔帕特里夏树

最后更新于