第一章 · 互联网的发展与以太坊诞生背景

区块链解决了什么问题?

它不是更快的数据库,而是一套让互不信任的参与者,在没有唯一管理员时仍能共同维护公共状态的协作机制。

  • Lesson 03
  • Reading · 22 min
  • Interactive diagrams · 3
核心命题

让彼此不完全信任的人,对发生了什么现在是什么状态形成可独立验证的一致结论。

01 / POWER去中心化
02 / ACCESS无需许可
03 / HISTORY难以篡改
04 / STATE全球状态同步
展开本课目录
  1. 问题从哪里来
  2. 机制如何协作
  3. 去中心化
  4. 无需许可
  5. 难以篡改
  6. 全球状态同步
  7. 边界与代价
  8. 推导与自测
01

问题不是“怎样保存数据”,而是“该相信谁”

普通互联网服务通常有一个权威数据库。银行改余额,平台改订单,游戏公司改积分。只要大家接受这位管理员,系统就能快速、便宜地运行。

这种模式并不坏。问题在于,管理员同时拥有几种权力:决定谁可以进入,决定哪些操作有效,决定记录以什么顺序写入,甚至有能力修改或删除历史。服务器被攻击、关闭或审查时,所有参与者也会一起受到影响。

区块链面对的是一个更困难、也更狭窄的问题:

The coordination problem

如果参与者彼此不完全信任,也不愿把最终决定权交给一个中心机构,他们怎样共同维护一本账?

互动图示 · 一个故障会影响多少人?

single point vs replicated state

中心化数据库

所有请求都经过唯一管理员;它速度快,但也是控制点和故障点。

ABCD
唯一数据库
STATE #105

状态:服务正常,所有人依赖同一份数据库。

多节点验证网络

多个节点保存并验证状态;一个节点离线,不等于公共状态消失。

A#105 B#105 C#105 D#105 E#105

状态:五个节点都能按协议独立检查 #105。

图 01复制数据本身还不够;节点还必须对有效规则和规范历史达成共识。这个图只展示“单点故障”维度。

因此,区块链不是要消灭数据库,而是把“唯一可信数据库”改造成一套任何人都可以验证、很难被单方控制的公共状态转换系统。它为此牺牲了速度、成本、隐私和修改便利性。

02

四个性质背后,是一条完整的因果链

“去中心化、无需许可、难以篡改、全球同步”不是四句彼此独立的口号。它们来自签名、网络传播、共识、确定性执行和数据承诺的协作。

01 / AUTHORIZE数字签名

证明这项状态修改得到对应密钥控制者授权。

02 / PROPAGATE点对点传播

交易和区块通过多个路径在独立节点间扩散。

03 / ORDER共识排序

决定网络承认哪些区块,以及交易的规范先后。

04 / EXECUTE确定性执行

相同旧状态与相同交易顺序必须算出相同结果。

05 / VERIFY哈希承诺

让节点以紧凑方式检查历史和状态是否匹配。

图 02签名负责“谁授权”,共识负责“先做什么”,执行负责“结果是什么”,哈希帮助所有人验证数据有没有变化。

从更抽象的角度看,区块链是一台复制到很多节点上的状态机:

S′ = F(S, ordered valid transactions)
新状态 = 状态转换规则(旧状态,已经排序的有效交易)

假设 Alice 有 10 ETH,Bob 有 0 ETH。Alice 签名发送 3 ETH,节点先验证签名、交易序号和余额;共识确定交易进入规范区块;执行层应用相同规则,于是所有诚实节点都得到 Alice 7 ETH、Bob 3 ETH。

如果 Alice 同时提交两笔互相冲突的花费,网络并不会阻止她“发送请求”,而是通过规范排序、账户序号和余额规则,使冲突交易无法同时成为有效状态的一部分。这就是双花问题的核心解法。

03

去中心化:把信任从机构转向公开规则和独立验证

去中心化并不表示“没有人负责”,也不表示“每个人权力完全相等”。它表示没有一个参与者能在不被发现、不受抵抗的情况下,单方面决定所有人的规范账本。

01 · REPLICATE

多份副本

公共数据和状态承诺存在于多个独立节点。单个服务器消失,不会让网络历史一起消失。

02 · VERIFY

独立验证

节点不必相信别人声称“这个区块有效”,而能根据同一协议规则自行检查交易和状态。

03 · DIVERSITY

实现多样性

不同团队、语言和客户端实现同一规范,可降低所有节点同时继承一个软件错误的风险。

04 · RESIST

提高单方控制成本

