跳到主要内容
《区块链实战》正式封面

书籍 · 2020-06

区块链实战:从技术创新到商业模式

冒志鸿、陈俊

从区块链的技术原理,到应用设计与商业模式的讨论。

中信出版集团 · ISBN 9787521717853

《区块链实战》由冒志鸿、陈俊合著,2020 年 6 月由中信出版集团出版。它从技术原理出发,讨论去中心化身份、应用、智能合约,以及企业如何判断区块链与自身需求的关系。

查看勘误表与逐项纠正

作品信息

项目信息
完整书名区块链实战:从技术创新到商业模式
作者冒志鸿、陈俊
出版社中信出版集团
出版时间2020 年 6 月
ISBN9787521717853
原文语言中文

可在豆瓣书目查看出版信息与读者讨论。

从书中的问题继续读

书中“难以篡改”与“不可篡改”的区分,仍然是理解区块链的好起点。今天重读这些问题,需要把原书写作时的论述与后来发生的协议变化分开。

从记录到证据:区块链入门把第 1、6、10、11 章的一组基础问题串成五篇短解释。它们保留出处,并用现行协议资料说明边界,属于延伸学习而非原书节选。

原书呈现的是其写作与出版时的判断。这里的学习内容会继续补充来源与更新,具体协议或产品的现状以对应资料为准。

返回出版物,或浏览区块链学习。

身份与应用:继续学习

身份、授权与退出围绕第 4、5 章展开八个问题,进一步检查资格、隐私、代办、恢复和数据迁移。

勘误与纠正

以下内容依据作者提供的最终检验版整理,使用章节、段落标题和原文短句定位,不使用页码。它们帮助读者纠正概念和补足条件;所引文字不代表每个印次都完全相同。出版后的技术变化会另作更新说明。

更新:2026-09-29。共 11 项;本次新增 Fabric、DID、DAO 纠正,并补充哈希说明。

编号与章节纠正内容
BIP-E001
第 1 章 · 概念纠正
拜占庭将军问题与两军问题
BIP-E002
第 1 章 · 条件澄清
完整验证不等于永久保存全部历史
BIP-E003
第 2 章 · 模型纠正
Fabric 的账本不是比特币式 UTXO
BIP-E004
第 3 章 · 分类纠正
质押条件不等于机构批准
BIP-E006
第 4 章 · 概念澄清
DID、密钥与身份认定需要分开
BIP-E008
第 6 章 · 条件澄清
多数算力的能力边界
BIP-E009
第 6 章 · 机制纠正
DAO 分叉修改状态,没有抹去旧区块
BIP-E012
第 7 章 · 概念纠正
UTXO 不只是找零记录
BIP-E016
第 12 章 · 条件澄清
IPFS 的保存与删除边界
BIP-E017
第 12 章 · 术语纠正
签名用私钥,验签用公钥
BIP-E019
第 16 章 · 术语纠正
ERP 的释义

BIP-E001

拜占庭将军问题与两军问题

第 1 章 · 拜占庭容错及拜占庭容错算法。原文定位:

这个难题也被称为“拜占庭将军问题”或者“两军问题”。

纠正说明:这两个名称不应互为别名。拜占庭将军问题研究一些参与者可能作恶、发送矛盾消息时,遵循协议的参与者如何达成一致。两军问题研究不可靠通信下能否保证双方协调行动。原段把后者的通信困难当作前者的定义,需要分别说明。1982 年论文的作者应完整列为 Leslie Lamport、Robert Shostak、Marshall Pease。

依据:The Byzantine Generals Problem (1982);Halpern & Moses · Knowledge and common knowledge in a distributed environment。延伸学习:共享记录。

BIP-E002

完整验证不等于永久保存全部历史

第 1 章 · 分布式账本说明。原文定位:

每个“健康”节点上的数据库里都有着完整的区块链上的所有数据和历史信息。

纠正说明:节点能验证什么,与它长期保存什么,是两件事。以 Bitcoin Core 为例,裁剪模式会在处理区块、更新状态后删除部分旧区块文件,仍可验证后续区块和交易。它无法直接提供已删除的历史数据,因此不能从“节点正常运行”推导出“可在本机查询任何历史记录”。裁剪功能在本书出版前已经存在。

依据:Bitcoin Core 0.11.0 · Block file pruning。延伸学习:共享记录。

BIP-E003

Fabric 的账本不是比特币式 UTXO

第 2 章 · Hyperledger Fabric 介绍;第 7 章账户模型比较。原文定位:

Hyperledger Fabric 利用了和比特币相同的 UTXO 加脚本语言的交易处理模式

纠正说明:Fabric 1.4 的账本包含交易历史和“世界状态”。世界状态记录业务对象的当前值,例如某件设备目前由谁保管;交易历史则记录这个值怎样发生变化。比特币的 UTXO 是尚未花费的交易输出,每次花费会消耗旧输出并产生新输出,不能直接用它来定义 Fabric 的模型。Fabric 的链码(智能合约)提出业务数据更新,经过网络规则规定的审核,有效交易才更新世界状态。第 7 章已说明账户模型可以记录多种数据;理解 Fabric 时,更具体的描述是保存业务对象当前值的世界状态。这一模型在本书出版前的 Fabric 1.4 文档中已经明确。

依据:Hyperledger Fabric 1.4 · Ledger。延伸学习:相关概念。

BIP-E004

质押条件不等于机构批准

第 3 章 · 区块链如何分类。原文定位:

权益证明类公链和联盟链 / 私链则属于许可链的范畴。

