密码学的角色
区块链建立在密码学基础之上。哈希函数保证数据完整性,非对称加密实现身份认证,数字签名确保交易可信。密码学让去中心化信任成为可能。
哈希函数
哈希函数将任意长度输入转换为固定长度输出。特性:单向不可逆、输出固定、输入微小变化导致输出巨大变化。
SHA-256
比特币使用SHA-256算法。256位输出,抗碰撞强度高。区块头哈希形成链式结构,保证历史不可篡改。
应用场景
- 区块链接:前区块哈希嵌入当前区块
- 交易ID:交易数据哈希作为唯一标识
- Merkle树:批量交易哈希聚合
- 地址生成:公钥哈希推导地址
非对称加密
公钥加密、私钥解密;私钥签名、公钥验证。公钥可公开,私钥需保密。椭圆曲线加密(ECC)在区块链中广泛应用。
椭圆曲线(ECDSA)
比特币和以太坊使用ECDSA算法。secp256k1曲线,256位私钥。相比RSA,相同安全强度下密钥更短,计算更快。
数字签名
交易签名流程:私钥对交易数据签名,网络用公钥验证。签名证明交易来自私钥持有者,且数据未被篡改。签名与交易绑定,无法移植。
安全警示
私钥泄露等于资产失控。签名时确认交易内容,恶意交易一旦签名无法撤回。
密码学是区块链信任的数学基础,算法安全决定链上资产安全。