面向刚接触 Web3 的小白,用大白话把区块链最核心的几块知识讲清楚。 每一节都是「一句话理解 → 展开讲解 → 核心要点 → 常见面试题」的结构,重点章节标注了掌握程度。

学习建议:先建立整体感觉,再抠细节。第一遍不用全懂,混个脸熟;共识机制(第 3 节)是重点,值得反复看。


目录

  1. 区块链整体技术框架(了解)
  2. 常见加密技术:非对称加密、哈希算法(了解)
  3. 共识机制基础:PoW、PoS、DPoS(重点掌握)
  4. 比特币原理:UTXO 模型、PoW 共识机制(了解)
  5. 以太坊原理:账户体系、状态树结构(了解)
  6. 附:小白常见疑问 FAQ

1. 区块链整体技术框架(了解)

a2

一句话理解

区块链 = 一个所有人共同维护、无法篡改、公开可查的分布式账本

展开讲解

传统世界里,你的银行余额记在银行的数据库里,银行说你有多少钱你就有多少钱——这叫中心化记账,你必须信任银行。

区块链换了个思路:大家一起记账,每个人手里都有一份完整的账本。谁想改数据,得说服全网大多数人一起改,成本极高,所以「不可篡改」。这叫去中心化记账,你信任的是数学和规则,而不是某个机构。

它为什么叫「区块」+「链」?

  • 区块(Block):把一段时间内的交易打包成一个「块」。
  • 链(Chain):每个新块都记录着上一个块的哈希值,一环扣一环连成链。改动任何一个历史块,都会导致后面所有块的哈希对不上,全网立刻发现。

分层技术框架

从上往下,可以把区块链拆成六层(经典的「六层模型」):

层级作用典型技术
应用层用户实际用到的东西DApp、钱包、DeFi、NFT
合约层让链上能跑「程序」,实现自动化逻辑智能合约、EVM、虚拟机
激励层凭什么大家愿意来记账出块奖励、手续费
共识层大家怎么就「谁记账、账本以谁为准」达成一致PoW、PoS、DPoS(第 3 节重点)
网络层节点之间怎么通信、怎么传播交易P2P 网络、广播机制
数据层怎么存数据、怎么保证不可篡改区块结构、Merkle 树、哈希、时间戳

记忆口诀:数据、网络、共识是底座(比特币就有),激励、合约、应用让区块链变得好用、能编程(以太坊补上了合约层)。

a1

核心要点

  • 区块链的三大特性:去中心化、不可篡改、公开透明
  • 不可篡改的技术根源:哈希 + 链式结构
  • 一切复杂功能都建立在「六层模型」之上,先有底座再谈应用。

面试题

Q1:区块链和传统数据库有什么区别? A:核心区别在信任模型和写入权限。传统数据库中心化、由管理员控制,可增删改;区块链去中心化、多方共同维护,只能追加(append-only)不能修改,靠共识机制决定谁能写入,靠密码学保证历史不可篡改。区块链牺牲了性能来换取「无需信任第三方」。

Q2:为什么说区块链不可篡改? A:每个区块头包含前一个区块的哈希值,形成链式依赖。修改任意历史区块会改变它的哈希,导致其后所有区块的「前哈希」字段失效,攻击者必须重算后面所有区块并追上全网算力/权益,在 PoW 下即所谓「51% 攻击」,成本极高,因此现实中不可篡改。


2. 常见加密技术:非对称加密、哈希算法(了解)

a3

密码学是区块链的地基。小白只需先搞懂两样东西:哈希算法非对称加密

2.1 哈希算法(Hash)

一句话理解

哈希 = 把任意长度的数据,压成一段固定长度、独一无二的「数字指纹」

关键特性

  • 确定性:同样的输入,永远得到同样的输出。
  • 定长输出:不管输入是 1 个字还是 1 部电影,SHA-256 输出都是 256 位(64 个十六进制字符)。
  • 雪崩效应:输入哪怕只改一个字,输出也会天翻地覆地变。
  • 单向不可逆:能从原文算出哈希,但不能从哈希反推原文
  • 抗碰撞:极难找到两个不同的输入得到相同的哈希。
SHA-256("hello")  = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-256("hellp")  = 6b8b... (只改了一个字母,结果完全不同)

在区块链里干什么

  • 生成区块哈希,把区块串成链。
  • 构建 Merkle 树,快速校验一批交易有没有被动过。
  • 生成钱包地址(对公钥再做哈希)。
  • PoW 挖矿本质就是疯狂试数,找出满足条件的哈希