纠正说明:不能仅凭采用权益证明,就把一条链归为许可链。质押是一种按协议设置的参与条件;许可准入则要看是否由指定主体批准参与者。评估时还应分别检查谁能读取、提交交易、验证与出块。以当前以太坊为例,验证者按协议完成质押和激活流程,不需要某家机构逐一批准;这并不意味着参与没有资金、设备或运行门槛。

依据:Ethereum · Proof of stake。延伸学习:是否需要区块链。

BIP-E006

DID、密钥与身份认定需要分开

第 4 章 · 去中心化身份的技术实现。原文定位:

去中心化身份标识包括两个部分:地址和密钥。

纠正说明:地址与密钥的类比有助于解释某些系统,却不适合作为所有 DID 的定义。DID 是用于标识人、组织或其他对象的一串字符;密钥则可以用来生成和验证控制权证明,不是必须写入标识符的第二部分。“DID 方法”是一套创建、查询和更新这种标识的规则,与具体的签名验证方法不同。证明自己控制某个 DID,不等于证明姓名、年龄等现实属性,也不等于获得任何服务的访问权限。接收方仍需验证相关声明并决定是否授权。2022 年的 W3C DID Core 将这些角色和验证关系进一步规范化;这里用后来的标准澄清原书类比,并不意味着该标准在 2019 年已经定稿。

依据:W3C DID Core 1.0 (2022) · Identifier, verification relationships, proving control。延伸学习:相关概念。

BIP-E008

多数算力的能力边界

第 6 章 · 区块链系统面临的主要攻击方式。原文定位:

这样攻击者就得到了整个网络的控制权

纠正说明:以比特币为例,持续掌握多数算力的攻击者可以更有把握地建立累计工作量占优的有效分支,重组部分交易历史,实施双花或阻碍特定交易确认。但遵守原有规则的全节点仍会检查交易与区块是否合法。多数算力本身不能伪造他人的签名,也不能让违反规则的交易自动有效。低于一半的算力也可能完成一定深度的重组,不能把 50% 当作所有攻击能否发生的绝对分界。

依据:Bitcoin Developer Guide · Block Chain。延伸学习:最终性。

BIP-E009

DAO 分叉修改状态,没有抹去旧区块

第 6 章 · 误解二:数据上链后,数据永远不会丢失。原文定位:

即回滚到丢失以太币之前的数据

纠正说明:DAO 硬分叉没有把整条链退回攻击发生前,也没有删除那段交易历史。采用分叉规则的以太坊在区块高度 1,920,000 执行了一次特殊状态变更,将指定 DAO 相关账户的以太币余额转入指定的提款合约。此前的区块与交易仍然存在。因此,这个例子说明的是参与者可以通过采用新的规则改变后续状态演进,不能用来证明历史数据被整体回滚或丢失。第 2 章相关事件介绍中的“链上数据回滚撤销”也应作同样区分。

依据:EIP-779 · DAO Fork。延伸学习:相关概念。

BIP-E012

UTXO 不只是找零记录

第 7 章 · UTXO 与现金找零类比段。原文定位:

它并不是“零头”本身,而是一个“找零”记录。

纠正说明:UTXO 是尚未花费的交易输出。收款输出与找零输出在未花费时都可能属于 UTXO。举例说,一个价值 10 的输入产生收款人 6、付款人找零 3.9 两个输出,差额 0.1 为手续费:两个输出都可能成为 UTXO,不只有找零。相邻段落“只记录交易,不记录最终状态”也应改为:链记录交易历史,验证节点据此维护当前未花费输出集合。

依据:Bitcoin Developer Guide · Transactions。延伸学习:共享记录与交易冲突。

BIP-E016

IPFS 的保存与删除边界

第 12 章 · 难以篡改的数据记录。原文定位:

IPFS 目前和区块链一样是不支持删除操作的

纠正说明:IPFS 的内容地址用于识别内容,不是永久存储承诺。节点可以停止固定保存(unpin)并通过垃圾回收移除不再需要的数据;取消固定本身不等于立刻删除。移除自己的副本不能保证其他节点也删除它。应分别讨论内容是否仍有人保存、能否继续取得,以及能否撤回所有副本,不能用“不支持删除”概括。

依据:IPFS · Pin files。延伸学习:应用退出与数据保存。

BIP-E017

签名用私钥,验签用公钥

第 12 章 · 我是否需要颁发可验证的数字证书。原文定位:

也可使用私钥验证签名的真伪

纠正说明:在这里讨论的公钥数字签名中,签署者使用私钥生成签名,验证者使用对应公钥检查签名。验证者不需要取得签署者的私钥。验签通过说明签名与给定消息、公钥匹配;要进一步认定现实中的签署者,还需要可信的公钥与身份关联。数字签名不应笼统解释为“公钥、私钥进行加解密的验证”。

依据:NIST CSRC · Private key。延伸学习:哈希与签名。

补充原文定位:第 12 章“难以篡改的数据记录”中的“借由哈希加密”。这里应写“通过内容哈希识别和核对数据”,不能把哈希说成加密。哈希生成用于比较的摘要;加密则把内容转换为需要相应密钥才能解读的形式。以 IPFS 为例,内容寻址本身不会隐藏文件内容,节点间传输加密也不等于存储的内容已加密。敏感文件需要另行采用内容加密并管理访问密钥。

依据:IPFS · Hashing; IPFS · Privacy and encryption.

BIP-E019

ERP 的释义

第 16 章 · 信息孤岛段。原文定位:

ERP(网络公关系统)

纠正说明:应改为“ERP(Enterprise Resource Planning,企业资源计划)系统”。本条仅纠正缩写释义,不对该段案例的实施效果作判断。

依据:SAP · What is ERP?。