比特币技术深度解析:从原理到结构
1. 比特币基础特性
比特币中,将身份与所接收或花费的加密货币轻易关联起来是不可取的,因为这会使加密货币失去对用户的匿名保护。在比特币里,收到的资金会与一个地址相关联,该地址由公钥派生而来。出于安全和匿名(即用户隐私)的考虑,一个地址通常只应接收一次资金。数字钱包软件会按需生成多个地址,并为用户管理未花费资金的余额,这种模式被称为未花费交易输出(UTXO)模型。
要验证数字签名,需要获取公钥。解决方案很简单,想要花费某个地址上收到资金的人,必须提供与该地址对应的公钥,这通过锁定和解锁脚本来实现。
比特币(以及许多其他加密货币)选择椭圆曲线密码学(ECC)作为公钥密码学,因为使用较短的密钥就能达到与RSA相同的安全强度。例如,一个256位的ECC密钥在安全强度上相当于一个3072位的RSA密钥。ECC基于求解椭圆曲线离散对数问题在计算上不可行这一假设(直到量子计算成为现实)。美国国家标准与技术研究院推荐使用椭圆曲线数字签名算法(ECDSA)进行数字签名。
2. 去中心化数据结构
比特币没有用于存储交易记录的集中式服务器。相反,包含自网络启动以来所有交易的完整账本由许多节点维护,其中大多数是挖矿节点。这种去中心化的方法使系统对网络攻击和硬件故障具有更强的抵御能力,因为数据被大量复制,丢失或篡改账本的少量副本不会对系统产生重大影响。在将区块和交易传递给其他节点之前会进行验证(即无效的交易和区块会立即被丢弃),因此无效数据注定是短暂的。
比特币使用的数据结构经过精心设计,大致可分为三个层次:
- 公私钥对和地址
- 交易
- 区块
密钥对用于保护交易和区
超级会员免费看
订阅专栏 解锁全文

67

被折叠的 条评论
为什么被折叠?



