区块链的信任基石——从对称加密到后量子密码,理解现代密码学如何构建去中心化世界的安全根基。
区块链本质上是一个无需信任第三方的分布式账本。在去中心化网络中,没有银行、政府或任何中央机构来验证交易和管理账户。那么,如何保证:
这四个问题共同构成了区块链**"信任机器"**理论的核心。而解决它们的工具,正是密码学。
密码学一词源于希腊语 κρυπτός(kryptós,"隐藏的")和 γράφειν(gráphein,"书写")。从古代斯巴达的密码棒(Scytale)到恺撒密码,从二战时期的恩尼格玛密码机到现代公钥密码学,密码学的演进史就是人类对安全通信不懈追求的缩影。
区块链将密码学推向了一个全新的维度——它不仅用于保密通信,更成为构建去中心化共识的基础设施。
现代密码学可大致分为三个分支,区块链依赖其中每一个:
| 分支 | 核心问题 | 区块链中的应用 |
|---|---|---|
| 对称加密 | 如何用同一密钥加解密信息? | 钱包加密(keystore)、节点间通信加密(TLS) |
| 非对称加密(公钥密码学) | 如何让陌生人之间安全通信而不需预先共享密钥? | 账户体系(私钥/公钥/地址)、数字签名 |
| 密码学哈希 | 如何为任意数据生成唯一、不可逆的"数字指纹"? | 区块链接、交易标识、挖矿、Merkle 树 |
此外,零知识证明、同态加密、安全多方计算等高级密码学原语正成为区块链隐私和可扩展性的核心驱动力。
哈希函数是区块链中最基础、使用频率最高的密码学原语。
哈希函数是一个确定性函数 H: {0,1}^* → {0,1}^n ,将任意长度的二进制消息映射为固定长度为 n 位的摘要值。
安全哈希函数必须满足以下三个核心属性:
| 特性 | 定义 | 安全性含义 | 破坏后果 |
|---|---|---|---|
| 抗原像性(Preimage Resistance) | 给定 y,找不到 x 满足 H(x) = y | 单向性,不可逆 | 地址隐私泄露,可从地址反推公钥/私钥 |
| 抗第二原像性(Second Preimage Resistance) | 给定 x,找不到 x' ≠ x 满足 H(x') = H(x) | 无法伪造碰撞 | 可创建与合法交易哈希相同的伪造交易 |
| 抗碰撞性(Collision Resistance) | 找不到任意 x ≠ x' 使得 H(x) = H(x') | 最强安全性保证 | 整个哈希体系崩溃,数字签名可伪造 |
这三个属性的强度关系为:碰撞抵抗 > 第二原像抵抗 > 原像抵抗。换句话说,碰撞抵抗是最强的要求——如果哈希函数是碰撞抵抗的,它也必然是第二原像抵抗和原像抵抗的。
此外,哈希函数还有两个工程级特性:
| 特性 | 说明 | 重要性 |
|---|---|---|
| 确定性 | 相同输入总是产生相同输出 | 验证一致性 |
| 雪崩效应 | 输入中哪怕改变 1 位,输出中约 50% 的位发生翻转 | 防篡改检测 |
| 固定输出 | 无论输入多大,输出长度固定(如 SHA-256 为 256 位) | 高效存储和索引 |
SHA-256("blockchain") = ef7797e13d3a76...(256位)
SHA-256("Blockchain") = 3a6eb0790f39ac...(仅首字母大写,结果完全不同)
SHA-256("blockchain.") = 09ed61f7c18b62...(加一个句号,结果完全不同)
这就是为什么区块链中即使修改交易中的一个字节,整个区块的哈希都会彻底变化——从而暴露篡改。
SHA-256 等大多数传统哈希函数基于 Merkle-Damgård 构造:
消息 → [填充] → [分块 M₀, M₁, ..., Mₙ]
↓ ↓ ↓
IV → [压缩函数 f] → [压缩函数 f] → ... → [压缩函数 f] → 最终哈希
SHA-3(Keccak)则采用了不同的海绵构造(Sponge Construction),提供了对长度扩展攻击的内置免疫。
每个区块的头部包含前一区块的哈希值(PrevBlockHash):
Block #N-1 Block #N Block #N+1
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ PrevHash: Hₙ₋₂│ ←──── │ PrevHash: Hₙ₋₁│ ←──── │ PrevHash: Hₙ │
│ Tx Root: ... │ │ Tx Root: ... │ │ Tx Root: ... │
│ Timestamp: ...│ │ Timestamp: ...│ │ Timestamp: ...│
└──────────────┘ └──────────────┘ └──────────────┘
篡改任何一个区块中的任何数据,都会改变该区块的哈希值,进而导致所有后续区块的 PrevHash 不匹配。要掩藏篡改,攻击者需要重新计算从篡改点到最新区块的所有工作量证明——这在计算上不可行。
交易被组织成 Merkle 树(哈希树),实现高效的存在性证明:
┌───────┐
│ Root │ ← Merkle 根哈希存在区块头中
└───┬───┘
┌─────────┴─────────┐
┌─┴─┐ ┌─┴─┐
│H01│ │H23│
└─┬─┘ └─┬─┘
┌───┴───┐ ┌───┴───┐
┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐
│Tx0│ │Tx1│ │Tx2│ │Tx3│
└───┘ └───┘ └───┘ └───┘
要证明 Tx0 存在于区块中,只需要提供 O(log n) 个中间哈希(H1, H23)和 Root,轻节点无需下载全部交易即可验证。这就是 SPV(Simplified Payment Verification) 的核心原理。
以比特币为例,地址生成的哈希链路:
私钥(256位随机数)
→ ECDSA 公钥(65字节,未压缩)
→ SHA-256(32字节)
→ RIPEMD-160(20字节)
→ 添加版本前缀 + 校验和
→ Base58Check 编码 → 最终地址(如 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa)
每一步哈希都在增加逆向难度,并为地址提供一层"安全缓冲"——即使未来椭圆曲线被攻破(如量子计算),哈希层仍能提供保护。
比特币挖矿的本质是寻找一个 nonce 值,使得:
SHA-256(SHA-256(BlockHeader)) < Target
即双重 SHA-256 哈希值小于当前难度目标。矿工反复尝试不同的 nonce,直到满足条件。这个过程的高能耗来源于不断重试哈希计算。
每笔交易的整体数据经过 SHA-256 双重哈希后,得到交易 ID(txid)。由于交易内容不同,txid 不同——这保证了每笔交易的唯一标识。
| 算法 | 输出长度 | 结构 | 使用场景 | 安全状态 |
|---|---|---|---|---|
| SHA-256 | 256 位 | Merkle-Damgård | 比特币核心算法、PoW、交易 ID | ✅ 安全 |
| SHA-512 | 512 位 | Merkle-Damgård | 高安全性场景 | ✅ 安全 |
| Keccak-256 | 256 位 | 海绵构造 | 以太坊地址生成、智能合约哈希 | ✅ 安全 |
| RIPEMD-160 | 160 位 | Merkle-Damgård 变体 | 比特币地址生成(SHA-256 后再哈希) | ✅ 安全(组合使用) |
| BLAKE2b | 可配置 | HAIFA | Zcash、Decred、Grin | ✅ 安全且更快 |
| MD5 | 128 位 | Merkle-Damgård | ❌ 已被攻破,不可使用 | 🚫 不安全 |
| SHA-1 | 160 位 | Merkle-Damgård | ❌ 已被攻破(SHAttered 2017) | 🚫 不安全 |
重要原则:永远不要使用 MD5 或 SHA-1 进行任何安全相关的哈希操作。即使是校验和场景,也应优先使用 SHA-256。
非对称加密,也叫公钥密码学,是区块链账户体系和交易授权的数学核心。
| 特性 | 对称加密(AES、ChaCha20) | 非对称加密(ECC、RSA) |
|---|---|---|
| 密钥 | 同一个密钥加解密 | 公钥加密,私钥解密 |
| 速度 | 快(硬件加速,GB/s) | 慢(毫秒级) |
| 密钥分发 | 困难(需要安全通道) | 容易(公钥可公开) |
| 区块链适用场景 | 钱包文件加密、P2P通信加密 | 账户体系、数字签名 |
在区块链中,非对称加密的核心价值不是加密通信,而是数字签名——即在不泄露私钥的前提下证明你对某个地址的所有权。
私钥(Secret Key)
↓ 椭圆曲线点乘(EC Point Multiplication)
公钥(Public Key)
↓ SHA-256 → RIPEMD-160 → Base58Check / Bech32
地址(Address)
这个链路的关键属性:
因此:
区块链普遍选择 ECC(而非 RSA)的理由:
| 对比维度 | ECC(secp256k1) | RSA(2048 位) |
|---|---|---|
| 安全强度 | ~128 位等效 | ~112 位等效 |
| 公钥大小 | 33 字节(压缩) | 256 字节 |
| 私钥大小 | 32 字节 | 256 字节 |
| 签名大小 | ~70 字节 | 256 字节 |
| 签名速度 | 快 | 慢 |
| 密钥生成速度 | 快 | 非常慢 |
256 位 ECC 提供的安全强度 ≈ 3072 位 RSA,但体积仅为后者的 1/8。对于区块链而言,每字节的链上空间都意味着成本,ECC 的高效性至关重要。
椭圆曲线密码学基于如下方程定义的曲线:
y² = x³ + ax + b
比特币使用的 secp256k1 曲线参数:
核心操作:椭圆曲线点乘
给定私钥 k(一个大整数),公钥计算为:
Q = k · G
其中 "·" 表示重复的椭圆曲线点加操作(k 次 G 相加)。通过倍加算法(Double-and-Add),这个计算可以在 O(log k) 时间内完成。
但反过来,给定 Q 和 G 求 k,这就是椭圆曲线离散对数问题(ECDLP)——在经典计算中,这需要 O(\sqrt{n}) 时间,即约 2¹²⁸ 次操作,完全不可行。
直观类比:私钥是你的秘密数字 k,公钥是你在椭圆曲线上"走"了 k 步后到达的点 Q。从起点 G 和终点 Q 反推步数是极其困难的。
| 曲线 | 使用项目 | 参数 | 特点 |
|---|---|---|---|
| secp256k1 | 比特币、以太坊(L1) | Koblitz 曲线 | 效率优化(0.77 vs 随机0.87) |
| ed25519 | Solana、Cardano、Polkadot、Stellar | Edwards 曲线 | 更快签名、抗侧信道、确定性签名 |
| BLS12-381 | 以太坊 2.0、Chia | 配对友好曲线 | 支持签名聚合和 IBE |
| Curve25519 | Signal、WireGuard | Montgomery 曲线 | ECDH 密钥交换优化 |
| P-256(secp256r1) | 传统 PKI、TLS | NIST 标准 | 政府认证,但可能有后门争议 |
Ed25519 在新区块链项目中日益流行,其优势:
数字签名是非对称加密在区块链中的核心应用。它回答了"在去中心化网络中,如何证明某个操作确实由地址所有者发起"这一根本问题。
任何数字签名方案都包含三个算法:
用户 Alice(拥有私钥 sk_A)
│
├─ 创建交易 Tx:{from: Alice, to: Bob, amount: 1 BTC, nonce: 42}
├─ 计算交易哈希:h = SHA-256(Tx)
├─ 签名:σ = Sign(sk_A, h)
├─ 广播交易:{Tx, σ} → 全节点
│
全节点/矿工验证:
├─ 从签名恢复/使用公钥 pk_A
├─ 验证:Verify(pk_A, SHA-256(Tx), σ) ?
├─ 验证 nonce、余额等
└─ 通过验证 → 打包进区块
关键点:签名的是交易数据的哈希,而非交易本身。这样签名大小恒定(与交易大小无关),且引入额外的完整性保证。
| 属性 | 说明 | 区块链含义 |
|---|---|---|
| 正确性 | 合法签名总能通过验证 | 系统正常运行的基础 |
| 不可伪造性(EUF-CMA) | 不知道私钥就无法生成有效签名 | 防止资产被盗 |
| 不可否认性 | 签名者无法事后否认签署 | 交易记录不可抵赖 |
| 绑定性 | 签名绑定到具体消息,消息改变则签名失效 | 防篡改 |
| 公开可验证 | 无需私钥即可验证 | 全网节点可独立验证 |
ECDSA(Elliptic Curve Digital Signature Algorithm)是比特币和以太坊使用的签名方案,基于 DSA 的椭圆曲线变体。
如果使用相同的随机数 k 签署两笔不同交易:
签名1: (r, s₁),消息哈希 z₁
签名2: (r, s₂),消息哈希 z₂ (注意:r 相同!)
攻击者可计算:
私钥 = (s₁ - s₂)⁻¹ × (z₁ - z₂) × r⁻¹ mod n
历史教训:
核心教训:k 必须同时满足随机性和唯一性。这也是为什么 Ed25519 采用确定性签名(k 由私钥和消息派生的 HMAC 确定)是更安全的设计。
ECDSA 签名中的一个已知问题:给定有效签名 (r, s),(r, n-s) 也是一个有效签名。这会导致交易 ID 改变(因为签名变了),但交易逻辑相同。
以太坊在 EIP-2(Homestead 硬分叉)中要求 s 值必须小于 n/2,部分解决了此问题。对于智能合约开发者,应使用 ecrecover 或 ECDSA.recover 而非手动计算,以避免可塑性攻击。
2016 年以太坊硬分叉创建 ETC 后,同一笔在 ETH 上有效的交易可以在 ETC 上重放。以太坊通过 EIP-155 引入了链 ID——将 chainId 纳入签名哈希中,使签名与特定链绑定。
| 方案 | 核心创新 | 代表应用 |
|---|---|---|
| Schnorr 签名 | 线性特性,支持签名聚合 | 比特币 Taproot 升级(BIP-340) |
| BLS 签名 | 极短的聚合签名(多签名合并为一个) | 以太坊 2.0 验证者签名 |
| 环签名 | 隐藏签名者身份(在一组成员中) | Monero 隐私交易 |
| 门限签名(TSS) | n 方各持有私钥份额,t 方即可签名 | 机构级钱包(Fireblocks) |
| 多重签名 | m-of-n 签名策略 | Gnosis Safe |
| 盲签名 | 签名者不知道签署内容 | 匿名投票、隐私凭证 |
Schnorr 签名被纳入比特币 Taproot 升级(2021 年 11 月)是一个里程碑事件。它使复杂的多签脚本在链上看起来和普通转账一样,极大地改善了隐私性和降低了手续费。
零知识证明是密码学中最优雅也最强大的概念之一。它允许一方(证明者)向另一方(验证者)证明某个陈述为真,而不泄露任何额外信息。
一个证明系统是零知识的,当且仅当它满足:
Alice 声称知道通往宝藏山洞的魔咒。她让 Bob 站在岔路口,自己进入山洞,然后 Bob 随机喊"出来左边"或"出来右边"。如果 Alice 真的知道魔咒(可以打开山洞中的暗门在两个通道间穿行),她每次都能从正确的方向出来。如果她在撒谎,每次只有 50% 的概率猜对。重复 20 次后,作弊者连续成功的概率为 (1/2)²⁰ ≈ 0.0001%,即百万分之一。
关键:Bob 从未进入山洞,从未看到魔咒或暗门,但他获得了对"Alice 知道魔咒"这一事实的极高信心。
这个寓言揭示了零知识证明的核心思想:交互性和概率可靠性。
早期零知识证明是交互式的(证明者和验证者需要多轮通信),限制了实用性。真正的突破是 非交互式零知识证明(NIZK),它只需要证明者生成一个证明,任何人都可以独立验证。
实现 NIZK 的关键工具是 Fiat-Shamir 启发式:用安全哈希函数替代验证者的随机挑战。证明者用哈希函数自己产生挑战,消除了交互需求。
| 应用领域 | 核心问题 | ZKP 解决方案 | 代表项目 |
|---|---|---|---|
| 隐私交易 | 证明交易合法但不泄露金额和参与者 | zk-SNARKs 加密交易图 | Zcash, Aztec |
| 链下扩容(ZK-Rollup) | 将大量交易压缩为一个证明在主链验证 | 生成状态转换有效性证明 | zkSync Era, StarkNet, Scroll |
| 身份验证 | 证明年龄≥18 而不泄露具体年龄 | 范围证明、成员证明 | Polygon ID, Worldcoin |
| 合规与审计 | 证明抵押品充足而不暴露具体仓位 | 资产证明(Proof of Solvency) | 交易所储备证明 |
| 去中心化身份(DID) | 选择性披露凭证属性 | BBS+ 签名 + ZKP | ION, Ceramic |
| 可验证计算 | 外包计算,链上验证结果 | zkVM 生成执行证明 | Risc Zero, zkWASM |
| MEV 保护 | 隐藏交易细节直到被确认 | 加密内存池 + 时间锁解密 | Shutter Network |
| 方案 | 证明大小 | 证明生成时间 | 验证时间 | 可信设置 | 后量子安全 | 代表项目 |
|---|---|---|---|---|---|---|
| Groth16(SNARK) | ~200 字节 | 中等 | 极快(~3ms) | 电路特定 | ❌ | Zcash(Sapling) |
| PLONK(SNARK) | ~400 字节 | 中等 | 快(~5ms) | 通用一次 | ❌ | Aztec, Mina |
| Halo2(SNARK) | ~1KB | 中等 | 快 | 无 | ❌ | Zcash(Orchard), Scroll |
| STARK | ~100KB | 快 | 较快 | 无 | ✅ | StarkNet, dYdX v4 |
| Bulletproofs | ~1KB | 慢 | 较慢 | 无 | ❌ | Monero |
| Nova(折叠方案) | ~10KB | 极快(增量) | 快 | 无 | ❌ | 研究阶段 |
zk-SNARKs 的优势与代价:
zk-STARKs 的取舍:
SNARK vs STARK 选择指导:
同态加密是密码学中的"圣杯"之一,允许在加密数据上直接进行计算,结果解密后与对明文计算相同。
| 层次 | 支持操作 | 实例 | 应用 |
|---|---|---|---|
| 部分同态(PHE) | 一种操作(加法或乘法) | RSA(乘法)、Paillier(加法) | 电子投票、隐私支付 |
| 些许同态(SHE) | 有限次加法和乘法 | BGV、BFV | 有限深度的隐私计算 |
| 全同态(FHE) | 任意次加法和乘法 | CKKS、TFHE | 隐私智能合约、隐私 AI |
目前 FHE 的性能开销仍然较高(运算比明文慢 10⁴-10⁶ 倍),但随着硬件加速(如 Intel HEXL、GPU FHE 库)和算法优化,未来 3-5 年内有望在特定场景中实用化。
无论密码算法多么强大,密钥管理的失误足以让整个安全体系崩溃。"密码学不会失败,但人会。"
BIP-39 将 128/256 位熵编码为 12/24 个英文单词:
熵(128位)→ [SHA-256 → 取前4位校验] → [分11位组 → 映射BIP-39词表] → 助记词
恢复过程:助记词 → 熵 + 校验 → 种子(通过 PBKDF2 拉伸)
一个主种子通过 HMAC-SHA512 派生出无限的公私钥对,形成树状结构:
Master Seed
│
┌──────┴──────┐
m/44' m/49' m/84'
(Legacy) (P2SH-SegWit) (Native SegWit)
│
m/44'/0' ← BTC 币种
m/44'/60' ← ETH 币种
│
m/44'/60'/0'/0 ← 账户
│
m/44'/60'/0'/0/0 ← 第1个地址
m/44'/60'/0'/0/1 ← 第2个地址
关键特性:
')确保即使子私钥泄露也无法推导父私钥m / purpose' / coin_type' / account' / change / address_index
purpose: 44(BIP-44标准)
coin_type: 0=BTC, 60=ETH, 501=SOL, 118=ATOM...
change: 0=外部地址(收款), 1=找零地址
| 威胁类别 | 攻击向量 | 实际案例 | 防护措施 |
|---|---|---|---|
| 私钥泄露 | 私钥被恶意软件/黑客获取 | 2022 年 Ronin Bridge 被盗 6 亿美元(私钥管理缺陷) | 硬件钱包、冷存储 |
| 钓鱼攻击 | 伪造页面诱导输入助记词/私钥 | OpenSea 钓鱼邮件、虚假 MetaMask 弹窗 | 验证 URL、硬件钱包确认 |
| 随机数弱点 | 弱随机数生成导致私钥可预测 | 2018 年 ECDSA 弱随机数使多笔 BTC 交易私钥被恢复 | 使用硬件随机数发生器、Ed25519 |
| 侧信道攻击 | 通过计时、功耗、电磁辐射提取密钥 | 实验室条件下可从硬件钱包恢复私钥 | 常数时间实现、安全元件(SE) |
| 供应链攻击 | 被篡改的钱包软件/硬件 | 假冒 Ledger 设备预置私钥 | 从官方渠道购买、校验固件签名 |
| 社交工程 | 冒充客服/朋友索要助记词 | Discord/Slack 诈骗 DM | ⚠️ 绝不向任何人分享助记词 |
| 5 美元扳手攻击 | 物理胁迫交出私钥 | 人身威胁 | 多签、时间锁、分散存储 |
| 资产规模 | 推荐方案 | 具体配置 |
|---|---|---|
| 小额日常(< $1000) | 热钱包 | Metamask/Rabby + 硬件钱包(Ledger/Trezor) |
| 中等资产(1K-100K) | 硬件钱包 | Ledger Nano X + 助记词钢制备份(CryptoSteel) |
| 大额资产(100K-1M) | 多重签名 | Gnosis Safe 2/3 多签,Geo 分散存储 |
| 机构级(> $1M) | MPC 钱包 | Fireblocks/Copper,门限签名 + 操作审计 |
| 遗产规划 | 社交恢复 + 死手开关 | 以太坊账户抽象(ERC-4337)+ 时间锁继承 |
Shamir 秘密共享(SLIP-39 / SSSS)将助记词分割为 n 份,任意 t 份可恢复:
原始种子 → Shamir 分割
├── 分片 1(家中保险柜)
├── 分片 2(银行保险柜)
├── 分片 3(信任的家人)
├── 分片 4(律师)
└── 分片 5(备选位置)
阈值 t = 3:任意3份可恢复,≤2份毫无信息
生成 ──→ 分发 ──→ 使用 ──→ 轮换 ──→ 撤销 ──→ 销毁
│ │ │ │ │ │
│ │ │ │ │ │
高熵源 TLS/离线 签名/解密 更新密钥 地址清空 物理摧毁
安全环境 最小暴露 隔离操作 向前安全 通知相关方 不可恢复
零信任原则:永远假设你的系统可能已被入侵。隔离密钥操作,最小化私钥在内存中的驻留时间,使用安全飞地(如 SGX、SE)。
量子计算机对当前密码体系的威胁是真实的:
| 密码系统 | 量子威胁 | 攻击算法 | 安全等级变化 |
|---|---|---|---|
| RSA | 🚫 完全攻破 | Shor 算法 | 指数→多项式时间 |
| ECC(含 secp256k1, ed25519) | 🚫 完全攻破 | Shor 算法 | 同上 |
| 对称加密(AES-256) | ⚠️ 减半 | Grover 算法 | 256→128 位安全 |
| 哈希函数(SHA-256) | ⚠️ 减半 | Grover 算法 | 256→128 位安全 |
| 基于格的密码 | ✅ 安全 | 未知高效算法 | 不变 |
NIST 后量子密码标准化(2024):
区块链项目的应对:
时间线估计:NIST 预测具有密码学意义的量子计算机可能在 2030-2040 年间出现,但网络现在就需要开始迁移——因为"先捕获、后解密"(Harvest Now, Decrypt Later)攻击可能正在发生。
VDF 是一种特殊的密码原语,执行必须花费一定的挂钟时间,且结果可以高效验证。
在区块链中的应用:
MPC 允许 n 方共同计算一个函数,而不泄露各自的私有输入。
在区块链中的应用:
密码学不仅是一项技术,更是一种社会契约。区块链的"代码即法律"(Code is Law)精神建立在密码学保证之上:
但也存在深刻张力:
| 术语 | 一句话解释 |
|---|---|
| 哈希 | 将任意数据映射为固定长度指纹的单向函数 |
| SHA-256 | 比特币核心哈希算法,输出 256 位摘要 |
| Keccak-256 | 以太坊使用的 SHA-3 变体 |
| 椭圆曲线 | 满足 y²=x³+ax+b 的数学曲线,公钥密码学基础 |
| secp256k1 | 比特币/以太坊使用的 Koblitz 椭圆曲线标准 |
| Ed25519 | 更快、更安全的 Edwards 曲线签名方案 |
| ECDSA | 椭圆曲线数字签名算法 |
| Schnorr 签名 | 支持签名聚合的线性签名方案(比特币 Taproot) |
| BLS 签名 | 极短聚合签名,以太坊 2.0 使用 |
| 零知识证明 | 证明某件事为真而不透露任何额外信息 |
| zk-SNARK | 简洁非交互零知识证明(证明小、验证快,需可信设置) |
| zk-STARK | 透明可扩展零知识证明(无可信设置、后量子安全) |
| 同态加密 | 在加密数据上直接计算,结果解密后与明文计算一致 |
| 助记词 | 12/24 个单词编码私钥,方便人类备份(BIP-39) |
| HD 钱包 | 分层确定性钱包,一个种子派生无限密钥(BIP-32) |
| 多重签名 | 需要 m-of-n 把私钥共同签名才能转账 |
| 门限签名(TSS) | 私钥分片分散保管,t 方协作签名 |
| 后量子密码学 | 抵抗量子计算机攻击的新一代密码体系 |
| Merkle 树 | 哈希二叉树,实现高效的交易存在性证明 |
| VDF | 可验证延迟函数,强制最小计算时间 |
密码学是区块链安全的根基。理解了哈希、签名、零知识证明和密钥管理,就读懂了区块链大半的信任机制。在密码学中,数学取代了人作为信任中介——正如布鲁斯·施奈尔所言:"如果你想保卫自由,你就必须保卫密码学。"