学习视频来源:https://www.bilibili.com/video/BV1Vt411X7JF/?p=8
本博客除了包含自己的在学习过程中记录的笔记外,还包含少部分自己扩展的内容,如有错误,敬请指正。

1 节点职责

在比特币网络中,节点主要分为全节点(Full Node)和轻节点(Lightweight / SPV Node)。

1.1 全节点

  • 持续在线,长期连接到比特币网络。
  • 在本地硬盘上维护完整的区块链数据(包括所有区块头和区块体)。
  • 在内存中维护完整的 UTXO 集合(未花费交易输出),用于快速验证新交易是否合法(如是否存在双花、输入是否真实等)。
  • 监听网络上的交易广播,对每笔交易进行完整合法性验证(签名、脚本、金额、输入来源等)。
  • 决定哪些交易被打包进自己构造的候选区块(通常优先选择手续费高的交易)。
  • 监听其他矿工发布的区块,并对其进行全面验证:
    • 区块头是否满足当前难度要求;
    • 区块体中的所有交易是否都合法;
  • 参与挖矿(如果配置了挖矿功能):
    • 决定沿着哪条链继续挖矿;
    • 当出现等长分叉时,通常选择最先接收到的那个分叉
    • 如果后续发现另一条链更长,则切换到最长合法链。

轻节点(SPV 节点)

  • 不要求一直在线,适合移动端或资源受限设备。
  • 只下载每个区块的区块头(约80字节),不存储完整的区块链。全节点所需存储空间通常是轻节点的1000倍以上。
  • 只保存与自己相关的交易(例如收款地址涉及的交易),其余交易一概忽略。
  • 无法验证大多数交易的合法性,只能通过 Merkle 证明确认某笔交易是否被包含在某个区块中,但无法判断该交易本身是否有效(比如输入是否真实、是否双花等)。
  • 无法检测网上发布的区块是否真正合法。因为区块头中不包含交易信息,而交易合法性验证必须依赖完整的区块体和 UTXO 集。
  • 可以验证工作量证明(PoW)难度,因为挖矿所需的哈希计算仅基于区块头(包含版本号、前一区块哈希、Merkle 根、时间戳、难度目标、Nonce)。
  • 只能识别“最长链”,但无法判断其是否为“最长合法链”。若恶意矿工发布一个包含非法交易但 PoW 有效的区块,轻节点可能误认为它是主链的一部分。

2. 比特币是如何保证安全性的?

比特币的安全性建立在两大支柱之上:密码学共识机制

2.1 密码学保障

  • 每个用户通过私钥对交易进行数字签名,只有拥有私钥的人才能花费对应地址的资金。
  • 网络中的节点(尤其是全节点)会拒绝任何签名无效或格式错误的交易
  • 前提条件:系统中大多数节点是诚实的,能够正确执行验证规则。如果多数节点被操控或不验证交易,密码学本身也无法阻止非法交易被接受。

2.2 共识机制

  • 通过 PoW 要求矿工投入大量算力来生成新区块,使得篡改历史记录的成本极高。
  • 最长链代表累计工作量最多,被网络视为“真相”。
  • 即使攻击者拥有部分算力,要逆转已确认的交易也需要追上并超过主链的工作量,这在实践中几乎不可能(尤其当确认数较多时)。

安全性 = 密码学(防伪造) + 共识机制(防篡改) + 经济激励(矿工有动力维护系统)


3 挖矿

3.1 挖矿设备演进

第一代:CPU 挖矿

  • 早期比特币可用普通 CPU(如笔记本电脑)挖矿,属于通用设备。
  • 缺点:效率极低,大部分硬件资源(内存、磁盘、GPU)闲置,性价比差。

第二代:GPU 挖矿

  • GPU 擅长并行整数运算,比 CPU 快数十倍。
  • 局限:仍包含大量无用组件(如浮点数运算),且随着全网难度飙升,GPU 已无法盈利。

第三代:ASIC 矿机

  • ASIC 芯片(Application-Specific Integrated Circuit),只为挖矿哈希计算设计的芯片。
  • 优势:能效比极高,是目前唯一具有经济可行性的挖矿方式。
  • 缺点
    • 高度专用,无法用于其他任务;
    • 通常只能挖特定算法的币种(如比特币的 SHA-256);
    • 研发周期长、成本高,若币价下跌,可能赔钱;
    • 算力高度集中,违背比特币“去中心化”的初衷。

有研究表明,ASIC 矿机的大部分收益集中在上线后的前 1–2 个月,之后会被更新、更高效的机型迅速淘汰。

替代方案探索

  • 为促进去中心化,社区提出替代性挖矿难题(Alternative Mining Puzzles),如基于内存(Memory-hard)或通用计算的算法(如 Ethereum 的 Ethash),以让普通计算机也能参与。

4. 矿池

  • 问题:单个矿工即使使用 ASIC,也可能多年挖不到一个区块(概率极低,类似买彩票),收益极不稳定。
  • 解决方案:加入矿池
    • 由一个全节点(矿主)协调多个矿工;
    • 矿工只负责计算哈希,不承担交易验证、区块传播等全节点职责;
    • 矿主组装候选区块(Coinbase 交易指向矿主地址),分配任务给矿工;
    • 矿主降低挖矿难度,矿工提交“近似有效区块”(称为 share),即低于某个较宽松难度的哈希结果,尽快这个区块并符合真实挖矿难度,也就是说它可能是无效的;
    • 当任一矿工找到合法区块,奖励按各矿工贡献的 share 比例分配。

4.1 矿池带来的中心化风险

不同国家的所有矿池算力,中国占了81%
在这里插入图片描述

大矿池份额 -目前少数大型矿池控制了全网大部分算力,但尚无单一矿池超过 51%。
在这里插入图片描述

  • 潜在威胁
    • 攻击者可通过跨矿池调度算力,临时聚合超过 51% 的算力发动攻击;
    • 通过低手续费或高返还比例吸引不明真相的矿工加入;
    • 一旦掌握多数算力,可实施多种攻击(见下文)。
  • 矿工切换成本极低:只需更改配置连接新矿池,使得算力流动非常灵活,也更容易被操控。

5. 51% 攻击

即使未严格达到 51%,只要掌握相对多数算力,攻击者就具备一定破坏能力。

5.1 主要攻击形式

分叉攻击

  • 攻击者先向商家发送一笔交易并等待若干确认;
  • 同时秘密在另一条私有链上挖矿,不包含该交易;
  • 一旦私有链长度超过主链,广播出去,原交易被回滚,实现双花。
  • 成功率随确认数增加而指数下降

审查攻击(Boycott )

  • 攻击者拒绝打包特定交易(如某交易所提现请求);
  • 发现这个交易出现在区块中,就制造分叉,是原来的区块作废;
  • 其他矿工因担心损失手续费或引发争议,也可能不敢打包。

偷币?——不可能

  • 没有私钥就无法生成有效签名;
  • 即使强行在区块中插入伪造交易,全节点验证失败后会直接拒绝该区块,导致分叉失败;

6. 总结

  • 全节点是比特币安全与去中心化的守护者,轻节点则以牺牲部分安全性换取便捷性。
  • 密码学 + PoW 共识 + 经济激励共同构成比特币的安全模型。
  • ASIC 与矿池提升了挖矿效率,但也加剧了算力集中,带来潜在中心化风险。
  • 51% 攻击虽理论可行,但成本高昂、收益有限、反噬严重,目前仍是低概率事件。

比特币的设计精妙之处在于:它不仅是一个技术系统,更是一个经济与博弈系统,通过激励相容机制让参与者自发维护网络的健康运行。

更多推荐