攻击者必须影响足够多的共识参与者或社会协调,而不是只修改一台数据库。

更精确的词是最小化信任,而不是“完全无须信任”。你仍然要信任密码学假设、协议规范、客户端实现、自己的设备和密钥管理;只是许多结果从“听机构说”变成了“可以自己验”。

去中心化是多个维度,不是一个开关

以太坊底层共识可以很分散,但用户可能都依赖同一个钱包网站、RPC 服务或稳定币发行人。合约可能还有管理员升级密钥。评价一个应用时,应分别看验证者、节点、客户端、前端、数据入口、资产发行和治理权,而不能只问“它是不是上链”。

04

无需许可:协议检查规则,而不是管理员审查身份

在协议层面,任何能够连接网络并满足统一规则的人,都可以生成地址、读取数据、验证区块、提交交易或部署合约,不需要先取得平台账户或人工批准。

中心化准入

  1. 01 · 注册平台账户
  2. 02 · 提交身份或资格
  3. 03 · 等待管理员批准
  4. 04 · 获得可撤销的使用权

协议级无需许可

  1. 01 · 本地生成密钥
  2. 02 · 构造并签名交易
  3. 03 · 广播到点对点网络
  4. 04 · 所有节点按同一规则验证
图 03无需许可取消的是“先获得某个管理员同意”,不是取消规则。签名错误、余额不足或 Gas 不够的交易仍会被拒绝。

它至少包含三层开放

  • 开放使用:任何地址都可以尝试提交符合规则的交易。
  • 开放验证:任何人都可以运行软件,检查网络有没有按规则运行。
  • 开放创新:开发者可以部署合约,不必先通过应用商店或平台 API 审批。

但无需许可不等于免费、匿名、立即成交或不受现实法律约束。开放网络还会面对垃圾请求和恶意参与者,因此需要交易费、Gas、反女巫机制和共识安全预算。某个具体应用也可以在合约中加入白名单;那是应用层的选择,不会自动继承底层协议的全部开放性。

05

难以篡改:状态会变化,但历史很难被单方重写

“不可篡改”常被说得过于绝对。准确表述是:已经被网络确认的历史,无法像普通数据库那样由一名管理员悄悄改掉;想替换它,需要重做后续历史并让网络接受替代版本。

互动图示 · 修改旧区块会发生什么?

hash-linked history

BLOCK #100

prev0x7a31
txAlice → Bob · 3
hash0x91bf

BLOCK #101

prev0x91bf
txBob → Chen · 1
hash0x4c20

BLOCK #102

prev0x4c20
txChen → Dana · 0.4
hash0xb873
当前:三个区块的引用关系一致。

哈希值经过教学化缩短。真实系统使用长哈希承诺;哈希本身只让修改变得可见,分布式验证、共识和经济成本才使替代历史难以被接受。

图 04哈希让历史修改变得可见;分布式副本、共识与最终性共同提高替代历史被网络接受的门槛。

哈希不是“不可篡改魔法”

攻击者完全可以修改数据后重新计算一个新哈希。关键在于,其他节点仍保存原历史,并会拒绝不符合共识规则的替代链。对于已经获得最终性的区块,逆转它需要破坏非常强的协议与经济假设,还可能触发惩罚和社会恢复。

难以篡改也不等于数据真实

数字签名只能证明“某把私钥授权了这条消息”,不能证明签名者理解后果,更不能证明链外天气、房价或货物状态是真的。区块链可以永久保存一条谎言。链外事实仍然需要预言机、审计、传感器或法律责任体系。

必须区分状态本来就会改变;难以单方重写的是已经发生的状态变化历史

06

全球状态同步:所有诚实节点最终收敛到同一结果

网络中的节点可能在某一瞬间看到不同交易,也可能短暂拥有不同的链头。全球状态同步不是“每一毫秒完全一致”,而是协议让它们最终选择同一规范顺序,并据此计算同一状态。

互动图示 · 三个节点如何从分歧走向一致?

mempool → order → execute → state
STEP 01 / PROPAGATION

交易传播需要时间

节点甲看到 TX-A尚未看到 TX-B
节点乙看到 TX-B尚未看到 TX-A
节点丙看到 TX-A看到 TX-B
STEP 02 / CONSENSUS

共识选择规范区块与交易顺序

节点甲BLOCK #106ORDER: A → B
节点乙BLOCK #106ORDER: A → B
节点丙BLOCK #106ORDER: A → B
STEP 03 / EXECUTION

每个节点独立执行相同输入

