面向刚接触 Web3 的小白,用大白话把区块链最核心的几块知识讲清楚。 每一节都是「一句话理解 → 展开讲解 → 核心要点 → 常见面试题」的结构,重点章节标注了掌握程度。
学习建议:先建立整体感觉,再抠细节。第一遍不用全懂,混个脸熟;共识机制(第 3 节)是重点,值得反复看。
目录
- 区块链整体技术框架(了解)
- 常见加密技术:非对称加密、哈希算法(了解)
- 共识机制基础:PoW、PoS、DPoS(重点掌握)
- 比特币原理:UTXO 模型、PoW 共识机制(了解)
- 以太坊原理:账户体系、状态树结构(了解)
- 附:小白常见疑问 FAQ
1. 区块链整体技术框架(了解)

一句话理解
区块链 = 一个所有人共同维护、无法篡改、公开可查的分布式账本。
展开讲解
传统世界里,你的银行余额记在银行的数据库里,银行说你有多少钱你就有多少钱——这叫中心化记账,你必须信任银行。
区块链换了个思路:大家一起记账,每个人手里都有一份完整的账本。谁想改数据,得说服全网大多数人一起改,成本极高,所以「不可篡改」。这叫去中心化记账,你信任的是数学和规则,而不是某个机构。
它为什么叫「区块」+「链」?
- 区块(Block):把一段时间内的交易打包成一个「块」。
- 链(Chain):每个新块都记录着上一个块的哈希值,一环扣一环连成链。改动任何一个历史块,都会导致后面所有块的哈希对不上,全网立刻发现。
分层技术框架
从上往下,可以把区块链拆成六层(经典的「六层模型」):
| 层级 | 作用 | 典型技术 |
|---|---|---|
| 应用层 | 用户实际用到的东西 | DApp、钱包、DeFi、NFT |
| 合约层 | 让链上能跑「程序」,实现自动化逻辑 | 智能合约、EVM、虚拟机 |
| 激励层 | 凭什么大家愿意来记账 | 出块奖励、手续费 |
| 共识层 | 大家怎么就「谁记账、账本以谁为准」达成一致 | PoW、PoS、DPoS(第 3 节重点) |
| 网络层 | 节点之间怎么通信、怎么传播交易 | P2P 网络、广播机制 |
| 数据层 | 怎么存数据、怎么保证不可篡改 | 区块结构、Merkle 树、哈希、时间戳 |
记忆口诀:数据、网络、共识是底座(比特币就有),激励、合约、应用让区块链变得好用、能编程(以太坊补上了合约层)。

核心要点
- 区块链的三大特性:去中心化、不可篡改、公开透明。
- 不可篡改的技术根源:哈希 + 链式结构。
- 一切复杂功能都建立在「六层模型」之上,先有底座再谈应用。
面试题
Q1:区块链和传统数据库有什么区别? A:核心区别在信任模型和写入权限。传统数据库中心化、由管理员控制,可增删改;区块链去中心化、多方共同维护,只能追加(append-only)不能修改,靠共识机制决定谁能写入,靠密码学保证历史不可篡改。区块链牺牲了性能来换取「无需信任第三方」。
Q2:为什么说区块链不可篡改? A:每个区块头包含前一个区块的哈希值,形成链式依赖。修改任意历史区块会改变它的哈希,导致其后所有区块的「前哈希」字段失效,攻击者必须重算后面所有区块并追上全网算力/权益,在 PoW 下即所谓「51% 攻击」,成本极高,因此现实中不可篡改。
2. 常见加密技术:非对称加密、哈希算法(了解)

密码学是区块链的地基。小白只需先搞懂两样东西:哈希算法和非对称加密。
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(重点掌握)
⭐ 本节是重点。共识机制解决的是区块链最核心的问题: 一群互不信任的陌生人,怎么就「账本以谁为准」达成一致?

去中心化系统没有中心管理员,那到底谁有权写下一个区块?如果两个人同时出块听谁的?共识机制就是回答这些问题的「游戏规则」。
3.1 PoW —— 工作量证明(Proof of Work)
一句话理解
谁算得快谁记账:大家比拼算力去解一道数学难题,第一个解出来的人获得记账权和奖励。
怎么运作
- 节点(矿工)把交易打包成候选区块。
- 疯狂尝试一个随机数
nonce,让Hash(区块头 + nonce)小于某个目标值(即前面有足够多的 0)。 - 这个过程没有捷径,只能穷举猜测,谁的算力大谁猜中的概率大。
- 第一个猜中的矿工广播区块,全网验证通过后,他拿到出块奖励 + 手续费。
验证很快(算一次哈希即可),但寻找答案很慢——这种「难算易验」正是 PoW 的精髓。
优缺点
| 优点 | 缺点 |
|---|---|
| 安全性极高,久经考验(比特币运行十几年没被攻破) | 极其耗电,不环保 |
| 完全去中心化,谁都能参与挖矿 | 性能低(比特币约 7 TPS,出块 10 分钟) |
| 攻击成本极高(需掌握 51% 全网算力) | 算力集中于大矿池,有中心化隐患 |
代表:比特币、以太坊(2022 年合并前)。
3.2 PoS —— 权益证明(Proof of Stake)
一句话理解
谁押的钱多谁记账:不再拼算力,而是拼你质押(锁定)了多少代币,质押越多、越有可能被选中出块。
怎么运作
- 想记账要先**质押(Stake)**一定数量的代币作为保证金。
- 系统按质押量(有时结合随机数、质押时长)选出下一个出块者(验证者 Validator)。
- 出块者验证并打包交易,获得奖励。
- 作恶惩罚(Slashing):如果验证者作弊,质押的钱会被没收——想攻击就得先押一大笔钱,作恶就赔本。
优缺点
| 优点 | 缺点 |
|---|---|
| 省电环保(不用挖矿) | 相对更新,安全性验证时间没 PoW 长 |
| 出块快、性能更高 | 有「富者愈富」的倾向 |
| 攻击者要买大量代币,成本高且砸自己盘 | 早期存在「无利害关系(Nothing at Stake)」等理论问题(现代 PoS 已用惩罚机制解决) |
代表:以太坊(2022 The Merge 后转 PoS)、Cardano。
3.3 DPoS —— 委托权益证明(Delegated Proof of Stake)
一句话理解
代议制民主:币持有者不用自己记账,而是投票选出少数几个「代表」(超级节点)轮流出块。
怎么运作
- 全体持币者投票,选出固定数量(如 21 个)的代表节点 / 超级节点。
- 这些代表轮流出块,效率极高。
- 如果某个代表不干活或作恶,会被投票踢下台,换人上。
优缺点
| 优点 | 缺点 |
|---|---|
| 性能非常高(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 共识机制(了解)

比特币是区块链的「祖师爷」(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. 以太坊原理:账户体系、状态树结构(了解)

如果说比特币是「数字黄金」,以太坊就是「世界计算机」——它在区块链上加了智能合约,能跑程序。为了支持合约,它放弃了 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(账户地址)的前缀组织路径,查找和更新高效,且相同前缀共享路径、节省空间。
以太坊的「三棵树」
每个区块头里存着三个树根,指向三类状态:
- State Trie(状态树):全网所有账户的当前状态(余额、nonce、代码、存储根)。全局唯一,随每个块更新。
- Transaction Trie(交易树):这个区块里打包的所有交易。
- 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 → 实战项目。先建立整体认知,再逐层深入。