智能物流信息技术教材网站

第12章 区块链

学习目标

  1. 理解数字货币与传统电子货币的本质区别,掌握比特币解决“双重支付”问题的思路。
  2. 了解哈希算法、非对称加密与数字签名的基本原理,理解区块链背后的密码学基础。
  3. 理解UTXO模型与点对点交易的运作方式,认识比特币“可编程货币”的设计理念。
  4. 理解工作量证明机制的原理与经济激励结构。
  5. 了解以太坊的设计目标、账户模型与智能合约的基本概念。
  6. 区分公有链、私有链与联盟链的概念与适用场景。

引言

2008年,全球金融危机席卷各大经济体,公众对传统金融机构的信任遭受前所未有的冲击。就在这一年,一位化名“中本聪”(Satoshi Nakamoto)的神秘人物发表了一篇题为《比特币:一种点对点的电子现金系统》的论文,首次在无需中央信任机构的前提下,实现了数字世界中价值的安全转移。为了防止电子现金被无限复制和重复花费,中本聪将密码学哈希函数、非对称加密算法、点对点网络以及基于博弈论的工作量证明共识机制有机融合,构筑了一种被后人称为“区块链”(blockchain)的分布式共享账本。

区块链的本质是一个由密码学技术保障、按时间顺序追加且难以篡改的分布式数据库。随着技术的演进,区块链从最初仅支持数字货币转账的1.0时代(以比特币为代表),发展到支持图灵完备智能合约的2.0时代(以以太坊为代表),并在去中心化金融、供应链溯源、数字身份认证、跨机构协同等领域展现出广泛的应用潜力。本章将从比特币的诞生讲起,逐步介绍区块链的核心原理、以太坊的重要创新,以及不同类型区块链的分类与应用场景,帮助读者建立对这一领域的系统认识。

12.1 比特币是什么

三千多年前,部落之间做买卖靠的是物物交换,即我有你要的粮食,你有我要的皮毛,双方凑巧都满意,交易才能成立。但这种“双重巧合”效率太低,于是人们开始寻找一种大家都愿意接受的“一般等价物”作为交换的中介。贝壳是最早的候选者,后来随着冶炼技术进步,铜、铁乃至金银逐渐取代了贝壳,成为主流的金属货币。金属货币虽然解决了交换效率问题,却因为沉重、不便携带而难以支撑日益扩大的贸易规模,于是纸币应运而生。纸币的发行天然需要一个强有力的机构来背书和推广,这也是纸币又被称为“法币”的原因:它的价值不是来自纸张本身,而是来自发行者的信用。

进入计算机时代之后,纸币经历了又一次形态上的转变。银行用计算机系统取代了人工记账,我们习以为常的网银、支付宝、微信支付,本质上都是纸币的电子化,账户里的数字仍然是央行发行的法币,只是流通形式从纸张变成了银行服务器里的一条记录。这种“电子货币”虽然极大提升了支付效率,却并没有改变货币体系的底层结构:依然需要信任银行不会篡改你的余额,需要一个中心化机构作为交易的裁判。

比特币是人类历史上第一种不依赖任何中央信任机构、完全依靠密码学原理构建的数字货币系统。中本聪在白皮书中把比特币定义为“一种点对点的电子现金系统”。数字信息可以无限复制,如果把100元现金变成一份数字文件通过互联网发给别人,谁能保证发送者手里的副本被真正“删除”,而不是被重复使用?这就是所谓的“双重支付”问题。传统的解决办法是引入银行作为中央账本的记录者,由银行保证同一笔钱不会被花两次。比特币要做的,是在没有银行、没有任何人被特别信任的情况下解决同样的问题。

传统支付与比特币的对比

传统支付路径:用户A → 银行(中心化账本:验证余额、扣减A、增加B) → 用户B 比特币支付路径:用户A → 全网广播交易(附带数字签名) → 分布式节点共同验证并记账 → 用户B 关键区别在于:传统支付依赖一个被所有人信任的中心机构来裁定“这笔钱到底归谁”,而比特币则由全网节点按照公开协议共同维护一本谁都可以查看的账本。

2008年10月,全球发生金融危机,雷曼兄弟刚刚破产不久,一个以中本聪(Satoshi Nakamoto)为化名的神秘人物,在一个密码学爱好者聚集的邮件列表上发布了一篇题为《比特币:一种点对点的电子现金系统》的论文,这篇文章后来被公认为比特币的白皮书。一个月后,中本聪发布了比特币的第一版代码;到了2009年1月3日,他亲自挖出了比特币网络的第一个区块,也就是所谓的"创世区块",比特币网络自此正式运行。中本聪的真实身份至今是一个未解之谜,他在项目运行的头两年里持续与开发者社区互动,随后在2010年底逐渐淡出,此后再未公开露面,留下的比特币据估计有上百万枚,从未被动用过。

从一枚几乎一文不值的实验性代币,到今天动辄以万亿美元计的资产类别,比特币经历过多轮暴涨暴跌:2017年底第一次冲上近2万美元又迅速腰斩,2021年底突破6.9万美元后又跌回1.6万美元附近,2024到2025年在美国现货ETF获批、机构资金大举进场的推动下再创新高,历史最高价一度逼近12.6万美元,整体市值在2026年一度接近两万亿美元的量级,这种剧烈波动使得比特币至今仍是一种高风险、高不确定性的资产。

