区块链技术深度融合了多种密码学知识,以确保数据的安全性、不可篡改性和去中心化信任。我们将要用系列教程逐一解析下列区块链中涉及的核心密码学技术。
1. 哈希函数(Hash Function)
- 作用:生成数据的唯一指纹,确保数据完整性。
- 常见算法:SHA-256(比特币)、Keccak(以太坊)、RIPEMD-160。
- 应用场景:
- 区块链接:每个区块的哈希包含前一个区块的哈希,形成链式结构。
- 默克尔树(Merkle Tree):高效验证交易完整性。
- 工作量证明(PoW):矿工通过计算哈希值竞争记账权。
2. 非对称加密(Asymmetric Cryptography)
- 作用:实现身份验证和数据加密,无需共享密钥。
- 核心组件:
- 公钥(Public Key):公开地址(如比特币地址),用于接收交易。
- 私钥(Private Key):保密,用于签名交易。
- 常见算法:
- 椭圆曲线加密(ECC):比特币(secp256k1曲线)、以太坊。
- RSA:少数联盟链使用。
- 应用场景:
- 数字签名:验证交易发起者身份(如ECDSA)。
- 钱包安全:私钥生成和管理。
3. 数字签名(Digital Signature)
- 作用:证明交易的真实性和不可否认性。
- 流程:
- 发送方用私钥对交易哈希签名。
- 接收方用公钥验证签名。
- 算法:ECDSA(比特币/以太坊)、EdDSA(部分新区块链)。
4. 零知识证明(Zero-Knowledge Proof, ZKP)
- 作用:在不泄露信息的前提下验证真实性。
- 类型:
- zk-SNARKs(Zcash):无需重复信任设置。
- zk-STARKs:抗量子计算,无需初始信任。
- 应用场景:
- 隐私交易:Zcash隐藏交易详情。
- Layer2扩容:如zk-Rollups(以太坊)。
5. 同态加密(Homomorphic Encryption)
- 作用:允许对加密数据直接计算,保护隐私。
- 应用场景:区块链上的隐私数据计算(如医疗数据共享)。
6. 共识算法中的密码学
- PoW(工作量证明):依赖哈希函数抗碰撞性。
- PoS(权益证明):结合签名和随机数生成(如Algorand的VRF)。
- BFT(拜占庭容错):使用数字签名验证节点消息。
7. 密钥派生函数(Key Derivation Function,KDF)
- 作用:从助记词或密码推导出私钥。
- 例如:PBKDF2、scrypt、Argon2
- 区块链应用:钱包助记词安全转换为私钥。
总结
| 需求 | 密码学技术 | 示例 |
|---|---|---|
| 数据完整性 | 哈希函数 | 比特币区块哈希 |
| 身份认证 | 非对称加密+数字签名 | 以太坊交易签名 |
| 隐私保护 | 零知识证明 | Zcash、Monero |
| 去中心化信任 | 共识算法+密码学验证 | PoW/PoS |
| 安全密钥管理 | 阈值签名/多方计算 | 跨链资产托管 |
| 助记词生成 | 密钥派生函数 | 钱包助记词生成 |
学习交流请添加vx: gh313061