比特币用 SHA-256,以太坊用 Keccak-256(常被叫成 SHA-3,但略有区别,面试易踩坑)。

2.2 非对称加密(公钥 / 私钥)

一句话理解

非对称加密 = 一对钥匙,一把公开(公钥)、一把自己私藏(私钥),公钥锁的东西只有私钥能开,私钥签的名只有公钥能验。

对比对称加密

  • 对称加密:加密解密用同一把钥匙(如 AES)。快,但钥匙怎么安全地给对方是个难题。
  • 非对称加密:一对钥匙(如 RSA、椭圆曲线 ECC)。慢,但解决了「密钥分发」和「身份证明」问题。

区块链怎么用:数字签名

区块链几乎不用非对称加密去「加密隐藏内容」(链上数据是公开的),而是用它来签名、证明身份

私钥  →(生成)→  公钥  →(哈希)→  钱包地址
  • 私钥:你资产的唯一凭证,丢了没人能帮你找回,泄露了资产就归别人
  • 公钥 / 地址:相当于你的收款账号,可以公开给别人。
  • 数字签名:发交易时用私钥签名,全网用你的公钥验证「这笔交易确实是地址主人发的、且内容没被篡改」,但整个过程你都不用暴露私钥

核心记住这句话:Not your keys, not your coins(私钥不在你手上,币就不是你的)

核心要点

  • 哈希:单向、定长、防篡改,负责「验真」。
  • 非对称加密:公钥验证、私钥签名,负责「证明身份和授权」。
  • 地址不是随便起的,是私钥 → 公钥 → 哈希一步步推导出来的。

面试题

Q1:哈希算法有哪些核心特性? A:确定性、定长输出、单向不可逆、雪崩效应(输入微小变化导致输出巨大变化)、抗碰撞性。区块链中用它保证数据完整性和构建链式结构。

Q2:对称加密和非对称加密的区别?区块链主要用哪种? A:对称加密收发双方用同一把密钥,速度快但密钥分发困难;非对称加密用公私钥对,速度慢但解决了密钥分发和身份认证。区块链主要用非对称加密做数字签名(如 ECDSA / 椭圆曲线),验证交易发起者身份和完整性,而不是用来加密隐藏链上内容。

Q3:私钥、公钥、地址三者是什么关系? A:私钥随机生成 → 通过椭圆曲线算法推导出公钥 → 公钥再经过哈希(和编码)得到地址。这个方向只能正推、不能反推。私钥能推出公钥和地址,但从地址无法反推私钥,这正是资产安全的基础。


3. 共识机制基础:PoW、PoS、DPoS(重点掌握)

本节是重点。共识机制解决的是区块链最核心的问题: 一群互不信任的陌生人,怎么就「账本以谁为准」达成一致?

a4

去中心化系统没有中心管理员,那到底谁有权写下一个区块?如果两个人同时出块听谁的?共识机制就是回答这些问题的「游戏规则」。

3.1 PoW —— 工作量证明(Proof of Work)

一句话理解

谁算得快谁记账:大家比拼算力去解一道数学难题,第一个解出来的人获得记账权和奖励。

怎么运作

  1. 节点(矿工)把交易打包成候选区块。
  2. 疯狂尝试一个随机数 nonce,让 Hash(区块头 + nonce) 小于某个目标值(即前面有足够多的 0)。
  3. 这个过程没有捷径,只能穷举猜测,谁的算力大谁猜中的概率大。
  4. 第一个猜中的矿工广播区块,全网验证通过后,他拿到出块奖励 + 手续费

验证很快(算一次哈希即可),但寻找答案很慢——这种「难算易验」正是 PoW 的精髓。

优缺点

优点缺点
安全性极高,久经考验(比特币运行十几年没被攻破)极其耗电,不环保
完全去中心化,谁都能参与挖矿性能低(比特币约 7 TPS,出块 10 分钟)
攻击成本极高(需掌握 51% 全网算力)算力集中于大矿池,有中心化隐患

代表:比特币、以太坊(2022 年合并前)


3.2 PoS —— 权益证明(Proof of Stake)

一句话理解

谁押的钱多谁记账:不再拼算力,而是拼你质押(锁定)了多少代币,质押越多、越有可能被选中出块。