12.2 账本为何难以被篡改

🎬 教学动画:哈希链与工作量证明(2:38)

比特币解决双重支付问题的核心工具叫区块链——一个不断增长、由全网共同维护并互相校验的公开账本。要理解区块链为什么难以被篡改,得先理解一种基础的密码学工具:哈希算法。

哈希算法是一种单向函数,它能把任意长度的输入数据转换成一段固定长度的输出,这段输出通常被称为"哈希值"或"摘要"。一个安全的哈希算法需要满足几个条件:从输入推算输出很容易,反过来从输出反推输入却几乎不可能,只能靠暴力穷举;不同的输入几乎不可能得到相同的输出(这被称为抗碰撞性);输入哪怕只改动一个比特,输出也会变得面目全非,不存在任何规律可循。正是这种"雪崩效应",让哈希值成为验证数据完整性的理想工具——我们下载软件时常常会看到官方网站给出一串MD5或SHA-256校验码,本质上就是利用了这个原理:只要两份数据的哈希值相同,就几乎可以百分之百确定这两份数据是完全一致的,任何篡改都会导致哈希值发生改变。比特币主要使用SHA-256和RIPEMD160这两种哈希算法,其中SHA-256的输出是256位,理论碰撞概率低到以现有算力在可预见的未来内几乎不可能被暴力破解。

HashAlgorithm input 输入(任意长度) sha256 SHA-256 哈希函数 input->sha256 hello "Hello" hello->sha256 hello_exclamation "Hello!" hello_exclamation->sha256 movie 一部完整的电影文件 (可能达到几 GB) movie->sha256 output 输出(固定 256 位) sha256->output hash1 185f8db32271fe25f561a6 fc938b2e264306ec304 eda518007d1764826381969 sha256->hash1 hash2 334d016f755cd6dc58c53a 86e183882f8ec14f52f b05345887c8a5edd42c87b7 sha256->hash2 hash3 a7f3c1d8e9b2046f71a8... (共 64 个十六进制字符) sha256->hash3

图12-1 哈希算法的工作原理示意

示例:验证哈希算法

读者可以在任意一台安装了Python的电脑上,打开命令行输入以下代码,亲自感受哈希的"雪崩效应":

import hashlib
text1 = "区块链技术"
text2 = "区块链技木"  # 仅将"术"改为"木"
hash1 = hashlib.sha256(text1.encode('utf-8')).hexdigest()
hash2 = hashlib.sha256(text2.encode('utf-8')).hexdigest()
print(f"输入1: {text1}\n哈希1: {hash1}")
print(f"输入2: {text2}\n哈希2: {hash2}")

运行后发现,两个仅有一字之差的输入,产生的哈希值截然不同,这就是哈希算法检测数据篡改的能力。

比特币区块链正是建立在这一性质之上的。每一个区块记录着一批交易,这些交易的哈希值会通过一种叫做"Merkle树"的结构层层汇总,最终生成一个统一的"Merkle哈希",写入区块头部——只要区块内任何一笔交易被修改哪怕一个字节,或者交易的顺序被调换,重新计算出的Merkle哈希都会与区块头中记录的值对不上,从而暴露篡改行为。区块头本身除了Merkle哈希,还记录着上一个区块的哈希值,这样一来,每个区块都通过"指向前一个区块"的方式串联起来,形成一条链。区块自身的哈希(Block Hash)并不是随意计算的,而是要满足一个动态调整的难度目标,这个过程称为"挖矿"。这里的关键在于:如果有人想篡改某个历史区块中的一笔交易,他不仅要重新计算该区块的哈希,还必须重新计算这个区块之后所有区块的哈希——因为每个区块都依赖前一个区块的哈希才能保持链条完整。而重新计算区块哈希需要付出真实的计算成本,链条越长、算力门槛越高,篡改历史的难度会随着时间推移不断上升。这正是区块链"不可篡改"背后的真实机制:它不是靠某种神奇的加密魔法让篡改在技术上不可能,而是让篡改在经济上变得极其昂贵、几乎不划算。

BlockchainChain block100                     区块 #100                 前一区块哈希: 0x0000... ────────────── Merkle 根哈希 时间戳 难度目标 Nonce ────────────── 交易 1 交易 2 ...                     Hash(#100)                 block101                     区块 #101                 前一区块哈希:                     Hash(#100)                 ────────────── Merkle 根哈希 时间戳 难度目标 Nonce ────────────── 交易 1 交易 2 ...                     Hash(#101)                 block100->block101  Hash(#100) block102                     区块 #102                 前一区块哈希:                     Hash(#101)                 ────────────── Merkle 根哈希 时间戳 难度目标 Nonce ────────────── 交易 1 交易 2 ...                     Hash(#102)                 block101->block102  Hash(#101)

图12-2 区块链的链式结构

每个区块的头部都记录着前一个区块的哈希值,形成一条由密码学保护的链条。篡改区块#100中的任何数据,会导致其哈希值改变,进而使区块#101中记录的"前一区块哈希"对不上,整条链从篡改点之后全部失效。