节点甲S′ = F(S, A, B)执行完成
节点乙S′ = F(S, A, B)执行完成
节点丙S′ = F(S, A, B)执行完成
STEP 04 / CONVERGENCE

节点得到同一状态承诺

节点甲STATE #106ROOT 0xA81C
节点乙STATE #106ROOT 0xA81C
节点丙STATE #106ROOT 0xA81C
步骤 1 / 4:节点暂时看到不同的待处理交易。
图 05共识决定“执行什么和先后顺序”,执行层决定“结果是什么”。两者缺一不可。

以太坊中的“世界状态”主要包括账户余额、交易序号、合约代码和合约存储。它不是整个现实世界的真相,也不是所有历史数据都必须永久保存在每一台普通节点上;它是协议层承认的当前规范状态,以及可验证它的承诺。

因此,“全球”描述的是逻辑范围,“同步”描述的是收敛过程。节点可以暂时落后或离线,但重新连接后能够依据区块、状态根和协议规则检查自己是否追上了同一条规范链。

07

获得中立协作能力,也要支付真实代价

区块链用冗余计算和公开验证换取无需单一运营者的公共状态。它解决的是特定信任结构,不是所有信息系统的默认升级。

能力主要机制直接收益代价与边界
去中心化多节点、客户端与共识降低单点故障和单方控制冗余执行、协调复杂,且可能在前端或资产层重新集中
无需许可公开协议与密码学身份开放使用、验证与创新垃圾请求、女巫攻击和合规冲突,需要费用与防滥用机制
难以篡改哈希关联、共识、最终性历史可审计,秘密回写困难错误也难撤销;升级合约和社会分叉仍然存在
状态同步规范排序与确定性执行避免双花,让应用共享同一状态传播和确认有延迟,吞吐受到全网验证约束

它没有自动解决的六件事

链外真实性

预言机写入的数据可能错误;共识只能统一记录,不能观察现实。

私钥安全

被盗密钥产生的签名在协议看来仍可能完全有效。

代码正确性

智能合约可以有漏洞、错误权限和危险升级机制。

天然隐私

公开可验证往往意味着数据和交易关系更容易被观察。

无限扩展

所有节点都要验证同一结果,天然限制了基础层吞吐。

公平与正义

协议一致不代表财富、治理、交易排序或现实规则必然公平。

什么时候值得使用区块链?

当多个参与方必须共享同一数字状态,却没有一个大家都愿意长期信任的中立管理员;并且公开验证、抗审查、开放接入或数字资产结算足够重要,能够抵偿更高费用、延迟和不可逆性时,区块链才显示出优势。

公司内部库存、个人笔记、学校考勤等系统已有明确负责人,也需要高吞吐、隐私和方便纠错,普通数据库通常更合适。一个很实用的判断是:如果你可以放心指定一个管理员,区块链多半只会让系统更慢、更贵。

08

把整课压缩成一条推导链

  1. 中心数据库高效,但权力集中管理员控制准入、排序、状态和历史,也构成单点故障。
  2. 多份副本消除单点,却带来冲突节点看到的交易可能不同,因此必须有统一有效规则和规范排序。
  3. 签名给出授权,共识给出顺序节点不靠身份审批,而靠密码学和协议规则决定交易能否执行。
  4. 确定性执行让节点算出同一状态相同旧状态和相同交易顺序,必须得到相同的新状态。
  5. 哈希承诺与经济安全保护历史修改会暴露,替代历史还必须跨过共识、惩罚与社会协调门槛。
记忆口诀

无单点,开放入场;旧账难改,状态收敛。
签名管授权,共识管排序,执行算结果,哈希帮助验历史。

五题自测

1. 为什么“用了哈希”还不足以保证历史难以篡改?

2. “无需许可”最准确的含义是什么?

3. 共识层和执行层分别负责什么?

4. 链上永久记录了一条错误天气数据,说明什么?

5. 下列哪个场景最不需要区块链?

Lesson complete

区块链首先保证的是一致、可验证的链内状态,而不是现实世界的绝对真相。

下一课预告 · 01—04 比特币为什么“不够”? →

资料与延伸阅读

  1. ethereum.org:Nodes and clients — 节点、执行客户端、共识客户端、独立验证与客户端多样性。
  2. ethereum.org:Technical intro to Ethereum — 交易广播、区块链哈希关联、验证者与状态转换的入门说明。
  3. ethereum.org:Proof-of-stake FAQ — 以太坊最终性及其经济安全含义。
  4. ethereum.org:Ethereum Virtual Machine — EVM 如何在节点间一致执行代码并改变世界状态。