作者:Jameson Lopp,Casa联合创始人;翻译:金色财经xiaozou
现在是时候重置比特币测试网络了,更具体地说,是“testnet”或“testnet3”。
为什么这么说?因为测试网的基本原则已被打破。测试币应该是丰富多样且可免费使用的,这样开发者就可以试验并测试他们的比特币软件,而不必花钱调试软件或冒着有损实际价值的风险。
· 测试网已经13年没重置过了。
· 区块奖励接近于0,挖矿难度加剧。
· 人们一直在用它进行空投和其他承诺实际价值的活动。
· 这创造了对TBTC的经济需求。
· 人们在多处买卖TBTC。
· 测试网有一个奇怪之处我们应该修复,因为它在某种程度上导致我们走到今天这一步。
为什么测试网挖矿奖励会枯竭?因为它目前的区块高度为2,811,000,相当于2061年的主网区块高度。因此,区块奖励仅为~0.006 TBTC。怎么会这样?原因我在几年前就描述过:
在主网上,比特币每天产生144个区块,也许就几个区块的误差。在测试网上……正如你在下图中看到的那样,波动性更大。由于一些稍微不同的共识规则,每隔一段时间就会有一天产生超过10,000个区块——相当于在一天内产生几个月的区块量。
我第一次对测试网累积价值有所了解是因为多年来我一直以向开发者赠送测试网币而闻名。在Google / Reddit / X上搜索测试币通常会出现我的用户名。因此,今年年初,当我开始收到来自非开发者的测试币请求时,我开始了深入研究。它最终成为了“SatoshiVM”项目,声称要构建一个零知识rollup第二层。
SatoshiVM显现出一些危险信号:
· 他们的github是一个没有活动的鬼城。
· 他们在X上有近20万粉丝,但据我所知没有人关注或谈论这个项目。
· 很多人在X上抱怨空投没什么用。
我认为这是我在测试网上看到的第一个大规模骗局,但这绝非是第一个测试网骗局。恶意人士利用人们的单纯,以主网比特币汇率向他们出售测试网比特币并不罕见。说句题外话,这也就是为什么所有支持测试网的钱包都需要在主界面上发布明显的免责声明,声称测试币不具任何价值!
很明显,会有很多刻薄的人指责我之所以写这样的文章是因为我“个人不喜欢”他们的项目,我要说的是:
我提倡重置测试网的唯一原因就是,测试网应该面向开发人员免费使用。除此之外,每个人都应该可以自由地使用测试网来实现他们想要达到的任何开发目的。
以下是测试币正在以真实价值进行交易的一些证据:
这是一个经纪网站,以一美元多一点的价格出售代币。请注意,他们甚至指出因测试币已累积价值,所以获取测试币是有难度的。
这是另一个运营测试网和主网间代币交易的完整订单簿的网站。
这是某个在测试网上运行的去中心化交易所,可以交易各种代币。
挖掘一系列低难度的区块是相当容易的。
(1)触发最低难度规则
(2)笔记本电脑GPU每10秒就可以创建1个区块
(3)继续挖掘,直到时间戳超前太多(2小时)
(4)等待
(5)重复
我上次在测试网上挖矿已经是9年前了,当时我用的是一台便宜的二手ASIC。这一次,我希望只在台式机上使用CPU挖矿,所以我用了非常老的bfgminer软件。
但事实证明,即使在difficulty 1难度条件下,CPU挖矿还是太慢了,所以我不得不花一些时间让bfminer与我的GPU共同运行。
在我的bitcoin.conf中,我通过以下方式来设置每个新接收的区块触发bash脚本:
bash脚本主要检查矿机是否处于运行状态。如果没有运行,它会运行矿机60秒,然后终止挖矿进程。
为了证明它在有效运行,我检查了测试网区块浏览器。
然后我们可以看到很多像这样的空白区块被挖出:
然而,在运行了将近一整天之后,我注意到我没有挖出那么多空白区块。通过查看其他矿工区块的时间戳,我发现他们也在及时调整自己的时间戳!这有点令人惊讶,因为我认为矿工必须进行手动操作。仔细检查挖矿模板逻辑就会发现,如果最近6个区块中的median time past处于系统时钟的未来,那么它将使用median time past + 1 秒。这实际上是有道理的,因为这是一个共识规则,如果你所挖区块的时间戳早于“median time past”,那么它将被认为是无效的,被其他节点拒绝。
因此,这条规则意味着,通过不断尝试将时间向前推进,我在进行自我对抗,缩小了时间扭曲的有效窗口。所以我关闭了在各区块之后触发的自动空白区块挖矿。
但是在我运行Phase 1脚本的几天里,大家可以看到我成功地将测试网区块数量增加了300%!
公众反应
我的非破坏性Phase 1脚本(它实际上并没有减缓任何人的交易确认)的有趣之处在于,它引发了我对一些项目的关注,我当时甚至不知道这些项目正在运行。我开始收到项目相关人员发来的telegram消息,询问我正在做什么。然后他们的项目负责人试图把自己变成一个受害者,提出了很多荒谬的说法。
在做了一些关于这个motoswap项目的调查之后,一切变得非常清楚,它是由BSV的人运行的。因此,看到他们用一种共同的部落主义叙事将他们的失败描述为“it's us against the maxis(是我们在对战maxis)”就不足为奇了。出于某种原因,Danny一直告诉他的支持者,他们将从测试网切换到主网,这将破坏主网。但这当然是完全不对的:如果他们切换到主网,唯一会发生的事情就是,degen交易员将因价格过高而不愿使用该DEX。
这个家伙笨得连自己项目的名字都拼不正确。但是任何关注该领域已有几年的人,都应该清楚地意识到,相信Craig Wright是有信誉的,或者相信BSV是一个好想法,该是多么愚蠢。
这个家伙明显看到了不祥之兆,可能担心他将无法继续销售测试币。
我的时间戳操作的有趣之处在于,它还会导致所有的哈希率预估变得疯狂。Mempool.space显示我已经将网络哈希率提高了三倍,并且每秒增加了超1 Petahash,尽管实际上我只使用每秒500 Megahash的GPU,每次只开启几秒钟!
创建低难度区块的Phase 1只是Phase 2的概念性证明,这给网络造成了更多的混乱。我第一次注意到这种混乱是在2015年:
我是如何执行Phase 2的?实际上与Phase 1的步骤相同,但要确保在每次难度调整之前触发这些步骤。Phase 2的结果如何?我们可以看到,在正常情况下,测试网每天产生约150个区块。但是当永久区块风暴模式被激活,我们可以轻松地每天产生超过20,000个区块!
这是相当疯狂的,因为我们谈论的是让区块生成加速150到250倍,因此关乎到区块链上的整体数据吞吐量。正如你所料,许多在测试网络上运行基础设施和服务的人并没有准备好毫无预兆地扩展100倍以上……
公众反应
不出所料,第一个注意到测试网络行为异常的人将是那些运行以实际价值交易代币的项目的人。
一天过去了,然后……
我觉得很有趣的是,这个degen项目试图通过邀功“破坏测试网”来将他们的基础设施失败转化为积极的因素。
此外,下面的测试网水龙头操作员的反应很奇怪。这确实让我怀疑他的动机,你可以从他的网站上的言论中看到,他似乎对测试网上的空投和交易很满意。当然,他可以自由地支持这一观点,但我怀疑他将发现自己与其他使用测试网的开发人员的共识并没有达成基本一致。
这种取消尝试是一种奇怪的观点,因为我作为Bitcoin Core贡献者的身份与我对测试网的操纵无关。我只修改过在我自己的机器上本地运行的代码。Bitcoin Core作为一个组织并没有参与我的行动……
我还注意到区块风暴会破坏mempool.space基础设施。下面你可以看到他们的mempool图表在风暴来袭后就停止了更新。
目前,我给testnet3一段时间,让开发人员有时间强化他们的基础设施和/或切换网络。有人告诉我,他们正转向signet,sigenet是一个测试网络,混乱程度要低得多,因为区块挖掘使用的不是工作量证明。
请注意,到目前为止,我所做的一切实际上都不需要哈希率或电力。我花了更多时间(几个小时)让OpenCL驱动程序可以在我的Linux上运行(使用我的GPU挖矿),不需要编写触发区块风暴的脚本。
我不会在这里深入讨论细节,以免破坏惊喜,但是当你开始考虑使用相对较少的哈希率可以做些什么时,讨论会非常有趣。
我只想说,将测试网用于任何真正的价值交易都是非常糟糕的想法。测试网并不安全,我很乐意向那些拒绝相信这一点的人提供证明。我要重申的是:我不在乎人们是否使用测试网来测试诸如铭文/runes/ordinals/交易所等具有争议性的东西。但如果你做这些事的目的是进行实际的价值交易,那么你最好使用dogecoin或litecoin。
Bitcoin Core的代码变更将启动testnet4,目前几个贡献者正在进行相关工作。
这是一项独特的工作,因为并不是每天你都要创建一个新的创世区块。我发现这个老工具仍然很好用。
所以现在testnet4有了一个潜在的新创世区块:
我希望testnet4能在接下来的几个月内完成并可供使用。
我怀疑,如果一个测试网络持续运行的时间足够长,测试网代币就会变得稀缺,就可能会积累价值。因此,确保测试网不会积累价值的唯一方法就是灌输一种定期重置的文化。
目前在testnet3上运行基础设施的所有人,请注意:我强烈建议你们在今年夏天或秋天开始计划将你们的基础设施迁移到testnet4。
来源:金色财经