12.3 非对称加密与数字签名

哈希算法解决了“数据有没有被改过”的问题,但比特币还需要解决另一个问题:如何证明一笔转账确实是资产所有者本人发起的,同时又不需要一个中央机构来核实身份。这靠的是非对称加密和数字签名技术。

每个比特币用户都可以自行生成一对密钥:一把私钥和一把公钥。私钥本质上是一个随机产生的256位整数,必须由持有者严格保密,一旦泄露,对应的比特币就可能被他人转走且无法追回;公钥则是根据私钥、通过一种叫做椭圆曲线数字签名算法(ECDSA)的数学方法推算出来的,可以放心地公开给任何人。这对密钥之间存在一种巧妙的不对称性:从私钥推算公钥非常容易,但反过来从公钥推算私钥在计算上却是不可行的,这正是整个系统安全性的基石。

当你想要花费一笔比特币时,你需要用自己的私钥对这笔交易进行"签名"。任何人拿到你的公钥,都可以验证这个签名确实是由对应的私钥生成的,却不需要知道私钥本身是什么。这个机制带来三重保障:签名无法被伪造,因为只有私钥持有人才能生成有效签名;交易内容一旦被篡改,签名验证就会失败,所以消息不可被篡改;而一旦签名通过验证,签名人也无法抵赖自己确实发起过这笔交易。这三点——防伪造、防篡改、防抵赖——正是数字签名之所以能够替代银行信用背书的原因。

值得一提的是,比特币的"地址"并不等同于公钥本身,而是公钥经过哈希运算后再编码得到的一串字符,这样做既缩短了地址长度,也让攻击者即便看到你的收款地址,也无法直接推算出你的公钥(只有当你花费某个地址上的资金时,公钥才会被公开)。日常使用中,普通用户既不需要背诵一长串私钥,也很少需要为每一次转账管理不同的密钥——现代钱包软件普遍采用"分层确定性钱包"(HD钱包)技术,用户只需要牢记一组由十几到二十几个常用单词组成的"助记词",软件就可以据此推算出几乎无限数量的地址。这套设计极大地方便了密钥管理,但私钥或助记词一旦遗失,对应的比特币就永久无法找回;反之,一旦泄露,任何人都可以在你毫不知情的情况下把钱转走。这种"自己对自己的资产完全负责"的模式,正是比特币"去中心化"承诺的另一面。

12.4 UTXO与点对点交易

传统银行系统的核心是“账户”:银行记录着每个账户当前的余额,转账就是给一个账户加钱、给另一个账户减钱。比特币完全抛弃了这套账户逻辑,转而采用未花费交易输出(Unspent Transaction Output,UTXO)模型。

在比特币的世界里,并不存在一个记录"某地址有多少钱"的中心化余额表。每一笔交易由若干个"输入"和若干个"输出"构成:输入指向此前某笔交易尚未被花费的输出,输出则规定了这笔钱接下来归谁所有。比特币协议要求一个输出必须被一次性花完,这就带来了"找零"的概念——如果你手头有一笔50个比特币的收入,只想花掉2个,那么这笔交易实际上会产生两个输出:2个比特币转给对方,剩下的48个比特币重新转回给自己,作为找零。同样地,如果你手头有两笔零散的收入需要合并使用,一笔交易也可以对应多个输入。当输入总额略大于输出总额时,中间的差额就成了隐含的"矿工费",作为对打包这笔交易的矿工的额外激励。

图12-3 UTXO模型与

图12-3 UTXO模型与“找零”机制示意

要判断自己一共拥有多少比特币,实际上无法像查银行余额那样直接得到答案,而必须把所有指向自己地址、尚未被花费的输出加总起来——这也是为什么钱包软件在首次导入密钥时,往往需要先扫描一遍整条区块链才能显示余额。这种设计乍看繁琐,实则带来了一个重要的好处:整条区块链记录的是一连串不可逆的"修改日志",而不是某个可以被随意改写的"当前状态",这与传统数据库有着本质的不同,也进一步强化了账本的可追溯性和抗篡改能力。

从技术实现的角度看,比特币的转账并不是直接把钱打到一个地址,而是附带了一小段可执行的脚本:交易的输出规定了"谁能提供满足条件的解锁脚本,谁就可以花掉这笔钱",最常见的情形是"提供与地址匹配的公钥,并给出有效签名",但脚本语言本身具备一定的可编程性,可以构造出更复杂的花费条件。其中一个在现实世界中被广泛使用的例子是多重签名(multisig):一笔资金可以被设定为"三把私钥中至少两把同意签名才能动用",这种机制常被交易所、机构托管方或家庭资产规划采用,用来分散单一私钥丢失或被盗带来的风险。正是这种"通过程序而非人工审核来决定资金能否转移"的设计,让比特币的支付常被称为"可编程货币",也为后来以太坊等平台上更复杂的智能合约埋下了概念上的伏笔。

12.5 工作量证明

区块链保证了账本一旦写入就难以篡改,但还留下一个问题没有解决:谁有资格把新的一批交易写进账本,谁又能因此获得记账权对应的比特币奖励?如果任由参与者自行宣称“这个区块该由我来打包”,系统显然会立刻失控。比特币给出的答案是工作量证明机制(Proof of Work,PoW),也就是通常所说的“挖矿”。

