学习

SHA-256 是什么?驱动比特币的算法

SHA-256 是比特币用于交易、区块头与挖矿谜题的密码学哈希函数。了解它的工作原理,以及 2026 年依然安全的理由。

Updated Jun 18, 2026
SHA-256 是什么?驱动比特币的算法

SHA-256 是 SHA-2 家族中的一种密码学哈希函数,比特币使用它将任意输入转换为固定长度的 256 位输出(64 个十六进制字符)。它是每一笔比特币交易 ID、每一个区块头以及每一道挖矿谜题背后的数学引擎。SHA-256 由 NSA 于 2001 年设计,并作为 NIST 标准发布,二十多年来一直抵抗着所有实际攻击。

256 位输出,任意输入 确定性、单向、抗碰撞 NIST FIPS 180-4 标准
示意图:任意输入数据通过 SHA-256 哈希函数生成固定的 64 字符十六进制摘要

用通俗语言解释 SHA-256

密码学哈希函数就像一台数学绞肉机:您把数据塞进去——从一个字母到一部 4 GB 的电影文件——它会吐出一个固定长度的指纹。SHA-256 的指纹始终精确为 256 位,写成 64 个十六进制字符供人类阅读。

"256" 是输出大小(以位为单位)。"SHA" 代表 Secure Hash Algorithm(安全哈希算法)。它属于 NIST 在 联邦信息处理标准 180-4 中规定的 SHA-2 家族——这是一项公开标准,能让地球上任意两位开发者从相同的输入算出完全相同的输出。

实际效果如下。把字符串 hello 输入 SHA-256,每一次、在任何语言、任何设备上,都会得到这个摘要:

输入

hello

SHA-256 摘要

2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

改动一个字符——把首字母大写成 Hello——摘要就会变成完全无关的样子。这种可靠性正是 SHA-256 作为防篡改封印的价值:哪怕只改动输入的一个比特,您得到的输出就不再与其他人预期的输出相符。

让 SHA-256 实用的四大性质

并非所有哈希函数都是密码学哈希函数。SHA-256 之所以配得上这个名号,是因为同时满足四项性质——每一项都阻断一种特定攻击。失去任何一项,这个函数就不再适合比特币使用。

1. 确定性

相同的输入永远产生相同的输出。在东京的手机上对 hello 取哈希,与在多伦多的笔记本上的结果——64 字符的摘要完全一致。没有这一性质,网络共识就无从谈起。

2. 单向(抗原像攻击)

给定一个摘要,您无法逆推出输入。已知唯一能找到映射到指定摘要的消息的方式只有暴力穷举——而搜索空间是 2^256,比可观测宇宙的原子总数还要大。

3. 雪崩效应

翻转输入中的一个比特,约一半的输出比特会随机改变。没有梯度,没有规律,无法把输入"推得更接近"目标摘要。这正是迫使矿工只能一个一个 nonce 地猜的原因。

4. 抗碰撞

在计算上不可行找到两个不同输入对应同一个摘要。根据 NIST,SHA-256 提供约 128 位的抗碰撞强度——经过 20 多年公开审查,没有任何已知攻击能缩小这一数字。

比特币在哪里使用 SHA-256——三个位置

SHA-256 在比特币里并非什么次要的辅助组件——整条链都建立在它这一原语之上。三个具体用途至关重要,且每一项都依赖于上述四种性质的不同组合。

交易 ID

每一笔比特币交易都用其序列化数据的 double-SHA-256 摘要来标识。这个摘要("txid")就是您粘贴到区块浏览器中追踪付款的唯一指纹。

区块头与默克尔根

每个区块都通过 SHA-256 摘要引用前一个区块,从而构成 blockchain 中的"链"。区块内的交易也会按对沿默克尔树向上做哈希——顶层哈希被嵌入区块头。

挖矿谜题

挖矿就是对区块头反复执行两次 SHA-256,直到结果落在某个目标值之下。胜出的矿工获得区块奖励——目前为 3.125 BTC。

一个值得指出的细节:比特币几乎从不只跑一次 SHA-256。中本聪选择了 double-SHA-256——SHA-256(SHA-256(x))——用于交易 ID 和挖矿。这种"双倍哈希"为一类扩展攻击提供了适度的安全余量,而几乎不增加计算成本。从用户视角看,"比特币的哈希函数"实际上就是"跑两次的 SHA-256"。

实战中的 SHA-256 · 实时挖矿终端 · 2 天免费试用

看 SHA-256 每秒运行数十亿次

您已经从理论上看过这套算法。要在实战中亲眼见识,最快的方式就是 NoxHash 的 2 天 Basic Miner 免费试用——无需押金、无需信用卡。打开 CGMiner 终端,您将看到真实的 SHA-256 hashrate 以 TH/s 的节奏跳动,一笔 double-hash 接着一笔。

示意图:比特币挖矿谜题中的区块头、候选哈希以及目标阈值

一句话讲清挖矿谜题

剥去营销包装,比特币挖矿归根结底是一场算术竞赛:找到一个数字(叫 nonce),使 SHA-256(SHA-256(区块头)) 产生的摘要小于当前 target。就这么简单。没有任何技巧——只能猜、哈希、检查、重复,比地球上其他任何人都更快。

由于雪崩效应,没有捷径。把 nonce 翻一个比特,您会得到一个完全打乱的新摘要,与上一次尝试毫无关联。唯一的策略就是让硬件每秒尝试尽可能多的 nonce。这个速率叫做 hashrate,单位是 TH/s(每秒万亿次哈希)——一台现代 Antminer S21 大约能做 200 TH/s,功耗约 3,500 W。