怎么运作

  1. 想记账要先**质押(Stake)**一定数量的代币作为保证金。
  2. 系统按质押量(有时结合随机数、质押时长)选出下一个出块者(验证者 Validator)。
  3. 出块者验证并打包交易,获得奖励。
  4. 作恶惩罚(Slashing):如果验证者作弊,质押的钱会被没收——想攻击就得先押一大笔钱,作恶就赔本。

优缺点

优点缺点
省电环保(不用挖矿)相对更新,安全性验证时间没 PoW 长
出块快、性能更高有「富者愈富」的倾向
攻击者要买大量代币,成本高且砸自己盘早期存在「无利害关系(Nothing at Stake)」等理论问题(现代 PoS 已用惩罚机制解决)

代表:以太坊(2022 The Merge 后转 PoS)、Cardano


3.3 DPoS —— 委托权益证明(Delegated Proof of Stake)

一句话理解

代议制民主:币持有者不用自己记账,而是投票选出少数几个「代表」(超级节点)轮流出块

怎么运作

  1. 全体持币者投票,选出固定数量(如 21 个)的代表节点 / 超级节点
  2. 这些代表轮流出块,效率极高。
  3. 如果某个代表不干活或作恶,会被投票踢下台,换人上。

优缺点

优点缺点
性能非常高(TPS 可达几千,出块秒级)去中心化程度低(就那么几个节点说了算)
能耗低,出块稳定容易形成寡头、贿选、拉票
有链上治理和投票机制普通用户参与感弱

代表:EOS、TRON(波场)、BitShares


三者对比速记表

维度PoW 工作量证明PoS 权益证明DPoS 委托权益证明
凭什么记账拼算力拼质押的币拼选票(选代表)
能耗极高
性能(TPS)低(~7)中高高(数千)
去中心化程度较高
代表项目比特币以太坊(现)EOS、TRON
安全核心51% 算力成本质押 + 罚没投票 + 淘汰

一句话总结演进逻辑:PoW 用「电费」当门槛 → PoS 用「押金」当门槛 → DPoS 用「选举」换效率,本质都是在 安全、去中心化、性能 这个「不可能三角」里做取舍。

面试题(重点,务必会答)

Q1:PoW 和 PoS 的核心区别是什么? A:PoW 靠算力竞争获得记账权,消耗大量电力,安全性经过长期验证但性能低;PoS 靠质押代币的多少来选择出块者,能耗低、性能高,用「罚没质押金」来惩罚作恶。以太坊在 2022 年通过 The Merge 从 PoW 转向了 PoS,就是为了节能和扩展性。

Q2:什么是 51% 攻击?PoW 和 PoS 分别如何应对? A:51% 攻击指攻击者掌握全网多数记账能力后,可以进行双花、回滚交易。PoW 中需掌握 51% 算力,需要天价的硬件和电费;PoS 中需掌握 51% 的质押代币,一旦作恶质押金会被罚没(Slashing),且大量买币会推高币价、成本极高。两者都通过「让攻击成本远大于收益」来防御。

Q3:DPoS 相比 PoS 牺牲了什么、换来了什么? A:DPoS 通过让持币者投票选出少数超级节点轮流出块,换来了极高的性能(秒级出块、数千 TPS)和低能耗,但牺牲了去中心化程度——记账权集中在少数节点手里,存在寡头化和贿选风险。这是「性能 vs 去中心化」权衡的典型例子。

Q4:区块链的「不可能三角」是什么? A:指去中心化(Decentralization)、安全性(Security)、可扩展性/性能(Scalability)三者难以同时完美兼顾,通常只能优先满足其中两个。PoW 偏向安全和去中心化,DPoS 偏向性能,Layer2、分片等技术都是在试图突破这个三角。


4. 比特币原理:UTXO 模型、PoW 共识机制(了解)

btc

比特币是区块链的「祖师爷」(2009 年,中本聪)。理解比特币,重点抓两点:UTXO 账本模型 和它的 PoW 共识(PoW 已在第 3 节讲过,这里只补充比特币特有的部分)。

4.1 UTXO 模型(比特币的记账方式)

一句话理解

UTXO(Unspent Transaction Output,未花费的交易输出)= 比特币不记「余额」,只记一堆「没花掉的钱」,你的余额是把它们加起来算出来的

用现金类比

比特币账本更像现金 / 钞票,而不是银行余额:

  • 你钱包里有一张 100 元、一张 50 元,你的「余额」150 元不是一个数字,而是这两张钞票的和。
  • 你要付 120 元,没有刚好 120 的钞票,于是你掏出 100 + 50 = 150,付掉 120,找零 30
  • 那两张原来的「钞票」作废了(被花掉),新产生了一张给对方的 120 和一张给你自己的 30。