工作量证明的核心思路是:设计一个计算上很困难、验证上却很容易的任务,谁先完成这个任务,谁就获得记账权,而其他所有节点都可以迅速核实这个答案是否有效。比特币选用的具体任务是不断尝试一个叫做"nonce"的数值,并将其代入区块头部数据一起计算哈希,直到算出的哈希值满足某个预先设定的难度目标——通常表现为哈希值前面要有足够多的零。由于哈希函数的输出在数学上是不可预测的,矿工没有任何捷径,只能靠反复尝试、拼算力去"撞"出符合条件的答案,这个过程本身就构成了一种可以被公开验证的"工作量"证明:只要某个矿工找到了合格的哈希值,其他所有节点都能在一瞬间验证这个答案是否有效,而无需重复矿工付出的全部计算。

图12-4 工作量证明(挖矿)过程示意

图12-4 工作量证明(挖矿)过程示意

寻找答案极其困难,需要数十亿次尝试,但是验证答案极其容易,其他节点只需用这个nonce计算一次哈希,即可确认结果是否有效。

比特币网络的难度会动态调整,目标是让全网平均每十分钟产生一个新区块,无论全网算力如何增减,出块速度都会通过难度调整维持在这个大致水平上。当某位矿工率先算出合格答案,他会立刻向全网广播新区块,其他节点验证通过后就会将其接入链条,同时放弃自己手头正在计算的区块,转而竞争下一个区块——这也解释了为什么区块链有时会出现短暂的"分叉":两个矿工几乎同时找到了有效区块,网络会暂时出现两条并行的链,但比特币规定所有节点应当始终选择并延续最长的那条链,落败的分叉会被放弃,因此一笔交易被写入区块后,通常需要再等待若干个后续区块的确认,才能被认为几乎不可逆——业界通行的惯例是六次确认,大约对应一个小时。

打包区块的经济激励来自两部分:新发行的比特币奖励(也叫区块补贴),以及区块内所有交易的手续费之和。比特币在设计之初就规定,区块补贴会每产出21万个区块(大约四年)减半一次:2009年创世之初每个区块奖励50枚,2012年降至25枚,2016年降至12.5枚,2020年降至6.25枚,最近一次是在2024年4月,降至3.125枚,下一次减半预计发生在2028年前后,届时将降至1.5625枚。这个减半机制会一直持续到大约2140年,届时新增比特币供应将趋近于零,总供应量被严格锁定在略低于2100万枚的水平——此后矿工的收入将完全依赖交易手续费。这种提前写入协议、任何人都无法擅自更改的发行节奏,正是比特币常被拿来与黄金类比、称为"数字黄金"的重要原因:它的通胀率是可预测且逐渐趋零的,不受任何央行的货币政策左右。

表12-1 比特币区块奖励减半时间线

减半次数 大致时间 每区块奖励 累计已发行占比(约)
创世 2009年1月 50 BTC —
第1次 2012年11月 25 BTC ≈50%
第2次 2016年7月 12.5 BTC ≈75%
第3次 2020年5月 6.25 BTC ≈87.5%
第4次 2024年4月 3.125 BTC ≈93.75%
第5次 ≈2028年 1.5625 BTC ≈96.875%
... ... 持续减半... 趋近100%
最终 ≈2140年 趋近于0 上限:≈2100万枚

需要指出的是,早期比特币挖矿可以用普通电脑的CPU完成,但随着全网算力指数级增长,如今挖矿已经完全被专用集成电路芯片(ASIC)构建的大型矿场和矿池所主导,个人用普通设备挖矿的成功率几乎为零。这也把我们带向了比特币最受争议的话题之一:挖矿背后巨大的电力消耗,我们会在下一节详细讨论。

12.6 挑战与批评

比特币最受关注的批评之一是能源消耗。工作量证明机制的安全性,本质上建立在"算力越大、篡改越难"这个假设之上,这意味着全网需要持续消耗大量真实的电力去维持挖矿竞赛。据剑桥大学等机构的估算,比特币网络的年耗电量长期维持在一百多太瓦时的量级,大致相当于一个中等规模国家的全年用电总量,这也是比特币最常被环保主义者诟病的地方。支持者的反驳意见通常是:相当比例的挖矿产能已经转向水电、太阳能等可再生能源或原本会被浪费掉的富余电力,且比特币能耗占全球电力消耗的比重其实相对有限;但无论如何,能源消耗是评估比特币社会成本时无法回避的一个现实变量。

第二个问题是价格波动性。比特币在过去几年里多次出现几个月内翻倍又腰斩的行情,这种波动固然为投机者提供了获利空间,却也严重削弱了它作为"日常支付货币"的实用性——很少有人愿意用一种明天可能贬值两成的资产去支付房租或买菜。这也是为什么围绕比特币的讨论逐渐从"它能不能取代日常货币"转向"它能不能扮演类似黄金的价值储存资产"。

