又一位Bitcoin Core開發者站出來,支持Luke(參閱此前報道),反對銘文。
Bitcoin Core開發者兼Nostr開發者William Casarin在基于nostr的web應用habla.news上發文表示,銘文是對BTC的一種攻擊。
0xjs@翻譯如下:
我反對Ordinals對比特幣有利這一說法。我決定溫習銘文工作原理的技術知識。我開始看到Luke關于它如何利用比特幣反數據垃圾郵件機制中的漏洞的觀點。
在比特幣存儲數據的“標準”方式
向比特幣添加“數據”的標準方法是調用 OP_RETURN 操作碼。比特幣開發人員注意到人們通過大型多重簽名交易將數據(如比特幣白皮書)存儲在utxo集里。問題是這個集是不可修剪的并且可能隨著時間的推移而增長。另一方面,OP_RETURN 輸出被證明是可修剪的,并且不會增加 utxo 的膨脹。
以下是 2014 年 3 月Bitcoin Core v0.9.0 發行說明的摘錄,其中討論了這一點:
關于OP_RETURN:關于0.9中的OP_RETURN功能和區塊鏈中的數據,社區中存在一些困惑和誤解。此更改并不是對在區塊鏈中存儲數據的認可。OP_RETURN 的更改創建了一個可證明可修剪的輸出,以避免數據存儲方案(其中一些已經部署)將任意數據(例如圖像)存儲為永遠無法使用的 TX 輸出,從而導致比特幣的 UTXO 數據庫膨脹。在區塊鏈中存儲任意數據仍然是一個壞主意;將非貨幣數據存儲在其他地方成本更低且效率更高。
Bitcoin Core的大部分工作都集中在確保系統繼續以去中心化的方式運行,以實現其預期目的,即使有人試圖濫用它來存儲數據等。Bitcoin Core一直不鼓勵這種做法,因為它不是為存儲圖像和數據而設計的,而是為了在網絡空間中移動數字貨幣而設計的。
為了幫助激勵人們不做愚蠢的事情,OP_RETURN交易沒有成為非標準的,以便它們可以被同行和礦工轉發,但需要注意的是:
-
它們只能推送 40 個字節(后來增加到 80,83,我猜測是為了支持更大的 root merkle 哈希,因為這是 op_return 唯一合理的用例)
比特幣還添加了一個名為 -datacarriersize 的選項,它限制了用戶中繼或挖掘的這些輸出的字節總數。
為什么銘文在技術上是一種攻擊
銘文通過 OP_IF 塊內的 OP_PUSH 將數據偽裝為比特幣腳本程序數據,從而繞過數據載體大小(datacarriersize )限制。Ordinas不使用 OP_RETURN 并且不受數據載體大小限制,因此節點運行者和礦工目前對他們希望中繼并包含在區塊中的數據的總大小的控制有限。Luke 的Bitcoin Core分叉有一些選項來對抗這種垃圾郵件,所以希望我們很快也能在Core中看到這一點。
銘文還利用了 segwit v1(witness discount,見證人折扣)和 v2/taproot(no arbitrary script size limit,無任意腳本大小限制)中的功能。這些功能中的每一個都有其引入的有趣且合理的原因。
見證人折扣的目的是使花費許多輸出變得更便宜,這有助于減少utxo集的大小。銘文利用這一折扣來存儲偽裝成比特幣腳本的猴子jpeg。記住,比特幣不是用來存儲數據的,所以只要比特幣開發者不小心讓它變得便宜且易于轉發數據,那么這應該被視為一種漏洞。期望它能夠得到修復,或者至少為節點運行者提供對抗這種垃圾郵件的工具。
接下來何去何從
這個故事的有趣之處在于,人們似乎對存儲在比特幣區塊鏈上的圖像賦予了價值,并且他們愿意支付費用以將其放入區塊中,因此沒有意識形態的礦工和不關心比特幣健康和去中心化的人們很樂意收取或支付費用并繼續前進。
數據不應該打折,如果人們想存儲數據就應該支付全價。他們應該只使用 op_return 和哈希值,例如 opentimestamps 或任何其他合理的在比特幣中存儲數據的協議。
經過分析后,我認為這是一個非常糟糕的數據垃圾郵件攻擊,比特幣開發人員應該致力于解決方案。像Luke這樣的意識形態開發者實際上關心比特幣網絡的健康和去中心化,我很高興看到這一點。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。