Type DeFi 伯克利公开课
Created Jan 11, 2026, 19:56:57 / Updated Feb 05, 2026, 22:46:40
Views — / Comments — / Words 3,355
本节课程深入解析区块链的四层结构,详细介绍哈希函数、默克尔树、数字签名等核心密码学工具,并探讨支付通道、Rollup 等扩容方案及跨链互操作性。
系列:DeFi 伯克利公开课
提示|鸣谢
本文由 Dapp Learning 团队精心整理,诚挚感谢其对优质内容的分享与贡献。
在上一节建立对 DeFi 基本概念的认识之后,第二节课将视角进一步下沉,系统性地解释区块链为何能够在“缺乏信任”的环境中稳定运行,以及支撑这一切的技术逻辑从何而来。
本节课程从适用场景出发,逐层拆解区块链的整体结构:共识如何确定唯一状态,链上计算如何实现可验证的状态转换,智能合约与应用如何在此之上安全运行,以及用户最终如何与链上系统交互。在此基础上,课程重点引入区块链中最核心的密码学工具——哈希函数、默克尔树与数字签名,帮助你理解它们是如何成为去中心化系统的技术基石。
进一步,课程将视线延伸至现实约束之下的工程问题,深入讲解支付通道、Rollup 等扩容方案,以及不同区块链之间实现资产与状态流通的互操作机制。
在认识区块链的技术细节之前,我们必须先知道:区块链究竟适用什么场景,它适合解决什么样的问题?
请设想这样一个场景:有多方参与,任何参与者之间都不互相信任,同时也不存在一个所有人都愿意信任的中心化第三方,但是大家仍然希望能够 维护一个共同的系统状态,这个系统可以完成记录数据、转移资产、执行一套公开的规则等一些基本事情。
这便是最适用区块链的场景,它能够解决的问题是:没有单一可信方时,多方如何协作。
如果一个多方场景中,存在可信中介,那么通常不需要用到区块链。值得一提的是:金融系统通常没有可信第三方,大家互为交易对手。

区块链是一个复杂的技术系统,为了更清楚地理解它,课程将其分为一个四层结构,分别理解每一部分的功能,以及它们如何协同工作。

本质上讲,“共识”保证了一个非常关键的数据结构,这个结构:任何人可公开参与,数据仅可追加、不可删除或篡改,具有持久性。(已假设不存在 51% 攻击、参与者是诚实的)
通过理解达成共识的过程,我们就可以理解区块 (blocks) 如何被添加到链 (chain) 上。
共识决定:链上“现在的状态是什么”。
基于共识机制,我们可以放心地写一些程序以实现区块链的“状态转换”了,任何人都可以验证这个状态转换是否有效。 这些运行在区块链上的程序,即 DApp 的编写逻辑,它的规则是源码公开、信任透明的,具备 公共可验证性。我们也可以把这一层称为 区块链计算机。
区块链程序是一个状态机,每次状态变化都写入链上。它的核心优势是不用信任任何人,只需验证链上数据。
第三层是 APP 层,主要指在区块链计算机上运行的去中心化应用和智能合约,比如 DeFi 程序——Uniswap(去中心化交易所)、Compound(借贷协议)、MakerDAO(稳定币系统)等等。 区块链程序的代码和执行过程 完全公开,管理着数十亿美金资产,因此代码安全极为重要。
最后一层是终端用户与云服务器的交互层 / UI 层,它实际实现了:从用户获取命令,向链上读、写数据。即,用户通过使用 UI 工具,实现和链上程序的交互。
在区块链技术系统中,密码学的应用无处不在。哈希函数是区块链最基础的密码学工具,主要用于解决“如何在区块链上承诺 (commit) 大量数据”的问题。
哈希函数 是一种将任意长度输入数据映射为固定长度输出值的密码学函数,即:输入任意长度的数据 ,可以得到固定长度的 32 字节(=256 bits)的输出 。
说明|哈希函数的关键性质
- 抗碰撞性 (Collision Resistance):很难找到 ,但 。
- 确定性:相同输入一定得到相同输出。
- 抗篡改性 (敏感性):输入哪怕发生极小变化,输出也会完全不同。
- 不可逆性:从哈希值无法有效反推出原始输入。