第三,比特币交易的匿名性也常常被拿来与非法活动联系在一起,例如洗钱、勒索软件赎金支付、暗网交易等。需要澄清的一点是,比特币准确来说是"假名"而非完全匿名——每一笔交易和每一个地址的资金流向都被永久记录在公开账本上,执法机构和链上分析公司近年来已经能够通过交易图谱分析追踪并破获相当数量的加密货币犯罪案件,这与很多人直觉中"比特币无法追踪"的印象其实有出入;但不可否认,比特币确实为跨境资金流动提供了一条监管相对薄弱的通道,这也是各国监管机构持续加强合规要求的重要原因。

第四,比特币的交易处理能力天然有限,全网每秒大约只能处理个位数笔交易,远低于传统支付网络的处理能力,这也是"闪电网络"等第二层扩容方案被提出的初衷——通过在链下建立支付通道网络,把大量小额、高频的交易挪到链下完成,只在必要时才与主链结算,从而在不牺牲主链安全性的前提下提升整体吞吐量。不过这类方案目前仍处于持续发展和优化阶段,尚未从根本上改变比特币主链本身的性能瓶颈。

表12-2 比特币交易处理能力对比

支付网络 每秒处理交易数(TPS) 确认时间
比特币主链 ≈3~7 ≈10分钟~1小时
比特币闪电网络 理论可达数百万 秒级
Visa网络 ≈1,700(日常) 秒级
支付宝 峰值超过50万 秒级

最后,一个近两年逐渐从理论走向公众视野的新议题,是量子计算对比特币加密体系的潜在威胁。比特币的签名机制依赖于椭圆曲线加密算法,理论上一旦出现足够强大、稳定的量子计算机,是有可能利用算法反推出私钥。比特币开发者社区已经在讨论抗量子签名算法的升级方案,但相关提案目前仍停留在早期阶段,尚未进入正式实施流程,与以太坊等同类项目相比,比特币在应对这一长期风险上的准备工作相对滞后。

12.7 以太坊

比特币的脚本语言被刻意设计得功能有限:它不支持循环,不支持复杂的条件分支,能做的事情基本局限于“验证签名、转移代币”。这种克制使得比特币简单、可预期、攻击面极小,但也因此功能单一。如果我们想让这套无需信任中介的账本,不只用来记录“谁给了谁多少钱”,而是承载更复杂的逻辑,例如一份自动执行的贷款合同、一场无需裁判的众筹或一个完全运行在链上的交易所,比特币的脚本语言就不够用。

2013年,年仅19岁的俄裔加拿大程序员Vitalik Buterin(中文社区常称他"V神")敏锐地意识到比特币脚本的局限性,并提议将其扩展为一个"图灵完备"的编程环境——所谓图灵完备,简单理解就是理论上可以用它编写任何可计算的程序。然而这个提议没有获得比特币开发社区的认同,比特币社区更倾向于保持协议的简单与稳定。于是Vitalik决定另起炉灶,撰写了以太坊的白皮书,提出打造一个从底层就支持通用智能合约的新公链。这个项目在2014年通过众筹完成早期融资,2015年7月正式上线运行。

12.7.1 智能合约

以太坊最核心的创新,是引入了"智能合约"的概念。所谓智能合约,并不是法律意义上的合同,而是一段部署在区块链上、一旦满足预设条件就会自动执行的程序代码。你可以把它想象成一台放在区块链上的自动售货机:任何人投入指定的代币、满足指定的条件,机器就会按照预先编好的逻辑自动完成操作,整个过程不需要任何人在中间审批或干预。

示例:一个简化的众筹智能合约逻辑 假设有人想在以太坊上发起一个众筹项目,规则如下:

  • 目标金额:100 ETH;截止时间:30天后
  • 如果30天内筹集到100 ETH,资金自动转给项目方
  • 如果30天内未达标,所有参与者可以自动取回各自的投入

这套规则被写成一段智能合约代码,部署到以太坊上之后,任何人都可以查看代码逻辑、向合约地址转入以太币参与众筹。到期时,合约会根据筹集结果自动执行对应的操作——项目方拿不到一分钱,除非真正达到了众筹目标。没有中间人,没有"卷款跑路"的空间(前提是合约代码本身没有漏洞)。

智能合约的开发主要使用一种名为Solidity的高级编程语言,编写好的代码会被编译成以太坊虚拟机(EVM)能够理解的字节码,然后部署到链上。以太坊虚拟机就像一台运行在全球数千个节点上的"世界计算机"——每个节点都独立执行同样的合约代码,确保结果完全一致。正是这种"代码一旦部署就公开透明、任何人都可以验证、执行结果不受任何单一方控制"的特性,让智能合约在去中心化金融(DeFi)、代币发行、数字身份、投票治理等领域催生了大量创新应用。

12.7.2 账户余额模型

在账本结构上,以太坊做出了与比特币截然不同的选择。比特币采用的UTXO模型,没有"账户余额"这回事,你拥有的比特币实际上是散落在区块链各处、尚未被花费的一笔笔"输出",钱包软件必须把它们全部找出来加总,才能告诉你余额是多少。这套模型虽然有利于并行验证和隐私保护,但对普通用户并不直观。

