Testnet 拥有独立于主网 mainnet 的区块历史和余额。测试币常标记为 TBTC,设计用途是不涉及金钱价值的实验。操作界面相似,并不代表它的可靠性、手续费或安全性与真实 BTC 相同。
Anna 想先学会收发比特币,再使用自己的钱。她在支持 Testnet 的应用中创建独立的测试钱包,从 faucet 领取少量测试币。Faucet 是免费分发测试币的服务。随后,她把一部分发送给同一网络上的 Pavel,观察地址、交易和等待确认的过程,而不花费真实 BTC。这只是说明用的例子,并非某个应用的操作指南;不是所有钱包都支持这种模式。测试币不是免费获得的比特币。它们的余额不能通过切换设置或转账进入主网,也不应该因为 faucet 暂时不可用,就把测试币当投资购买。 [11]
Testnet 不是主网内部的练习账户,而是从自己的 Genesis Block 开始的另一条区块链。区块把一组交易记入共同历史,Genesis Block 就是这段历史的起始区块。Testnet 也有自己的 UTXO,即尚未花费的交易输出。输出记录一笔金额,以及花费它必须满足的条件,例如所需的签名。Anna 在一个网络上收到币,不会因此在另一个网络上获得余额。程序通过网络参数区分它们,例如网络消息的起始标识和端口。不过,不同网络的地址未必看起来不同。私钥是秘密数据,钱包用它生成签名,授权花费对应的资金。即使用相同的私钥,两套历史也不会变成一个共享余额的钱包。 [12] [15]
以 tb1 开头的地址可能属于 Testnet3、Testnet4 或 Signet。因此 Anna 和 Pavel 要约定具体网络,并在双方应用中检查;只说“测试网”不够。Anna 为实验使用新密钥和独立备份,不会把存有真实资金的钱包的 Seed Phrase(恢复词) 输入测试应用。切换模式不能让不可信的软件变安全。Faucet 最多只需要公开的收款地址,不需要恢复词或私钥。分开钱包文件、密钥和备份,能减少混淆,也避免无意间把测试活动与个人付款关联起来。 [12] [14]
公共 Testnet 适合与不认识的参与者一起测试,并允许开放挖矿。Signet 也是测试环境,但在 Proof of Work(寻找有效区块所需的计算工作) 之外,还要求满足区块条件,通常是使用获准的密钥生成签名。这使区块生产更容易协调,却不保证永不间断。Regtest 适合需要控制实验过程的开发者:他们运行自己的环境,按需创建区块,例如进行自动化测试。如果 Anna 只想熟悉钱包操作,还要看应用支持哪种网络。这些网络都不会把测试币转换成主网比特币。 [10] [11] [16]
Pavel 的测试付款可能很快完成,手续费也低。这不能说明同样的操作在主网要花多少钱。网络活动、挖矿算力和参与者的动机都不相同。公共 Testnet 可能长时间没有新区块,遭遇服务中断,或发生重组:节点,也就是检查网络规则的电脑,把最近的一段历史替换成另一条有效分支。这些情况能帮助发现应用缺陷,但不能把每次故障都说成刻意设计。一次成功测试只验证了特定条件下的特定行为,本身既不能证明密钥保管安全,也不能证明处理真实资金的服务足够稳健。 [10] [2]
旧教程经常提到 2011 年启动的 Testnet3。长期运行后,测试币分发和挖矿难度规则暴露出问题。所谓 block storms,是短时间内出现大量区块:链高度异常迅速地增长,新区块补贴也比按日历时间想象的更快下降。原本应当容易获取的测试币甚至被拿来交易。新一代网络因此意味着重新开始一段历史,而不是给旧余额重新定价。阅读教程时,要核对网络编号,不能只看 Testnet 这个名字。 [1]
技术提案 BIP 94 描述了 Testnet4,Bitcoin Core 28.0 加入了支持。除了新的 Genesis Block,它还调整难度计算和区块时间戳规则,限制已知的 block storms 成因。但它保留一项特殊规则:除难度周期的首个区块外,若时间戳比前一区块晚超过 20 分钟,就必须使用最低难度。这不承诺付款会在 20 分钟内确认。Testnet4 还从一开始执行其于 2024 年 5 月提出时已在主网生效的规则变更。这些改进并不使它成为不会故障的主网模型。 [1] [9]
截至 2026 年 10 月 17 日,Testnet5 的 BIP 95 仍标为 Draft,即草案。它提议取消最低难度例外、提高最低难度,并从首个区块开始实施 BIP 54 中提出的一组共识规则变更。但文档仍未确定 Genesis Block 数据,也没有提供参考实现链接。因此不能据此把 Testnet5 描述为已经常规部署的 Bitcoin Core 网络。在测试网试验新规则,也不会使它们在主网自动生效。以后再读到这里,应检查提案状态和所用软件版本的文档,而不是仅凭名字中的编号更大就下结论。 [2]
Bitcoin Core 通过 testnet4 选项选择 Testnet4;具体命令语法应查看相应版本的文档。配置文件中的 [test] 对应 Testnet3,[testnet4] 对应 Testnet4。数据保存在独立的 testnet3、testnet4、signet 或 regtest 子目录。但也必须检查运行中的程序:getblockchaininfo 会在 chain 字段返回网络标识。还应核对 Genesis Block 的哈希、同步状态和已连接节点。对于自定义 Signet,共用的创世区块不足以确定网络,还要核对其具体区块条件。窗口标题或相似地址不能替代这些检查。 [8] [12] [13] [14] [10]
Anna 先确认两只钱包使用同一网络,再尝试收款、付款,并区分已发送和已确认。恢复测试只使用独立的测试备份。开发者还可以测试应用重启、节点不可用、重组或拒绝错误网络。涉及手续费时,可测试 RBF,即替换尚未确认的交易;也可测试 CPFP,即用手续费较高的子交易,吸引矿工一并打包尚未确认的父交易。结果应记录网络、软件版本和实际验证的行为。Testnet 让人有机会犯下不想在真实资金操作中犯的错误,但它不是“不再需要检查”的证明。 [11] [9]
要获得更完整的理解,请将本词条与以下词条结合阅读: Bitcoin Core, Signet, 挖矿, 钱包, Bitcoin, Full Node. 反向关联还来自: Sidechain, Liquid Network, 比特币教育, Signet.