对应到比特币:

  • 每一笔 UTXO 就是「一张面额固定的钞票」,只能整张花掉,不能切一半。
  • 一笔交易 = 消耗若干旧的 UTXO(输入)→ 产生若干新的 UTXO(输出)
  • 你的钱包余额 = 属于你的所有 UTXO 之和
交易示例:
输入(花掉的旧 UTXO):100 BTC + 50 BTC
输出(新产生的 UTXO):120 BTC 给对方 + 29 BTC 找零给自己
差额 1 BTC = 矿工手续费

为什么用 UTXO

  • 天然防双花:每个 UTXO 只能被花一次,花过就标记消失,全网可验证。
  • 可并行、隐私性较好:不同 UTXO 互不依赖,且每次找零可用新地址。
  • 缺点:不适合复杂的智能合约(没有「账户状态」的概念),这也是以太坊改用账户模型的原因(见第 5 节)。

4.2 比特币的 PoW

  • 出块时间约 10 分钟一个块,通过难度调整动态维持(算力涨了就调难,算力跌了就调易)。
  • 区块奖励每约 4 年减半(halving):50 → 25 → 12.5 → 6.25 → 3.125 BTC……总量恒定 2100 万枚,这就是比特币「通缩、数字黄金」叙事的来源。
  • 交易被打包进块后,一般建议等 6 个确认(即后面又接了 6 个块)才算基本不可逆。

核心要点

  • 比特币 = UTXO 账本 + PoW 共识 + 2100 万总量上限
  • UTXO 像现金,只有「没花的输出」,没有「账户余额」这个字段
  • 减半机制决定了比特币的稀缺性。

面试题

Q1:什么是 UTXO 模型?余额怎么算? A:UTXO 是「未花费的交易输出」。比特币不存储账户余额,而是记录一堆未被花费的输出。每笔交易消耗旧的 UTXO 作为输入、生成新的 UTXO 作为输出。用户的余额 = 属于其地址的所有 UTXO 的总和,由钱包实时汇总算出。

Q2:UTXO 模型如何防止双花? A:每个 UTXO 只能被引用(花费)一次,一旦作为某笔交易的输入被花掉,就从「未花费集合」中移除。全网节点都维护 UTXO 集合,若有人试图重复花费同一个 UTXO,验证时会发现它已不存在或已被占用,交易被拒绝。

Q3:比特币总量为什么是 2100 万?减半是怎么回事? A:比特币出块奖励初始为 50 BTC,每产出约 21 万个区块(约 4 年)奖励减半一次,等比数列求和收敛到约 2100 万枚。减半制造了稀缺性和通缩预期,是比特币「数字黄金」价值叙事的核心。


5. 以太坊原理:账户体系、状态树结构(了解)

eth

如果说比特币是「数字黄金」,以太坊就是「世界计算机」——它在区块链上加了智能合约,能跑程序。为了支持合约,它放弃了 UTXO,改用账户模型

5.1 账户体系(Account Model)

一句话理解

以太坊像银行系统:每个账户有一个明确的**余额(balance)**字段,转账就是「A 余额减、B 余额加」,简单直接。

两类账户

类型全称谁控制特点
EOA(外部账户)Externally Owned Account私钥控制就是普通用户钱包,能主动发起交易
CA(合约账户)Contract Account代码控制部署合约生成,被调用时才执行代码,不能主动发起交易

每个账户包含四个核心字段:

  • nonce:该账户发出的交易计数(防重放、保证顺序)。
  • balance:账户余额(单位 wei)。
  • codeHash:账户的合约代码哈希(EOA 为空)。
  • storageRoot:该账户存储数据的状态树根(EOA 为空)。

账户模型 vs UTXO 模型

UTXO(比特币)账户(以太坊)
记账方式记未花费的输出记每个账户的余额和状态
类比现金 / 钞票银行账户
是否适合智能合约不适合非常适合(有持久状态)
隐私较好(可换新地址)较弱(地址复用,可追踪)

为什么以太坊选账户模型?因为智能合约需要持久的、可读写的状态(比如一个代币合约要记录每个人有多少币),账户模型的「状态」概念天然契合,UTXO 则很难表达。

5.2 状态树结构(默克尔·帕特里夏树 MPT)

一句话理解