以太坊选择了一种更贴近日常经验的账户余额模型:每个账户都有一个明确的余额数字,转账就是直接给发送方减钱、给接收方加钱,这与我们使用银行账户的体验几乎一模一样。以太坊的账户分为两类:一类是由用户私钥控制的外部账户,和比特币的地址功能类似;另一类是合约账户,它没有对应的私钥,不归属于任何自然人,而是由部署在其上的智能合约代码来控制——当外部账户向合约账户发送一笔交易时,就会触发合约代码的执行。

12.7.3 Gas机制

图灵完备的编程环境带来了巨大的灵活性,也带来了一个经典的计算机科学难题:如果一段合约代码写了死循环,全网所有节点岂不是要永远卡住?以太坊用一种叫做"Gas"的机制来解决这个问题。每一条虚拟机指令都被标注了一个Gas消耗量——简单的加减运算消耗很少,而写入永久存储的操作则消耗很多。用户每发起一笔交易,都需要预先支付Gas费用;如果执行过程中Gas耗尽,交易会自动终止并回滚,已消耗的Gas不会退还。这样一来,任何试图让网络执行无限循环或极端复杂计算的行为,都会因为Gas耗尽而被自动截断,不会拖累整个网络。Gas费用以以太坊的原生代币ETH(以太币)支付,这也使得ETH不仅是一种可交易的数字资产,更是驱动整个以太坊生态运转的"燃料"。

12.7.4 以太坊的共识机制转型

以太坊在诞生之初和比特币一样,采用工作量证明(PoW)机制来决定谁有权打包新区块。但以太坊社区从一开始就把转向权益证明(Proof of Stake,PoS)列为长期路线图的核心目标。2022年9月,以太坊完成了一次被称为"The Merge"(合并)的历史性升级,正式从工作量证明切换到权益证明机制,完成加密行业迄今为止最复杂的一次系统迁移。

权益证明的基本思路是:不再让矿工用电力和算力去竞争记账权,而是让持有以太币的用户把自己的代币"质押"到网络中作为押金,系统从质押者中随机选出一位来提议新区块,其他质押者对区块的有效性进行投票确认。如果被选中的质押者试图作恶——比如提议一个包含虚假交易的区块——他质押的以太币会被系统罚没,这种经济惩罚机制被称为"罚没"(slashing)。整个过程不需要消耗大量电力去做无意义的哈希计算,以太坊官方数据显示,转向权益证明之后,网络的能源消耗降低了约99.95%。

表12-3 工作量证明与权益证明对比

对比维度 工作量证明(PoW) 权益证明(PoS)
记账权获取 算力竞争(谁先算出答案) 质押代币 + 随机选举
安全保障 篡改需要超过全网51%算力 作恶者的质押资金会被罚没
能源消耗 极高(需大量矿机持续运算) 极低(普通服务器即可运行)
参与门槛 需要专用矿机和廉价电力 质押32 ETH即可成为验证者
代表项目 比特币 以太坊(2022年后)

12.7.5 DAO事件

以太坊历史上最具争议的事件发生在2016年。一个名为"The DAO"的去中心化自治组织通过智能合约众筹了价值约1.5亿美元的以太币,却因为合约代码中存在一个被称为"重入攻击"的漏洞,被黑客盗走了约三分之一的资金。面对这场灾难,以太坊社区经过激烈辩论,最终选择通过一次硬分叉来"回滚"这笔被盗交易,等于用社区共识的力量强行改写了账本历史。这个决定虽然挽回了大部分损失,却也导致社区分裂——一部分坚持"代码即法律、账本不应被人为修改"的成员拒绝接受分叉,继续维护原来的链,形成了今天仍在运行的"以太坊经典"(Ethereum Classic)。

这一事件揭示了智能合约安全的重要性:图灵完备的表达能力意味着更大的攻击面,代码中的每一个漏洞都可能造成真实的经济损失,且在区块链上一旦执行就难以撤回。这也是为什么智能合约的安全审计在今天已经发展成一个专门的行业。

12.7.6 以太坊的生态与近况

经过十年的发展,以太坊已经成为全球最大的智能合约平台。截至2026年,以太坊承载着全球去中心化金融领域半数以上的锁仓资产,以及全球稳定币供应量的相当份额。在应用层面,代币发行(如ERC-20标准代币)、去中心化交易所(DEX)、借贷协议、数字藏品(NFT)等创新几乎都起源于以太坊生态。近两年,包括贝莱德在内的多家传统资管巨头已开始在以太坊上探索现实世界资产的代币化——将国债、基金份额等传统金融资产搬上链,这标志着以太坊正从一个纯粹的加密原生平台,逐步向更广泛的金融基础设施角色演进。

不过,和比特币一样,以太坊也面临自己的挑战。智能合约的安全风险始终是一个不容忽视的隐患;权益证明机制虽然解决了能耗问题,却带来了新的中心化风险——大量以太币的质押集中在少数几家大型机构手中;为了解决主链的拥堵问题而发展起来的二层网络(Layer 2)生态,也存在排序器中心化等亟待解决的治理难题。以太坊的演进还在继续,它的未来方向仍充满不确定性。

12.8 比特币与以太坊的比较

比特币和以太坊虽然共享着同一套密码学根基,却在几乎所有关键的设计取舍上走向了两种截然不同的方向。

