作者:Aaron van Wirdum
原文出版於 2025 年 10 月 6 日。在 10 月 10 日,Bitcoin Core 30.0 版本已經發布。
即將發佈的 Bitcoin Core 軟件發行版本 “Bitcoin Core 30.0” 中的一個默認設定,在比特幣社區中引發了分歧。一些用戶宣稱他們不會升級到這個新版本(哪怕 Bitcoin Core 是最多人使用的比特幣客戶端軟件),而會轉而使用 Bitcoin Knots 軟件:由 OCEAN 礦池的首席技術官 Luke Dashjr 維護的 Bitcoin Core 軟件復刻。Luke 是 Bitcoin Core 上正在發生的變化的激烈批評者。
這場辯論充斥著技術討論,圍繞著一個看起來微不足道的問題。帶有 OP_RETURN 輸出的交易是以特殊的方式嵌入非限定數據(比如文本或圖像)的交易;而相比於以往的版本,Bitcoin Core 30.0 將默認允許帶有更大體積 OP_RETURN 輸出的交易進入本地的交易池並(在點對點網絡中)轉發它們。這似乎只是個微小的變更,因為 Bitcoin Core(以及 Bitcoin Knots)節點都已經接受了這樣的交易(只要它們進入了區塊);同時,它們也都會轉發使用別的方式嵌入非限定數據的交易。
但是,這個更新還是引發了分裂,因為它反映出了更深層次的顧慮。
“Bitcoin Knots 觀點”
Bitcoin Knots 的支持者普遍不喜歡攜帶了非限定數據的交易,他們常常將這些交易稱為 “垃圾(spam)”。但到目前,絕大多數人都已經不情願地接受了,這是比特幣協議的一個不幸的副作用。但是,他們依然認為,這種類型的用法應該被抑制。
當 Bitcoin Core 開發者們在軟件默認轉發的交易的 OP_RETURN 輸出的體積上作出限制時,似乎確實讓不少人轉而在比特幣以外的密碼貨幣上使用這種用法。(最著名的是,這種做法常常被用來解釋 “以太坊” 這種密碼貨幣的 “初衷”。)
在 Bitcoin Knots 的支持者看來,Bitcoin Core 30.0 的新的轉發策略,象徵著投降 —— 它是歡迎 “垃圾交易人” 回到比特幣的信號。
顧慮之一是,這種新轉發策略會更加吸引這類使用非限定數據的用戶和項目。而因為比特幣的區塊空間是有限的,用它來存儲非限定數據會很快填滿區塊,反過來推高交易手續費,甚至會高到讓許多常規交易(“貨幣交易”)被擠出去的地步。
另一個顧慮是,雖然可以用別的方法來嵌入非限定數據,相比於其它方法,OP_RUTURN 還是讓這些數據更容易解析;只需更少功夫,就可以將它們還原為(比如說)圖片。Bitcoin Knots 支持者們擔心,這也會增加在區塊中包含非法影音材料(比如兒童性虐影片)的風險,可能導致節點運營者面臨監管壓力。
如果問題在於 Bitcoin Core 開發者們不抵抗,那麼 Bitcoin Knots 就代表著抵抗。即使他們無法阻止非限定數據被包含在比特幣區塊鏈上,也即無法完全防止它們,至少也不要為它們打開一個額外的方便之門。實質上,他們是在發出不歡迎這些垃圾的信號 —— 他們希望這些信號會有一個抑制效果。
Bitcoin Knots 支持者們說,假設抑制效果能成功把這些垃圾交易人擋在門外,那比特幣就能繼續用於它最初的設想用途:貨幣交易。
“Bitcoin Core 觀點”
人們用各種各樣的方法在比特幣區塊鏈上存儲非限定數據。實際上,近些年,許多人用“ Inscriptions”來存儲圖片,甚至,還能用公鑰或者私鑰來嵌入非限定數據。
絕大部分 Bitcoin Core 開發者都同意 Bitcoin Knots 支持者在這件事上的觀點:這些用法沒有一個是好事,而且也不是比特幣的設計用途。但在所有這些選項中,使用 OP_RETURN 是危害最小的版本,因為它儘可能降低了節點的計算機資源消耗量,從而讓節點依然是儘可能便宜、可負擔的。
因此,Bitcoin Core 開發者們得出結論:與其嘗試抵制 OP_RETURN 的使用,不如放寬對它的限制;維持限制可能只會讓事情變得更糟,甚至糟糕得多。
原因之一在於,僅僅拒絕轉發這些攜帶大體積 OP_RETURN 輸出的交易,從技術角度看,並沒有很大的效果。這些交易依然可以被一些其它節點(比如 Libre Relay 節點)轉發給礦工,或者被直接發送給礦工,然後進入比特幣區塊。如果人們這樣做,反過來會有一種中心化效果,因為可以假設,在直接提交數據時,人們更有可能會直接提交給規模更大的礦工,從而他們能夠獲得額外的手續費收入,而更小的礦工則不能。(如果這樣的交易無論如何都會進入區塊,那麼這種直接提交的方法也會對節點自身造成一些微妙的損害。)
更加可靠的解決方案 —— 可以說也是符合邏輯的下一步 —— 是通過一次共識協議升級(軟分叉)將(大體積的)OP_RETURN 交易變成無效交易,這樣它們就完全不能進入區塊了。但問題在於,前面已經提到了,人們可能會使用別的、危害更大的方法,在區塊鏈上存儲數據。(事實上,許多人已經偏好使用 Inscripton,因為對於更大體積的數據對象(比如圖片)來說,它比 OP_RETURN 方法便宜得多。)
理論上,這些方法中的一部分也能被遏制。但絕大部分 Bitcoin Core 開發者都預見了,這隻會導致一種打地鼠遊戲,“垃圾交易人” 每次都會換用不同的方法。這會激勵他們將自己的非限定數據 “偽裝” 成常規交易,可能導致貨幣交易與非限定數據日益無法相互區分。
因此,剩下唯一的解決方案可能就是,指定一些人或者團體來裁定哪些交易是可以接受的、哪些交易不能,實際上也就是引入一些有權實施交易審查的實體。Bitcoin Core 開發者們(本身就是一群無組織的貢獻者)沒有興趣扮演這樣的角色 —— 不僅是因為他們不希望成為監管機構的目標(從而可能被迫濫用權力 —— 也是希望比特幣不要走上這條道路。
相反,他們總的來說期待這個問題會自我消解,不需要他們的介入。
這是因為,貨幣交易(相對來說)的體積非常小。一個比特幣區塊可以放入幾千筆這樣的交易。而其它類型的數據通常來說會大得多:一張圖片就可以填滿整個區塊。這意味著,一筆 “垃圾交易” 必須打敗許多常規交易(給礦工提供更多交易費收入)。給定對貨幣交易的需求足夠打,使用比特幣區塊鏈來存儲數據很快就會變得過於昂貴。在這種情況下,非限定數據就會被擠走,然後自然消失。
絕大部分 Bitcoin Core 開發者都同意,比特幣應該是一個主要用於貨幣交易的網絡 —— 但不能因為他們會主動抵抗其它用法,而只能因為這是這個系統的激勵機制塑造的結果。
那到底怎麼說?
每個人都可以自由使用自己想要使用的軟件,不管是 Bitcoin Core 30.0(使用這個默認設定,還是關閉它)、舊版本的 Bitcoin Core、Bitcoin Knots、Libre Relay,還是別的軟件。在這個意義上,比特幣用戶確確實實是完全自治的。
從 X 等社交媒體平臺上的情緒來看,似乎有不小比例的用戶不會升級的 Bitcoin Core 30.0,或者會切換到 Bitcoin Knots 。但無法斷定他們到底代表了多大比例的比特幣用戶。可能是很大的一部分 …… 也可能只是很小的一部分(只是聲音很大)。
不管怎麼說,比特幣並不像民主制那樣運作。因為每個節點一般都會轉發交易給許多節點,甚至只要一小部分用戶選擇運行 Bitcoin Core 30.0(或者 Libre Relay 或類似的客戶端),大體積的 OP_RETURN 交易在事實上就是自由傳播的。這可能無法完全阻止,但假設 Bitcoin Knots 支持者希望至少有一些抑制效果,那麼他們就需要說服佔絕對多數的節點運營者(可能需要 95% 甚至更多)加入他們的過濾方案。
如果他們沒能做到,那麼運行 Bitcoin Knots 也可以視為一種不同意見的表達 —— 只是沒有實際效果。
(完)