target 是一个 256 位的数,网络每 2,016 个区块(大约两周)调整一次,使得所有矿工合起来平均每 10 分钟产出一个有效区块。全球 hashrate 上升?target 缩小,谜题变难。矿工离场?target 扩大,谜题变易。这是一个自我调节的恒温器。

候选哈希(失败——太大)

8a7b3e19ff4c2a5b9e1d0c8f2a6b4e7d3f1c5a8b9e2d4f7c1a3b5e8d9f2c4a6b

胜出哈希(通过——前导零足够)

00000000000000000002a1b8c9d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1

"胜出"的比特币区块哈希通常以约 19 个十六进制前导零开头——具体阈值由网络 target 决定。

一个数量级上的直观示例:2026 年全球 hashrate 接近 800-900 EH/s,difficulty 约 110-120 T (根据 比特币 Wiki 区块哈希参考资料的公开数据), 整个网络每秒执行约 10^21 次 SHA-256 计算,仅仅是为了维持每 10 分钟产出一个区块。这就是 "proof of work" 在实践中的含义:证明确实计算了海量的 SHA-256。

2026 年 SHA-256 还安全吗?

简短回答:安全——20 多年公开密码分析中没有出现可行攻击。稍长一些的答案值得了解,因为比特币的安全性正建立在它之上。

SHA-256 由美国国家安全局设计,NIST 在 2001 年发布。数以万计的学术密码学家、政府机构和对抗性研究者对其进行了审查。当前已知的最佳攻击只能针对削减轮数的变体(SHA-256 内部跑 64 轮;存在针对约 31 轮的攻击)。针对比特币所使用的完整算法,暴力穷举仍是唯一手段。

那 量子计算机 呢?Grover 算法理论上将哈希函数暴力攻击的指数减半——把 SHA-256 的有效抗原像强度从 2^256 降到 2^128 操作。这个数依然天文级巨大,而当前的量子硬件远远达不到大规模运行 Grover 的水平。比特币的签名(ECDSA)相比哈希更易受到量子风险影响。

对矿工和持有者真正的启示:比特币继承了 SHA-256 的安全性。如果某天 SHA-256 出现可行攻击——比如多项式时间内找到真正的碰撞——它不会只击垮比特币。它会击垮 TLS、代码签名以及现代密码学的大部分基础。挖矿行业将是大家最不需要担心的事。今天没有这样的攻击,短期内也不会有。

Antminer S21 · 200 TH/s · 工业电价 $0.035/kWh

无需购买硬件,就让 SHA-256 hashrate 为您工作

不论您是自购 ASIC 还是租用,数学都一样。NoxHash 在哈萨克斯坦数据中心以 12-17.5 J/TH 运行 Antminer S21 系列、采用工业电——您每月 $20 起即可租用 hashrate,挖出的 BTC 直接进入您的钱包。

常见问题

SHA-256 是什么的缩写?

SHA-256 是 Secure Hash Algorithm(安全哈希算法)256 位的缩写。它属于由美国国家安全局设计、NIST 于 2001 年以 FIPS PUB 180-4 标准发布的 SHA-2 家族。256 指固定输出大小(位),即 64 个十六进制字符。

为什么比特币要执行两次 SHA-256,而不是一次?

双重哈希——SHA-256(SHA-256(x))——可以防御针对单次哈希结构的长度扩展攻击。中本聪在 2008 年保守地采用了它。多一次哈希让计算成本翻倍,但提供了稳健的安全余量,因此交易 ID 和挖矿都使用 double-SHA-256。

SHA-256 有可能被逆向吗?

实际上不行。SHA-256 是单向函数——给定一个 256 位摘要,要找到能产生它的输入需要遍历约 2^256 种可能,超过了可观测宇宙的原子总数。经过二十年分析,目前没有任何公开的数学捷径能将其逆向。

量子计算机会攻破 SHA-256 和比特币吗?

不会直接攻破 SHA-256。Grover 算法会把它的有效安全指数减半,从 2^256 降到 2^128——仍远超可触及范围。比特币的签名(ECDSA)面临的量子风险更急迫,但当前硬件远未达到该门槛,后量子升级也是一个活跃的研究方向。

SHA-256 是比特币使用的唯一哈希函数吗?

不是。SHA-256 处理区块哈希、交易 ID 和挖矿谜题。比特币地址此外还在 SHA-256 摘要之上应用 RIPEMD-160,得到更短的 160 位指纹。签名使用 secp256k1 曲线上的 ECDSA——这与哈希完全不同的另一类密码学原语。

SHA-256 在现代矿机上有多快?

非常快。一台 Antminer S21 ASIC 在 17.5 J/TH 的能效下每秒可计算约 200 万亿次 double-SHA-256 哈希。截至 2026 年,整个比特币网络合计产生约 800-900 EH/s——量级达到每秒 10^21 次哈希,全部由专用芯片只跑一种算法。

教育内容——非财务建议

本文将 SHA-256 解释为一种密码学概念及其在比特币中的角色。它不构成财务、法律或安全建议。文中网络数据(hashrate、difficulty、区块奖励)反映 2026 年 4 月前后的情况,将随时间变化。比特币挖矿收益取决于 BTC 价格、网络难度与硬件能效——这些都不在个人控制范围内。请只投入您能承受损失的资金,并在做出投资或税务决策前咨询合格的专业人士。