比特币追求的是极致的简单和可预期性。UTXO模型对开发者不够友好,却让资金流转的逻辑纯粹到几乎可以用数学来证明;脚本语言被刻意限制功能,换来了极低的攻击面;发行曲线在创世区块里就已写死,此后十几年几乎未被触碰;协议升级极其谨慎,任何一次改动都要经历漫长的社区博弈。这套哲学服务于一个明确的目标:把比特币打造成一种类似黄金的、值得被长期信任的价值储存工具——"无聊"和"稳定"本身就是它的核心竞争力。

以太坊追求的则是表达能力和适应性。账户模型更贴近人类直觉;图灵完备的智能合约赋予了开发者近乎无限的想象空间;面对The DAO事件这样的系统性危机,社区愿意通过硬分叉主动纠错,即便代价是社区分裂;面对性能瓶颈,选择拥抱一个多层级、允许不同技术路线并存竞争的复杂生态;就连最根本的共识机制和货币发行政策,也在过去十年里发生了根本性的转变。目标是把以太坊打造成一台持续进化的"世界计算机",为几乎任何可以被代码表达的经济活动提供底层基础设施。

表12-4 比特币与以太坊核心差异对比

对比维度 比特币 以太坊
诞生时间 2009年 2015年
创始人 中本聪(匿名) Vitalik Buterin(公开、活跃)
核心定位 点对点电子现金/数字黄金 可编程的智能合约平台
账本模型 UTXO(无账户概念) 账户余额模型
脚本能力 有限(非图灵完备) 图灵完备(支持智能合约)
共识机制 工作量证明(PoW) 权益证明(PoS,2022年转型)
出块时间 ≈10分钟 ≈12秒
总量上限 2100万枚(硬编码) 无硬性上限(通过销毁机制调节)
货币政策 每4年减半,固定不变 社区可通过提案调整发行参数
协议升级风格 极其保守 相对积极,持续迭代
代表性应用 价值储存、跨境支付 DeFi、代币发行、NFT、链上治理

12.9 公有链、私有链、联盟链

到目前为止,我们讨论的比特币和以太坊都有一个共同特征:任何人都可以自由加入网络、查看所有交易记录、参与区块的验证和打包,不需要获得任何机构的许可。这类区块链被称为公有链(Public Blockchain)。公有链是区块链技术最早、也最为人熟知的形态,但它并不是唯一的形态。随着越来越多的企业和政府机构开始探索区块链的应用潜力,另外两种架构模式——私有链和联盟链——也逐渐进入了人们的视野。

12.9.1 公有链

公有链的核心特征,不仅仅是"大家都能看",更重要的是网络的运行规则不由任何单一机构掌控。比特币之所以具有去中心化特征,正是因为它没有一家银行或公司负责维护唯一的总账,而是由分布在世界各地的节点按照公开协议共同维护账本。以太坊、Solana等主流公链也遵循同样的原则。

公有链通常有自己的原生代币(如BTC、ETH),用来激励参与者维护网络安全。但需要注意一个容易混淆的细节:"公有链"不等于"有代币",一条公有链可以承载很多种数字资产,而不仅仅是它自己的原生货币。例如,USDT、USDC等稳定币本身并不是以太坊的原生资产,而是依据以太坊上的代币标准(如ERC-20)发行的"第二层资产"。打一个比方:区块链好比一条高速公路,原生代币是这条路的通行费凭证,而各种代币则是在这条路上运输的不同商品。

公有链的优势在于高度透明和抗审查,没有任何单一实体可以随意修改规则或冻结用户资产。代价是所有交易都需要全网达成共识,处理速度相对较慢,运行成本也相对较高。

12.9.2 私有链

私有链(Private Blockchain)处在另一个极端。它不是"谁都可以来参加"的开放网络,而是由某一个组织全权控制参与权限。比如一家大型企业建立一条区块链,用来记录集团内部不同部门之间的供应链、物流、合同或资产流转信息,只有经过授权的服务器和人员才能加入这个网络——这就是典型的私有链。

但这里自然会产生一个疑问:既然所有数据都由一家企业自己管理,为什么不直接用传统数据库,而要费力搭建一条区块链?这确实是私有链长期面临的争议焦点。传统的关系型数据库在读写效率、查询灵活性等方面远优于区块链,如果不存在多方信任问题,区块链的共识机制反而成了一种多余的负担。

私有链真正可能发挥价值的场景,是一个大型组织内部存在多个相互独立的部门或子系统,它们之间需要共享一本具有统一规则、按时间排序、可追溯且难以被事后篡改的账本。在这种情况下,区块链技术提供的不可逆记录和透明审计能力,确实可以带来超越传统数据库的价值——但前提是这种多方协作需求真实存在,而不是为了使用区块链而使用区块链。

12.9.3 联盟链

联盟链(Consortium Blockchain)处在公有链和私有链之间,是理解企业区块链时最重要的一种架构。

图12-5 三种区块链的定位对比

图12-5 三种区块链的定位对比

