比特幣OG觀點:請停止參與落後的BRC-20打新

原文來自Twitter,作者@AurtrianAjian from BTCStudy;經授權轉載,不代表Odaily 觀點

我聽過離譜的事情,但不知道你們可以這麼離譜。請停止參與“BRC 20 ” 打新,並且,抵制它。

你不應該再參加,因為從技術上來說這種落後的東西必定會被淘汰。你應該抵制它,因為它會造成UTXO 集的膨脹,其應用的實際後果已近乎粉塵攻擊。

之前我已經寫過,像BRC 20 這樣的東西壓根不能被稱為“協議”,因為它根本無法保護使用它的用戶。但當時我沒有深入了解,我不知道它其實比我想像的還要離譜。

從表面上看,BRC 20 定義了同質化代幣的兩種操作:“鑄造(Mint)” 和“轉移(Transfer)” ……

在每一種操作的每一步中,都需要發起比特幣交易並在交易輸入中寫入銘文(Inscription,通過輸入的見證腳本在區塊中寫入數據)。但是,在BRC 20 中,這些寫入銘文的交易所形成的交易輸出幾乎沒有任何意義。這就是問題所在。 仔細看上面那份文檔你會發現,其說法是:

“BRC 20 的餘額狀態可通過聚合所有這些函數的活動得出”;但是,所有這些函數的活動都是通過銘文表現出來的,沒有任何一個函數的有效性要求花費特定的UTXO(乃至特定的聰)。不論是你通過鑄造還是轉移獲得了一些token,在你後續需要轉移這些token 的時候,都不需要花費這筆讓你獲得這些token 的交易。

也即這些token 實際上並不附身於比特幣UTXO,它們的狀態完全由已經寫入區塊的銘文(以及這些銘文的順序)決定;改變這些token 的狀態不需要你擁有解鎖某個UTXO 的能力。 (唯一需要UTXO 關聯的是轉移操作的兩步,詳見下文)

這種設計對協議的安全性、經濟性(可擴展性)和去中心化都有重大影響。首先,因為它不附身於UTXO,自然也就無法依賴於UTXO 本身的抗重複花費機制。 BRC 20 整個建立在基於區塊交易排序的“先到先得” 原則上,沒有這種“先到先得” 作為最終的後盾,它就根本無法防止負餘額這種重複花費形式。

但是,基於區塊而不是UTXO 的驗證機制,也使得它不可能創造出一種輕量的驗證機制。不論如何,你都需要全量的區塊數據,來找出一個賬戶的狀態。 (但RGB 和Taro 這樣基於UTXO 的協議就不需要。它們只需要區塊頭)這也使得,能夠負擔餘額計算、索引的節點,相比之下會更少,也即去中心化的特性更差。

也許是為了降低計算最新狀態(識別假幣)的負擔,BRC 20 定義了一種奇怪的轉移機制:不論你如何得到了一些token,你的轉移都必須分成兩步:第一步,將一些token 轉化為“可轉移” 狀態(並指定接收人);第二步,將這些token 實際轉移出去,並由此將第一步的“轉移銘文” 作廢。你的下家也一樣。

這樣的機制當然也影響了用戶體驗和經濟性。不論你可以從銘文機制中得到多少的折扣,多發一筆交易都足以把你得到的好處再吃回去。此外,這種奇怪的、不利用UTXO 的機制,也使得這樣的token 在使用基於比特幣UTXO 的智能合約(閃電通道、DLC,等)的時候,先天增加了障礙,落後於最新一代的協議。

**所以我說,BRC 20 是一種落後的技術。當新一代的代幣發行協議能夠實現輕量的客戶端、經濟代價更小而且更容易接入現有的比特幣生態的時候,BRC 20 還停留在通過消耗區塊空間來獲得可編程性的程度。你可以想像,當RGB 和Taro 這樣的協議的生態湧現的時候,等待BRC 20 的結局是什麼! **

弔詭的是,雖然BRC 20 的鑄造和轉移明明不需要UTXO 上的關聯,它卻為鑄造設計了一種“限額” 機制—— 在鑄造代幣的時候,單個UTXO 所能鑄造的代幣數量,是可以指定上限的。你應該能猜到這是為了乾什麼。

沒錯,這是為了適應“打新” 這個場景中的公平性要求。

它不能讓一個人用一個輸出把所有的token 都mint 出來,所以設計了這樣的限制。但試想,需要用UTXO 來佔位的時候,這些UTXO 就必定是小額的UTXO —— 你把資金切得越碎,能夠得到的新token 就越多。結果就是UTXO 集的膨脹。

這些用來打新的UTXO,被明確地規劃成546 聰(P2P KH 輸出)/330 聰(P 2 TR 輸出),也即僅僅持平於bitcoin core 的粉塵輸出限額。花費它們本身是不經濟的, 後續的轉移操作也不要求花費它們,那麼,它們很可能會永遠留在UTXO 集中,造成UTXO 集的不可逆的膨脹。

轉移操作同樣會留下UTXO。雖然理論上不需要這些UTXO 是小額的,但在當前的工程實現中,使用的依然是小額的UTXO。並且,因為BRC 20 不要求UTXO 連貫花費的特性,被永遠留在了UTXO 集中。

圖表顯示,自2023 年4 月23 號(BRC 20 開啟交易的時候)以來,比特幣的UTXO 集已經從5 GB 膨脹到了6.8 GB。我尚無法證明所有的膨脹都跟BRC 20 有關,但這段時間的增長曲線已經比原來的增長曲線陡得多。需要引起注意。

抵制它。如果你是一個節點,你可以在節點的配置文件中增加這樣一行:dustrelayfee= 0.00005 ,這會讓粉塵輸出的門檻提高5 倍(該值的默認值是0.00001 ,你可以酌情加減)。如果從前你的節點會轉髮帶有粉塵輸出的BRC 20 交易,那麼現在,你的節點將不再轉發輸出低於2730 聰/1650 聰的交易。

但是,如果這些交易能夠進入區塊,你的節點依然會保存這些交易以及它們的輸出。

如果你是一位開發者,請考慮開發識別BRC 20 交易輸出的過濾器,幫助我們將這些打新輸出和轉移輸出從我們的UTXO 集中刪掉。我個人就會選擇運行這樣的過濾器。

行動起來,保護比特幣網絡。

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 留言
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)