加密货币的历史
| 时间 | 人物 | 论文 | 技术 | 原理 |
|---|---|---|---|---|
| 1983 年 | David Chaum教授 | 《Blind Signatures for Untraceable Payments》 | e-Cash(盲签名技术) | 客户把货币的编号加密后,让银行签名并扣除存款,银行能鉴别签名但不能追踪货币去向 |
| 1997 年 | Adam Back | 《Pricing via processing or combating junk mail》 | Hashcash(工作量证明机制) | 强制请求方进行一定的算力消耗来换取服务凭证,防止DoS攻击 |
| 1998 年 | Wei Dai | B-money(去中心化数字货币) | 所有人都可以消耗算力获得加密货币,所有交易和货币创建的信息都需要网络广播 | |
| 2008 年 | Satoshi Nakamoto | 《Bitcoin: A Peer-to-Peer Electronic Cash System》 | Bitcoin(分布式区块链) | 区块链结构和共识机制(工作量证明)解决双花问题 |
| 2014年 | Vitalik Buterin | Ethereum(智能合约) | 去中心化合约让买卖双方按其中的规定自动交易,扩展应用场景,不局限于加密货币 |
Bitcoin
原理
- B-money 的问题
需要每个分布式服务器(节点)完整记录交易,数据库会累积大量历史数据,影响查询验证速度
攻击者双花时(花费同一笔货币给两个人),攻击者只需控制少量节点就能验证交易
- Bitcoin 的方案
- 把交易的唯一hash值打包到下笔交易,只需追溯货币来源,而不用查询全部历史数据
- 若干笔交易打包成区块,区块加上时间戳证明交易达成,打包者工作量证明(PoW)使攻击者的算力成本高于收益
实现
参考:bitcoin原文,区块链技术指南,btcstudy,gate
概念
交易输入:前一笔交易输出(交易ID+索引号+公钥脚本)+ 发送方的签名脚本(签名+公钥)
交易信息:包含前一笔交易的 ID、被花费的输出的索引号、输出的公钥脚本、发送方的公钥脚本、发送数额
交易输出:索引号+ 值(发送的比特币数额,以聪为单位)+ 公钥脚本
coinbase 交易:系统生成的新币和当前区块的交易手续费,直接发放到矿工的钱包地址。交易的输入脚本区(nput Script)必须包含当前区块的高度,以防两笔 Coinbase 交易的哈希值会完全一样。新产生的比特币,在接下来的 100 个区块确认之前不能被消费,否则一旦有短暂的区块分叉,会导致淘汰链后续所有交易全部作废。
区块头:区块版本号+ 父区块头哈希值+ Merkle根哈希值+ 时间戳+ 难度值+ 随机数Nonce
步骤
- 交易
接收方生成秘钥对 -> 把公钥用hash加密 -> 哈希值 -> 转化成base58check 格式(即为接收地址)
发送方销毁前一笔交易输入的UTXO(余额) -> 输出两个新的 UTXO(交易数额、找零) -> 交易信息 hash两次加密 -> 创建一个秘钥对 -> 使用私钥签名交易信息得到密文 -> 把密文和公钥组合得到签名脚本
- 广播
交易数额、索引号、签名脚本组合成交易输出 -> 广播到网络
- 矿工收集交易,打包成区块
矿工从交易池中选择若干笔交易(一般优先选择手续费高的) -> 自动生成coinbase 交易(区块奖励) -> 将这些交易通过 Merkle树算法得到唯一的哈希值(Merkle 根) -> 组成区块头
- 矿工做工作量证明(PoW)达成共识
区块头做 SHA-256 哈希运算(哈希碰撞) -> 验证Hash ≤当前网络的难度目标值 -> 若不满足,改变区块头中的随机数(+1),重复哈希碰撞 -> 工作量证明完成
某矿工找到合法区块后广播
其他节点验证
验证交易格式是否正确、签名是否有效、输入是否未被花费、区块哈希是否满足难度 -> 验证通过后接到本地区块链上并传播 -> 确认数增加,交易更难被回滚
6次确认:一笔交易被打包进区块后,网络又生成了6个新的区块(比特币平均每10分钟出一个区块)。如果攻击者要重写历史交易或实施双花攻击,不仅需要控制当前要修改的区块,还必须重新计算该区块之后生成的所有后续区块的工作量证明(PoW),并以超过全网诚实节点的速度赶上并超越当前的区块链长度。当攻击者控制 10% 的网络算力时,6次确认下的重组概率约为0.1%,而51% 攻击也会在硬件采购和社群防御博弈中难以获利。小额交易通常只需 3 次确认,如果发生罕见的 3 块以上的深层重组(10% 的网络算力重组概率约为 1.32%),接收方将同时失去商品和比特币。
闪电网络(2018)
闪电网络是名为支付通道的智能合约,交易双方在比特币主链上锁定一笔资金,创建一个共同签名的“多重签名钱包”,双方在此钱包内可进行多次免手续费的转账(仅更新链下账本余额),直到一方关闭通道,才将最终余额结算上报给比特币主链。
闪电网络提升了交易速度,降低了交易费用,但缺点是比特币一直被锁定到交易结束,造成接收方流动性不足。
以太坊
参考:binance
智能合约
- 创建与部署
智能合约开发者创建智能合约,合约部署到区块链网络中。每个智能合约都包含明确定义协议条款、执行规则和触发条件的代码。
- 合约调用
部署完成后,任何用户都可以调用合约中的特定功能,并提交所需的输入。
- 验证与执行
如果满足合约中指定的条件,任务将自动执行。
- 记录不可篡改
条件通过验证且交易得到确认后,将作为一个不可篡改的条目记录在区块链数据库中。这些记录通常包含交易的全部详细信息,确保整个过程公开透明、可追溯验证。
应用
DeFi(去中心化金融): 如去中心化交易所(DEX)、借贷协议、流动性质押等。
NFT(非同质化代币): 支持数字艺术品、虚拟地产等独一无二的资产所有权证明。
DAO(去中心化自治组织): 通过智能合约实现社区共同治理和资金池管理。
Layer 2 解决方案(2021)
区块链网络在可扩展性和交易成本方面仍面临挑战,Layer 2 方案运行在以太坊等 Layer 1 链之上,通过在主链外处理大量交易,有效缓解网络拥堵,提升交易吞吐量。
权益证明PoS(2022)
以太坊 2.0升级了权益证明 (PoS) 机制,验证者取代了矿工,通过质押加密货币作为抵押品,来生成和验证区块。如果他们诚实,就能获得奖励;若存在欺诈行为,其质押的 ETH 可能会被罚没。该新机制提高了扩展性,降低了能耗。
共识机制对比
区块链不可能三角:去中心化、安全性和可扩展性之间的平衡难题
| 加密货币 | 共识机制 | 年份 | 原理 | 缺点 | 每秒交易量 (TPS) | 确认时间 |
|---|---|---|---|---|---|---|
| Bitcoin (BTC) | 工作量证明 (PoW) | 2008 | 通过算力竞争记账权利 | 速度慢,能耗大 | 7 | 60min |
| Ethereum (ETH) | 权益证明 (PoS) | 2011 | 通过质押加密货币来获取记账权利 | 富者愈富 | 2,300 | 12min |
| Tron (TRX) | 委托权益证明 (DPoS) | 2014 | 通过质押代币获取“投票权”,投票选出27 名超级代表负责记账 | 普通持币用户缺乏投票积极性,中心化风险加剧 | 2,500 | 57s |
| BNB Smart Chain (BSC) | 权威证明 (PoSA) | 2017 | 由质押排名前 21 位的验证节点负责记账 | 中心化导致抗攻击和抗审查较弱;节点串通风险 | 6,300 | 0.65s |
| Avalanche (AVAX) | 雪崩共识 (PoS) | 2018 | 当一个节点需要验证某笔交易时,随机选择网络中的20个节点进行询问,如果大多数(14个)节点支持,则置信度计数加 1,节点连续获得 20 轮成功后,最终确认该交易 | 抽样轮询导致无法实施惩罚 | 1,100 | 2s |
| Solana (SOL) | 历史证明 (PoH)+ PoS | 2020 | PoH创建了一个经过密码学证明的全局时钟,交易中内嵌时间戳就能确认交易的先后顺序,免去了验证者反复通信达成共识 | 节点硬件要求高,导致不够去中心化 | 65,000 | 12s |
| Aptos (APT) | 拜占庭容错(AptosBFT) + PoS | 2022 | 交易广播给验证者节点,验证节点选出的一个领导节点负责打包区块,并广播给验证者节点,当投票达到2/3时,区块被确认为有效,提案 / 投票 / 确认并发处理大幅提升吞吐量 | 高通信复杂度导致扩展瓶颈 | 160,000 | 0.1s |
数据来源:chainspect
市场
| 加密货币 | 应用 | 用户增长(前往token terminal查看活跃钱包) | 通缩机制 | 通胀率(2026) |
|---|---|---|---|---|
| Bitcoin (BTC) | 去中心化转账 | 查看 | 总量上限2,100 万枚,每开采 21万区块(约每四年)奖励减半 | 0.8% |
| Ethereum (ETH) | 多元化交易的结算中心 | 查看 | 动态发行和销毁(EIP-1559),随网络成长而调节 | 0.23% |
| Solana (SOL) | 高性能与极低手续费 | 查看 | 初始年通胀率为 8%,以每年 15% 的速率递减,最终长期稳定在 1.5%(预计2032 年) | 3.78% |
| BNB Chain(BNB) | 交易所 | 查看 | 零增发和季度自动销毁,2 亿枚总量最终缩减至 1 亿(预计2030年) | - 4% |
| Tron(TRX) | USDT转账网络 | 查看 | 超级代表及投票节点奖励(18亿/年),处理转账时销毁(活跃时超过奖励) | - 1.8% |
| USDT /USDC | 稳定币 | - | - | - |
| Chainlink(LINK) | 连接现实世界的数据,帮助智能合约运行 | - | - | - |
| Ripple (XRP) | 跨境支付 | - | - | - |
| Polymarket | 预测事件和下注(审查风险) | - | - | - |
| Filecoin(FIL) | 分布式网站数据存储(生态替代困难) | - | - | - |
| Render(RNDR) | 去中心化GPU算力(服务不如云厂商) | - | - | - |