neo blockchain book
  • NEOHOPE's Blockchain Book
  • 概述
    • 本书内容
    • 读者定位
    • 本书约定
    • 项目对比
    • 名词释义
  • 基本原理
    • 区块链
    • 智能合约
    • 交易所
    • 系统架构
  • 基础算法
    • 默克尔树
    • Bloom过滤器
    • 公钥私钥及椭圆曲线
  • 共识算法
    • 分布式系统
    • Paxos与Raft算法
    • 拜占庭容错算法
  • Bitcoin
    • 整体架构
    • 状态转换
    • 区块确认
    • 分叉处理
    • P2P
    • 脚本
    • 钱包
    • 使用
    • 编译(Ubuntu)
    • 私链搭建(Linux)
    • 私链搭建(Docker)
  • Ethereum
    • 整体架构
    • 状态转换
    • 区块确认
    • 使用
    • Remix IDE环境搭建(Ubuntu16)
    • 智能合约编写01
    • 智能合约编写02
    • 智能合约编写03
    • 智能合约编写04
    • 编译(MacOS)
    • 私链搭建
  • EOS
    • 整体架构
    • 使用
    • 智能合约使用(单机单节点单钱包)
    • 智能合约使用(单机单节点多钱包)
    • 编写简单的智能合约
    • 编写有数据存储的智能合约
    • 编译(Linux)
    • 私链搭建(单机多节点)
    • 私链搭建(多机多节点)
  • Fabric
    • 整体架构
    • 身份管理
    • 共识达成
    • 使用
    • 智能合约介绍
    • 智能合约使用01
    • 智能合约使用02
    • 编译(MacOS)
    • 私链搭建(Ubuntu)
    • 在私链中添加一个机构
  • Cosmos
    • 整体架构
    • Zone与Hub
    • 使用
  • IPFS
    • 整体架构
    • 使用
    • 编译(MacOS)
    • 私链搭建
  • 然后呢?
由 GitBook 提供支持
在本页
  • 区块链相关
  • 区块
  • 创世区块
  • 区块链:
  • 地址
  • 分叉:
  • 普通分叉:
  • 软分叉:
  • 硬分叉:
  • 代币:
  • 钱包
  • 交易:
  • 交易所:
  • 智能合约:
  • 燃料
  • Mining(挖矿)
  • Miner( 矿工)
  • Mining Machine(矿机)
  • Mining Pool( 矿池)
  • 挖矿难度
  • 加解密相关
  • Hash
  • 数字摘要
  • 对称加密
  • 非对称加密
  • 数字签名
  • PKI
  • CA
  • CRL
  • CSR
  • 共识相关:
  • Consensus( 共识)
  • 共识机制:
  • PoS
  • PoW
  • 零知识证明( zero knowledge validation)
  • Byzantine Failure( 拜占庭错误)
  • 安全相关
  • MTBF
  • MTTR
  • MVCC
  • SLA/SLI/SLO
  • Sybil Attack(女巫攻击)
  • Double-Spend Attack
  • 分布式
  • Distributed( 分布式)
  • Decentralization( 去中心化) :
  • DLT
  • DApp
  • DAO
  • DAC
  • P2P
  • 计算机专业术语
  • Turing-complete( 图灵完备)
  • CDN
  • Merkle Tree
  • Merkle Patricia Tree
  1. 概述

名词释义

区块链相关

区块

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

梅克尔帕特里夏树

上一页项目对比下一页基本原理

最后更新于7年前