正在加载早期节点网络…
底层世界 / CHAPTER 02
从一台电脑,走向一个没有中央账本的网络。
运行 bitcoin.exe,程序自动寻找其他电脑。打开「Generate Coins」,CPU 就开始尝试出块。每个人持有自己的账本,也亲自检查别人发来的交易和区块。
阅读 2009 年首发公告01 钱包 保管私钥 · 签名支付
02 节点 保存账本 · 验证与转发
03 矿工 收集交易 · CPU 寻找 PoW
早期客户端从 #bitcoin 频道发现其他节点,随后直接连接对方。
02 / 补齐历史通过节点连接交换版本、请求缺失区块,从共同起点追上网络。
03 / 传播新消息告诉邻居有什么;邻居按需请求交易与区块,通过验证后再转发。
04 / 延续有效历史传播延迟会产生分叉。后续有效区块让一个分支领先,其他节点跟进。
让 A 先挖一块,暂不投递消息。你会看到 A 的高度变化,而 B、C 仍在起点。然后逐条投递,观察邻居请求、验证并接受区块。
三个节点运行在同一浏览器,各有独立账本与交易池;签名和 PoW 真实计算,消息传输为内存模拟。无需登录,不写入共享链;离开此页或刷新会重置本次实验。
| 机制 | 早期 Bitcoin | 本页实验 |
|---|---|---|
| 运行方式 | 不同电脑,TCP 8333;IRC 发现邻居 | 同浏览器三份状态;可控制内存消息 |
| 出块 | CPU 挖矿,平均目标 10 分钟 | 手动挖一块,固定低难度 |
| 初始补贴 | 50 BTC;每 210,000 块减半 | 50 lab BTC;每 150 块减半* |
| 奖励成熟 | 底层 100 块;当时钱包另加 20 块 | 2 个区块高度 |
| 难度 | 每 2016 块调整 | 固定目标,不自动调整 |
| 消息与签名 | Bitcoin 的二进制编码与脚本规则 | 实验对象编码;SHA-256d 与 secp256k1 |
* 每节点最多保存 128 块(含分支),本页无法挖到首次减半。离开页面即丢弃临时钱包;lab BTC 无现实价值。
源码依据为早期 v0.1.3 镜像:它交换 version 后同步,没有现代 verack 握手;当时源码按高度选链。本实验按累计工作量选链,固定难度下每块贡献相同工作量。这里演示机制,未逐行复刻历史客户端。