Dan Boneh 老师举了个例子:Alice 有一个大文件 ,她发布了一个哈希值 。随后她发送消息 ,如果 ,Bob 就可以确定 。因此,我们可以把 称作一个对于 来说具有约束力的承诺。
注意|哈希不是隐私保护
可能会泄漏关于原始数据 的信息。哈希函数只能承诺某个结果,但不能隐藏数据本身的结构或含义,也不提供零知识保证。 此外,哈希 证明计算正确。哈希不能证明过程正确,而 SNARK 可以。
现在的目标是要对包含多条消息的清单 进行承诺(例如一个区块里的多条交易)。

实现这个承诺的关键方法,就是使用 默克尔树 (Merkle Tree)。
默克尔树是一种基于哈希函数构建的树状数据结构,用于实现 大量数据的局部可验证性。

结构与验证过程: 一个默克尔树可以有 个叶子节点(原始数据),两两哈希向上组合,最终形成一个 Merkle Root。
例如,要证明 在树中:

提示|Merkle Tree 的优势
- 承诺大小:始终只有 32 bytes (Root)。
- 证明大小:。
- 验证成本: 次 Hash。
区块链本质上就是一串 Merkle Root 承诺。区块链 = Merkle Root + Hash Chain。
数字签名在区块链中承担的是 授权 (authorization) 的功能。它解决的问题是:谁有权发起一笔交易,以及如何防止他人伪造或篡改交易内容。
一笔区块链交易的本质,并不是“转账”这个动作本身,而是:某个账户的私钥持有者,对一次状态变更的明确授权。

数字签名系统由三个算法组成:

签名在区块链的三大用途:
为什么需要扩容 (Scaling)? 因为当前区块链处理交易的速度太慢了,且手续费高昂。

主要的扩容方案包括:更快的共识机制、支付通道、L2 方案、侧链。

支付通道的基本思想是:只在必要的时候使用区块链,大部分交易都在链下完成。
案例:Alice 每天去 Bob 咖啡店买咖啡

闪电网络 (Lightning Network) 就是由无数个支付通道组成的网络,支持比特币的日常支付需求。
Rollup 的核心思想:把大量交易的执行过程放到链下完成,只把一个“可验证的状态承诺”放到链上。引入了新角色:协调者 (Coordinator)。
SNARK 证明做的事情是:证明者向验证者证明 “我知道一个私密输入 ,使得公开程序 为真”,而验证者不需要知道 。


这个过程将成千上万笔交易压缩成了一个可验证的承诺。


说明|两种 Rollup 的核心区别
- zkRollup:用 SNARK 密码学证明正确性。协调者提交新状态时必须附带数学证明。
- Optimistic Rollup:假设正确,允许质疑。协调者只需提交数据,不提交证明。依靠 欺诈证明 (Fraud Proof) 机制——如果有人发现造假,可在挑战期内举报并获得奖励。
Rollup 的数据存储在哪?

如何让 Bitcoin、Ethereum、Solana 等独立区块链互相通信? 重点介绍 跨链桥 (Bridge)。
以“将 Bitcoin 引入 Ethereum”为例(Wrapped Bitcoin):

如果两条链都支持智能合约,可以使用 SNARK 证明来构建无需信任的桥,而不依赖特定的验证者联盟。

在这节课中,我们从基础密码学工具出发,逐步构建了区块链系统的整体技术图景:
整节课的核心思想是:用密码学与系统设计,在不依赖可信第三方的前提下,实现可验证的协作。
拓展阅读
课程链接
YouTube
Comments
Notes, questions, and follow-ups are welcome here.