假设有20家银行需要共同维护一个跨银行结算系统。如果采用公有链,任何人都可以加入验证网络,这显然不一定符合金融机构的监管和安全要求;如果采用私有链,由一家银行独自控制网络,又失去了"多家银行共同维护"的意义。联盟链就是为这种场景而生的:它允许一组经过许可的机构共同维护区块链网络,新的交易是否有效,不由某一家机构说了算,而是按照联盟事先约定好的共识规则决定。

联盟链的典型案例包括:由Linux基金会主导的Hyperledger Fabric框架,被广泛用于供应链管理、跨境支付等企业场景;蚂蚁集团的蚂蚁链(原名蚂蚁区块链)在国内的商品溯源、合同存证等领域也有大量部署。这些平台通常不发行可以在公开市场交易的加密货币,而是专注于用区块链技术解决多方协作中的信任和数据一致性问题。

12.9.4 三者的关系

"公有链、私有链、联盟链"描述的是区块链网络的参与和治理方式,而"数字货币""数字资产"描述的是在网络中流通的价值载体——两者不是简单的一一对应关系。

主流加密货币确实大多建立在公有链之上,但联盟链和私有链同样可以在自己的网络中定义数字资产,只不过这些资产的开放程度、流通范围和经济性质,与比特币、以太币这类可以在全球市场自由交易的加密资产有着很大不同。近年来各国央行探索的数字货币(CBDC),如我国的数字人民币,虽然在技术实现上可能借鉴了区块链的部分设计理念,但其本质是国家法定货币的数字化,由央行发行和管理,与比特币所代表的去中心化加密货币是完全不同的概念。这也提醒我们:"数字化"与"去中心化"是两回事——一种货币完全可以是数字化的,同时仍然由中央机构统一管理。

理解了这三种区块链的定位与区别,也就理解了区块链并不等于加密货币。加密货币只是区块链技术最早、最引人注目的应用之一。区块链真正的能力,在于它提供了一种由多方共同维护、按时间排序、可验证且难以事后篡改的共享账本。这种能力可以被用来转移数字货币,也可以被用来追溯供应链中商品的流转轨迹、登记和交易数字资产的所有权、为跨机构的数据协作提供可信的公共基础设施。

本章小结

本章介绍了比特币与区块链的核心原理。比特币通过哈希算法保障数据完整性,通过非对称加密与数字签名实现交易验证,通过区块链的链式结构提高历史记录的篡改成本,并通过工作量证明在没有中心裁判的情况下形成账本共识。其UTXO模型记录资金流转,固定的发行规则使比特币常被称为“数字黄金”;与此同时,能源消耗、价格波动和交易处理能力等问题仍需正视。

以太坊在密码学基础上引入图灵完备的智能合约,采用账户余额模型和Gas机制,形成可运行去中心化程序的通用平台,并于2022年完成从工作量证明到权益证明的转型。比特币与以太坊分别体现了稳定可预测和灵活可扩展的设计取向。

本章还区分了公有链、私有链和联盟链。三者的主要差异在于网络参与权限和治理方式:公有链面向所有人开放,私有链由单一组织控制,联盟链由多家许可机构共同维护。区块链并不等于加密货币,其核心能力是提供由多方维护、可验证且难以事后篡改的共享账本。

课后习题

  1. 比特币解决"双重支付"问题的方式,与银行解决同一问题的方式相比,各自的优势和代价是什么?
  2. 如果比特币的总供应量被严格锁定在略低于2100万枚,这种"通缩式"的发行机制,对经济会产生哪些正面和负面的影响?
  3. 工作量证明机制用真实的电力消耗换取账本的安全性,而权益证明机制用质押资金作为经济抵押来替代电力消耗。试分析这两种机制各自的优势和潜在风险。
  4. 萨尔瓦多将比特币确立为法定货币又将其撤销的经历,给我们理解"技术方案"与"现实制度"之间的落差提供了哪些启示?
  5. The DAO事件中,以太坊社区最终选择了硬分叉来"撤销"一次真实发生的交易。你如何评价这个决定?如果类似的事情发生在比特币网络上,社区是否会做出同样的选择,为什么?
  6. 试从共识机制、账本模型、脚本能力和应用场景四个维度,系统对比比特币与以太坊的设计哲学差异。
  7. 一家由20家银行组成的跨境支付联盟,计划采用区块链技术建设结算系统。请分析他们应该选择公有链、私有链还是联盟链,并说明理由。

参考文献

[1] NAKAMOTO S. Bitcoin: A peer-to-peer electronic cash system [EB/OL]. (2008-10-31) [2026-08-17]. https://bitcoin.org/bitcoin.pdf.

[2] BUTERIN V. Ethereum: A next-generation smart contract and decentralized application platform [EB/OL]. (2013-11-20) [2026-08-17]. https://ethereum.org/en/whitepaper/.

[3] 廖雪峰. 区块链教程 [EB/OL]. [2026-08-17]. https://liaoxuefeng.com/books/blockchain/.

[4] 剑桥大学替代金融研究中心. 剑桥比特币电力消费指数(CBECI)[EB/OL]. [2026-08-17]. https://ccaf.io/cbnsi/cbeci.

[5] 以太坊基金会. The Merge [EB/OL]. [2026-08-17]. https://ethereum.org/en/roadmap/merge/.