作者:Jameson Lopp,Casa共同創辦人;翻譯:金色財經xiaozou
現在是時候重置比特幣測試網路了,更具體地說,是「testnet」或「testnet3」。
為什麼這麼說?因為測試網的基本原則已被打破。測試幣應該是豐富多樣且可免費使用的,這樣開發者就可以試驗並測試他們的比特幣軟體,而不必花錢調試軟體或冒著有損實際價值的風險。
· 測試網已經13年沒重置過了。
· 區塊獎勵接近0,挖礦難度加劇。
· 人們一直在用它進行空投和其他承諾實際價值的活動。
· 這創造了對TBTC的經濟需求。
· 人們在多處買賣TBTC。
· 測試網有一個奇怪之處我們應該修復,因為它在某種程度上導致我們走到今天這一步。
為什麼測試網挖礦獎勵會枯竭?因為它目前的區塊高度為2,811,000,相當於2061年的主網區塊高度。因此,區塊獎勵僅為~0.006 TBTC。怎麼會這樣?原因我在幾年前就描述過:
在主網上,比特幣每天產生144個區塊,也許就幾個區塊的誤差。在測試網上…正如你在下圖中看到的那樣,波動性更大。由於一些稍微不同的共識規則,每隔一段時間就會有一天產生超過10,000個區塊——相當於在一天內產生幾個月的區塊量。
1、開端
我第一次對測試網累積價值有所了解是因為多年來我一直以向開發者贈送測試網幣而聞名。在Google / Reddit / X上搜尋測試幣通常會出現我的用戶名。因此,今年年初,當我開始收到非開發者的測試幣請求時,我開始了深入研究。它最終成為了「SatoshiVM」項目,聲稱要建構一個零知識rollup第二層。
SatoshiVM顯現出一些危險訊號:
· 他們的github是一個沒有活動的鬼城。
· 他們在X上有近20萬粉絲,但據我所知沒有人關注或談論這個項目。
· 很多人在X上抱怨空投沒什麼用。
我認為這是我在測試網路上看到的第一個大規模騙局,但這絕對不是第一個測試網騙局。惡意人士利用人們的單純,以主網比特幣匯率向他們出售測試網比特幣並不罕見。說句題外話,這也就是為什麼所有支援測試網的錢包都需要在主介面上發布明顯的免責聲明,聲稱測試幣不具任何價值!
2、測試網已累積價值
很明顯,會有很多刻薄的人指責我之所以寫這樣的文章是因為我「個人不喜歡」他們的項目,我要說的是:
我提倡重置測試網的唯一原因是,測試網應該是免費為開發人員使用。除此之外,每個人都應該可以自由地使用測試網來實現他們想要達到的任何開發目的。
以下是測試幣正在以真實價值進行交易的一些證據:
這是一個經紀網站,以一美元多一點的價格出售代幣。請注意,他們甚至指出因測試幣已累積價值,所以取得測試幣是有難度的。
這是另一個經營測試網和主網間代幣交易的完整訂單簿的網站。
這是某個在測試網路上運行的去中心化交易所,可以交易各種代幣。
3、Phase 1:挖掘廉價區塊
挖掘一系列低難度的區塊是相當容易的。
(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,每次只開啟幾秒鐘!
4、Phase 2:永久區塊風暴
創建低難度區塊的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圖表在風暴來襲後就停止了更新。
5、Phase 3:未完待續!
目前,我給testnet3一段時間,讓開發人員有時間強化他們的基礎架構和/或切換網路。有人告訴我,他們正轉向signet,sigenet是一個測試網絡,混亂程度要低得多,因為區塊挖掘使用的不是工作量證明。
請注意,到目前為止,我所做的一切實際上都不需要哈希率或電力。我花了更多時間(幾個小時)讓OpenCL驅動程式可以在我的Linux上運行(使用我的GPU挖礦),不需要編寫觸發區塊風暴的腳本。
我不會在這裡深入討論細節,以免破壞驚喜,但是當你開始考慮使用相對較少的哈希率可以做些什麼時,討論會非常有趣。
我只想說,將測試網用於任何真正的價值交易都是非常糟糕的想法。測試網並不安全,我很樂意向那些拒絕相信這一點的人提供證明。我要重申的是:我不在乎人們是否使用測試網來測試諸如銘文/runes/ordinals/交易所等具有爭議性的東西。但如果你做這些事的目的是進行實際的價值交易,那麼你最好使用dogecoin或litecoin。
6.重置測試網
Bitcoin Core的程式碼變更將啟動testnet4,目前幾個貢獻者正在進行相關工作。
這是一項獨特的工作,因為並不是每天你都要創造一個新的創世區塊。我發現這個舊工具仍然很好用。
所以現在testnet4有了一個潛在的新創世區塊:
我希望testnet4能在接下來的幾個月內完成並可供使用。
7.總結
我懷疑,如果一個測試網路持續運作的時間夠長,測試網代幣就會變得稀缺,就可能會累積價值。因此,確保測試網不會累積價值的唯一方法就是灌輸定期重置的文化。
目前在testnet3上運行基礎設施的所有人,請注意:我強烈建議你們在今年夏天或秋天開始計劃將你們的基礎設施遷移到testnet4。