以太坊用一种叫 MPT(Merkle Patricia Trie) 的树形结构,把「全网所有账户的当前状态」组织起来,并压缩成一个根哈希塞进区块头。

为什么需要它

以太坊是一台「状态机」:每来一笔交易,全局状态(谁有多少钱、合约里存了什么)就变一次。这么庞大的状态怎么高效存储、又怎么让别人快速验证「我这个账户的余额是对的」?答案就是 MPT。

它结合了两种结构:

  • Merkle 树:任何一个叶子(账户)数据变化,都会层层向上改变根哈希 → 只看根哈希就能验证整棵树有没有被篡改
  • Patricia Trie(前缀树):按 key(账户地址)的前缀组织路径,查找和更新高效,且相同前缀共享路径、节省空间。

以太坊的「三棵树」

每个区块头里存着三个树根,指向三类状态:

  1. State Trie(状态树):全网所有账户的当前状态(余额、nonce、代码、存储根)。全局唯一,随每个块更新。
  2. Transaction Trie(交易树):这个区块里打包的所有交易。
  3. Receipt Trie(收据树):每笔交易执行后的结果(是否成功、日志/事件、消耗的 gas 等)。
区块头(Block Header)
 ├── stateRoot        → 状态树根(全网账户状态)
 ├── transactionsRoot → 交易树根(本块交易)
 └── receiptsRoot     → 收据树根(执行结果)

有了这三个根哈希,轻节点(不存全量数据的钱包)只需拿到一小段「默克尔证明」,就能验证「某笔交易确实被打包」或「我的余额确实是 X」,而不必下载整条链。

核心要点

  • 以太坊用账户模型(像银行余额),分 EOA(私钥控制)CA(代码控制) 两类。
  • 换账户模型是为了支持智能合约的持久状态
  • 全局状态用 MPT 组织,区块头存 状态树、交易树、收据树 三个根哈希,实现高效存储 + 快速验证。

面试题

Q1:以太坊为什么用账户模型而不是 UTXO? A:因为以太坊要支持智能合约,而合约需要持久的、可读写的全局状态(如记录每个地址的代币余额、合约内部变量)。账户模型天然带有「状态」概念,读写余额和存储直观高效;UTXO 是无状态的现金模型,很难表达复杂合约逻辑。

Q2:EOA 和合约账户有什么区别? A:EOA(外部账户)由私钥控制,是普通用户钱包,可以主动发起交易;合约账户(CA)由代码控制,在部署合约时生成,不能主动发起交易,只能被 EOA 或其他合约调用后执行其代码。两者都有余额,但只有合约账户有代码和存储。

Q3:以太坊区块头里有哪三棵树?各存什么? A:状态树(State Trie)存全网所有账户的当前状态;交易树(Transaction Trie)存本区块打包的交易;收据树(Receipt Trie)存每笔交易的执行结果(状态、日志、gas 消耗)。区块头分别保存这三棵树的根哈希,用于完整性校验和轻节点验证。

Q4:Merkle Patricia Trie(MPT)解决了什么问题? A:它结合 Merkle 树(用根哈希做防篡改和快速验证)和 Patricia 前缀树(高效查找/更新、共享前缀省空间)。以太坊用它把海量账户状态压缩成一个根哈希,既能高效地增量更新状态,又能让轻节点通过默克尔证明快速验证某个账户或交易,而无需下载全部数据。


附:小白常见疑问 FAQ

Q:私钥、助记词、Keystore 是一回事吗? A:本质都是为了保管/恢复私钥。私钥是那串核心密钥;助记词(12/24 个单词)是私钥的「人类可读备份」,能推导出私钥;Keystore 是加密后的私钥文件,需要密码解锁。三者任意一个泄露,资产都可能被盗

Q:Gas 费是什么? A:以太坊上执行任何操作(转账、调用合约)都要消耗计算资源,Gas 就是计量单位,用 ETH 支付给验证者,防止有人写死循环拖垮网络。操作越复杂,Gas 越贵。

Q:Layer1 和 Layer2 是什么? A:Layer1 是主链本身(如以太坊);Layer2 是建在主链之上、专门用来扩容提速的方案(如 Arbitrum、Optimism),把大量交易在链下处理、再把结果压缩提交回主链,从而更快更便宜,同时继承主链的安全性。

Q:学习路线建议? A:区块链原理(本文)→ 密码学 & 共识细节 → 智能合约(Solidity)→ 前端 DApp / 后端 Go → 实战项目。先建立整体认知,再逐层深入。