OP_CAT 這函式曾一度被中本聰從比特幣指令語言中移除,但如今有一些比特幣開發者想要復活它,並通過 13 行程式碼的軟分叉,為比特幣添加入智能合約功能。
(前情提要: 比特幣NFT「量子貓」:沒有智能合約,銘文如何實現動態變化?)
(背景補充: 【比特幣現金的硬分叉爭議】某些用戶被留在舊版本,但對比特幣現金來說重要嗎?)
比特幣程式碼庫中,一個曾經被中本聰刪除、被歷史塵封已久的操作碼「OP_CAT」或將復活。
圍繞著 OP_CAT 操作碼,比特幣 NFT 專案 Taproot Wizards 推出了新系列 NFT Quantum Cats 引起社群熱議。儘管 OP_CAT 這一稱呼並非指向我們熟悉的「貓」,但 Taproot Wizard 卻用了貓的形象發售了一款名為 Quantum Cats 的新 NFT,利用迷因文化,幫助 OP_CAT 造勢。
延伸閱讀:比特幣NFT「量子貓」:沒有智能合約,銘文如何實現動態變化?
在比特幣開發者的推動和以貓的模因形象造勢下,關於 OP_CAT 的熱度和討論達到了新的高度。
「復活」被中本聰刪除的操作碼
操作碼(Opcodes),亦稱為指令或函式,是構成比特幣指令碼語言的基本組成元素。歷史上,由於對客戶端實現可能存在的漏洞的擔憂,比特幣早期版本中的某些操作碼被移除,OP_CAT 操作碼就是其中之一。
OP_CAT 起初是比特幣官方命令集的一部分,允許進行字串的連線操作,將兩個元素拼接成一個。但因為在 OP_LSHIFT 等操作碼中發現的嚴重漏洞可能導致任何比特幣節點崩潰,同時擔心 OP_CAT 操作碼可能導致堆疊元素指數級增長,從而可能導致記憶體使用量與指令碼大小呈指數關係增長。
因此中本聰出於謹慎,在 2010 年 8 月 15 日將 OP_CAT 移除。這些被移除的操作碼通常被稱為「禁用」,但這種說法並不準確,因為它們從協議中被徹底刪除,使得任何使用比特幣的人都無法使用這些操作碼。
2023 年 10 月,Bitcoin Core 開發者 Ethan Heilman 和 Botanix Labs 首席軟體工程師 Armin Sabouri 聯合釋出了一份比特幣改進提案(BIP)草案,名為「OP_CAT」,讓這個討論到了一個新的高度。
這份草案,僅包含簡潔的 13 行程式碼,卻攜帶了明確直觀的功能性質,定義了一個新的 tapscript 操作碼,允許在堆疊上串聯兩個值。此程式碼實現的靈感明顯來自原始被刪除的 OP_CAT。
「復活」的條件已經滿足
至於為什麼一個被中本聰刪除的操作碼,如今卻有開發者希望能恢復,這份 BIP 草案中的動機部分做出了一些詳細解釋:
這主要是基於對記憶體使用的考量,OP_CAT 使得指令碼構造的記憶體使用量可能與指令碼本身的大小呈指數級增長。具體來說,一個簡單的指令碼,僅通過將一個 1 位元組的值推入堆疊,接著利用 OP_DUP 操作碼進行複製,再通過 OP_CAT 操作碼進行 40 次串聯,便可能導致堆疊值膨脹至超過 1TB 的龐大規模。
儘管如此,隨著時間的推進和技術的發展,這一問題已不再是障礙。在 tapscript 的架構之下,一個明確的規則被制定,即堆疊元素的大小被嚴格限制在 520 位元組以內。這一改變有效地解決了 OP_CAT 可能引發的記憶體使用問題,為其「復活」和整合提供了可能性。
由此可見,OP_CAT 再次被拿出來討論並考慮恢復使用,主要是因為它在構建更復雜和功能強大的指令碼方面有潛在的價值。此外,一些原因和變化已經滿足「復活」的條件,其中包括:
1. 高階智能合約和協議的需求:隨著比特幣生態系統的發展,對更高階和複雜的智能合約和協議的需求增加了。OP_CAT 通過允許在堆疊上組合物件,增加了 tapscript 的表達力和功能。例如,它可以用於構建和評估默克爾樹和其他 hash 資料結構,支援樹簽名、後量子 Lamport 簽名、非抵賴合約、保險庫等功能。
2. 其他鏈上的成功案例:一些比特幣分叉,如比特幣現金(Bitcoin Cash)和側鏈 Liquid,已經重新啟用了 OP_CAT,並用它實現了代幣的建立和管理、支付通道以及在區塊鏈上嵌入和檢索資料的方法。這表明在適當的環境和限制下,OP_CAT 可以安全有效地使用。
3. 量子安全性的探索:有研究提出,如果能夠使用 OP_CAT 之類的操作,結合 Lamport 簽名等技術,可以構建量子安全的比特幣交易和協議。這種探索對於提高比特幣系統的未來安全性具有潛在價值。
4. 社群和技術發展:比特幣社群和技術的持續發展促使人們重新考慮和評估以前的決定。隨著對比特幣協議更深入的瞭解和新技術的出現,之前被認為有問題或不適用的功能可能會在新的上下文中找到安全和有用的應用場景。
軟分叉,談何容易
在技術層面上,幾乎鮮有其他比特幣提案像 OP_CAT 這般易於解讀和理解。但 OP_CAT 操作碼將通過重新定義操作碼 OP_SUCCESS126 的軟分叉啟用,顯然這並不是一件易事。
回顧比特幣近來的一次軟分叉發生在三年前,因為激活了 Taproot,從而幫助 Ordinals 的誕生鋪平了道路。
比特幣社群高度重視共識和透明度,任何重大的程式碼變更都會在社群中廣泛討論和審查,包括軟分叉。一段程式碼要被合並到比特幣的程式碼庫中,需要經過一個嚴格和詳細的流程,這個流程確保了提案的品質和社群的共識。以下是這一過程的主要步驟:
1. 編寫提案和程式碼:首先,開發人員需要編寫一個詳細的提案文件。這個文件應該清楚地描述提案的動機、技術細節、影響評估以及任何潛在的問題或挑戰。
2. 社群討論:程式碼提案被提交給比特幣社群後,社群成員(包括開發者、礦工、投資者和使用者)會對其進行討論和審查。這個階段是確保提案可行性和收集回饋的關鍵。
3. 修改和改進:根據社群的回饋,程式碼的作者可能需要對提案進行修改和改進。
4. 投票,達成共識:對於一些重要的改進(尤其是那些涉及到比特幣協議本身的改變),需要社群成員達成一定程度的共識。這通常涉及到礦工的支援,他們需要通過在他們挖掘的區塊中包含特定訊號來表明他們支援該提案。
5. 程式碼實現:一旦達成共識,程式碼將由 Bitcoin Core 開發者團隊稽核。這個步驟需要確保程式碼的品質和安全性。
6. 合並到程式碼庫:稽核通過後,程式碼將被合並到比特幣的官方程式碼庫中。
7. 部署和啟用:新的程式碼需要被礦工和節點營運者部署到他們的系統中。對於協議層面的改變,通常有一個啟用閾值,只有當足夠多的網路參與者升級到新版本時,改進才會生效。
顯然,OP_CAT 軟分叉的實現,還處在非常早期的階段,距離編寫 BIP 草案才過了不到四個月時間,目前 BIP 編號都還沒有確定,還處於第一階段編寫提案和程式碼和第二階段包括開發者和使用者在內的社群討論環節。
比特幣開發者們怎麼說
我們先特別關注一下近年來比特幣開發者對 OP_CAT 的討論。
儘管 OP_CAT 操作碼被刪除,但 OP_CAT 在促進高階合約和增強比特幣指令碼語言方面的潛在效用卻一直在開發者之間被反覆討論。例如,它在連線堆疊值方面的能力被認為是阻礙某些比特幣協議發展的障礙,比如 TumbleBit,如果支援 OP_CAT,其交易大小可以大大減小。
在蒐集了 Optech 時事通訊和各種相關內容後,接下來按照時間順序,整理了一些比特幣開發者對 OP_CAT 操作碼的討論。
2019 年
這次「OP_CAT」比特幣改進提案(BIP)草案的發起人之一 Ethan Heilman,在 2019 年 10 月 就於郵件中 表示理解為何它被移除 —— 因為當時指令碼面臨的情況極為嚴峻,但他更強調了 OP_CAT 作為一個操作碼,其價值不容忽視:
目前想要在比特幣基礎上構建的多數協議都碰到了一個限制:堆疊值無法被連線。作為一個研究者,如果我遇到這種侷限,那麼它很可能也在阻礙其他人的進步。如果我可以揮動魔杖重新啟用其中一個被禁用的操作碼,我會選擇 OP_CAT。當然,這將伴隨著一個條件:每個串聯值的大小必須限制在 64 位元組或更少。
關於 OP_CAT 的討論,Andrew Poelstra 是一個永遠繞不過的人。他在 2021 年 1 月 30 日寫了一篇名為《 CAT and Schnorr Tricks I 》的文章引起了一陣對 OP_CAT 的討論。Andrew Poelstra 是 Blockstream 研究總監,也是一個資深的比特幣密碼學指令碼編寫開發者,在行業內的影響力不言而喻。
在文中,Andrew Poelstra 介紹:
OP_CAT 幫助將堆疊中的兩個元素結合起來,並將合並後的結果推回堆疊。這個功能可以用於把多個小元素組裝成一個大元素,或者將一個大元素分解成多個小元素。而 CHECKSIGFROMSTACK(CSFS)是一個比特幣中從未有過的操作碼,它允許使用者對任意資料進行簽名驗證,這與僅能驗證交易簽名的 CHECKSIG 操作碼不同。
更重要的是,他指出將 OP_CAT 與 CHECKSIGFROMSTACK 結合使用,可以提供一種巧妙的交易內省方法。
備註:交易內省是指在比特幣指令碼中對交易本身的各個組成部分進行檢查和分析的能力。簡單來說,就是讓指令碼能夠「理解」和處理它正在處理的交易的詳細資訊,比如檢查交易的輸出內容、金額或者特定的簽名等。這樣,指令碼就能根據交易的具體內容做出更加智能和細緻的響應。
這樣使用者在堆疊上提供整個交易的資料,指令碼利用 OP_CAT 將這些資料打包成一個單一項,進行 hash 處理,然後傳遞給 CHECKSIGFROMSTACK 來驗證資料上的簽名。
接著,它將相同的簽名和金鑰傳遞給 CHECKSIG。如果兩次驗證都通過,表明使用者提供的交易資料確實是真實的交易資料。這樣,指令碼就可以直接利用這些資料執行契約所需的任何檢查。
Andrew Poelstra 的影響力,和這篇文章的構思,引起了比特幣開發人員的注意,並在那一週的會議,對這種操作碼的結合和關於在啟用 taproot 後對指令碼語言進行微小更改如何提高合約靈活性作出了許多討論。
距離《 CAT and Schnorr Tricks I 》的釋出過了兩週左右的時間,Andrew Poelstra 發了第二篇《 CAT and Schnorr Tricks II 》,在這篇中,Andrew Poelstra 敘述了更多細節和他的想法:
2019 年 5 月,比特幣開發者 Jeremy Rubin 提出了比特幣的 CHECKOUTPUTSHASHVERIFY 操作碼,目的是為了實施一種基礎而有限制的智能合約,避免了之前智能合約設計中的技術和社會風險。這個操作碼後續被 SECURETHEBAG 替代,再之後又被 CHECKTEMPLATEVERIFY 取代,而 CHECKTEMPLATEVERIFY 於 2020 年 1 月正式成為比特幣改進提案 BIP 0119。
同時,Russell O’Connor 建議直接向比特幣新增 CHECKSIGFROMSTACK 和 OP_CAT 操作碼,以支援不受魯賓提案限制的智能合約。儘管該提議遭到了一些反對,並且討論逐漸減少,主要是由於 CAT+CHECKSIG 型別智能合約效率低下,以及人們對全面通用智能合約持有的長期負面印象。
Andrew Poelstra 一開始也不願意支援所謂的比特幣智能合約功能。然而,在 2019 年秋天,和 Ethan Heilman 的一次私下交流改變了他的想法。Ethan Heilman 指出,儘管存在擔憂,但實際上通過 CHECKMULTISIG 就可以實現被認為有害的智能合約,而這類合約由於缺乏認可和可用性,實際上並不被錢包和使用者接受。為了證明這一點,Ethan Heilman 在社交媒體上發起挑戰,鼓勵人們提出可行的「黑暗」智能合約,但至今無人成功。
於是 Andrew Poelstra 轉而開始思考,大家對智能合約的恐懼可能被誇大了。文章還提出,即使存在顧慮,智能合約在比特幣的發展中是不可避免的,並鼓勵繼續探索使用非專用操作碼 OP_CAT 建立智能合約的可能性。
2021 年
接著是 Jeremy Rubin 於 2021 年 7 月 6 日的一篇文章,從比特幣量子安全的角度對 OP_CAT 進行了闡述。Jeremy Rubin 不僅是比特幣開發者,也是 Judica 的創辦人,這是一家比特幣研發組織,專注於開發比特幣的智能合約程式語言 Sapio。
在 郵件 和 部落格文章 中,Jeremy Rubin 討論瞭如何利用 OP_CAT 操作碼和 Lamport 簽名來對比特幣進行量子驗證。作者首先回顧了之前的一篇博文,講述瞭如何利用比特幣指令碼算術和 Lamport 簽名來註冊 5 位元組值的方法。儘管這個方法整潔,但它有其侷限性。Jeremy Rubin 提出了一個想法:如果我們能對更長的資訊進行簽名會怎樣?特別是如果我們能簽署至多 20 位元組,我們就能簽署一個可能是量子安全的 HASH160 摘要。
Jeremy Rubin 在文章進一步探討了對 HASH160 摘要簽名的含義,並解釋了即使量子電腦破解了 ECDSA,也只會洩露私鑰而不會改變實際簽名內容的能力。為此,作者諮詢了密碼學家 Madars Virza,並得到了肯定的回答。
Jeremy Rubin 指出,如果我們要求 ECDSA 簽名使用量子證明簽名演算法進行簽名,我們就能擁有量子證明的比特幣。而之前討論的 5 位元組簽名方案實際上是一個量子安全的 Lamport 簽名。但遺憾的是,這種方法至少需要 20 個連續的位元組。
因此,Jeremy Rubin 提出需要某種類似 OP_CAT 的操作。文章說明 OP_CAT 不能直接軟分叉到 Segwit v0,因為它會修改堆疊。因此,為了簡化,作者展示瞭如何使用一種新的操作碼 OP_SUBSTRINGEQUALVERIFY,該操作碼通過驗證語義來檢查字串的某個部分是否相等。
2021 年 11 月 5 日,在 亞特蘭大比特幣會議 上,Jeremy Rubin 和 Andrew Poelstra 作為演講人,就在討論關於重新啟用操作碼 OP_CAT 的提案,他們認為 OP_CAT 在比特幣的上下文中很重要,並強調了它的潛力,特別是在量子安全性和製作複雜智能合約方面。例如,結合 CAT 和 Schnorr 簽名驗證操作碼,理論上可以實現非遞迴的智能合約。這種智能合約能夠將交易資料的 SHA2 hash直接放入堆疊。通過這樣做,可以在某種程度上對交易的各個部分施加限制。
討論也提到,如果重新引入 CAT,可能會使比特幣在某些方面變得複雜的同時也,會引入新的功能和可能性。重啟 OP_CAT 需要謹慎考慮,以避免過去出現的問題,如記憶體爆炸問題。
2022 年
在 2022 年 5 月 18 日的 比特幣開發者郵件列表中 ,有關重新引入 2010 年從比特幣中移除的 OP_CAT 操作碼的討論中,開發者 ZmnSCPxj 提出,要實現不可避免的遞迴智能合約,需要將 OP_CAT 與 OP_TX、OP_CHECKSIGFROMSTACK(CSFS)等提議的操作碼結合。遞迴智能合約利用比特幣共識規則確保接收到合約的所有比特幣只能被花費在相同的合約上。
遞迴智能合約依賴於事務內省技術,即操作碼可以分析執行該操作碼的事務的一部分。現有的操作碼,提供的都是有限的內省。為了建立遞迴智能合約,需要確保前一個輸出和下一個輸出相同。因此,或前一個輸出、或下一個輸出、或兩者都必須從它們的組成元素中動態構造,這就是為什麼需要 CAT 或類似結構來實現遞迴智能合約。
Nadav Ivgi 指出,在建立遞迴智能合約時,仍然需要 CAT 來解決 hash 問題,但這意味著專注於輸出內省的 CTV 和 APO 等功能也能夠與 CAT 結合建立遞迴智能合約。Ivgi 認為,在與 taproot 的功能結合使用時,通過下一個輸出驗證前一個輸出可以使智能合約指令碼更易於編寫,並提供了兩個遞迴智能合約示例的連結。
ZmnSCPxj 同意 Ivgi 的分析,並重申了他對在比特幣上啟用遞迴智能合約風險的擔憂,儘管他也在後續帖子中指出,遞迴智能合約可能是安全的,因為它們實際上不是圖靈完備的。Russell O』Connor 引用了 Andrew Poelstra 的文章,描述了 CAT 本身如何與已有的比特幣功能結合,足以建立非遞迴智能合約,並且理論上,如果重新新增到比特幣中,也可能能夠自行建立遞迴智能合約。
2023 年
1 月,Anthony Towns 推出了 Bitcoin Inquisition,這是一個復刻了 Bitcoin Core 的軟體,旨在預設的 signet 上執行,用於測試人們提出的軟分叉和其他重大協議變更。截至 2023 年年末,Bitcoin Inquisition 已經支援了多項提案,此外,旨在為 OP_CAT、OP_VAULT 以及限制 64 位元組交易的 PR(拉取請求)已經提交到其程式碼庫,預計將進一步擴展套件這個測試平臺的功能。
2023 年 8 月 23 日,在 Lightning-Dev 郵件列表中 ,Thomas Voegtlin 提出了一個關於過期備份狀態的欺詐證明的想法。Voegtlin 指出,如果比特幣中以軟分叉的方式新增 OP_CHECKSIGFROMSTACK (CSFS) 和 OP_CAT 操作碼,就有可能在鏈上使用這種欺詐證明。該提案引發了大量討論,Peter Todd 指出基本機制是通用的,不僅限於 LN,可能在各種協議中有用,不過他還提出了一個更簡單的機制,在此處就不展開討論了。
到了 10 月,Rusty Russell 對進行更改的比特幣指令碼語言的通用智能合約進行了研究。與此同時非常重要的是,Ethan Heilman 和 Armin Sabouri 聯合釋出了一份 BIP 草案 ,提議新增 OP_CAT 操作碼,該操作碼用於將堆疊上的兩個元素連線起來。這兩個議題的討論持續到了 11 月。
2024 年
時間來到了 2024 年 1 月,Quantum Cats 確實成功地將關於 OP_CAT 的 BIP 和比特幣程式的討論提升到了一個新的水平。
在和社群的互動中,Bitcoin Core 開發者 Ava Chow 曾表示:
我不認為 CTV 是粗略的共識。我認為實際上其他更一般的智能合約提案更接近,例如 txhash 或 CAT。但是,我沒有密切關注討論。
按提交次數排序來看,截至目前, Ava Chow (@achow101 )在 Bitcoin Core 程式碼貢獻者排名中 排名第 5 位,程式碼提交次數達到 1,292 次,也是少數擁有比特幣程式碼合並權之一的人。因此她在開發社群中的影響力也非常大。
因此,Taproot Wizard 的聯創 Eric Wall (@ercwl )這麼說道:
我不是在建議我們啟用 OP_CAT。我支援 OP_CAT 因為它是極有可能達成共識的操作碼。如果您不瞭解 OP_CAT 的情況,我在這張圖片中總結了這種情況。
不過, Ava Chow 似乎對 OP_CAT 的實現並沒有表示絕對贊同:
正如我已經說過的,我不認為任何智能合約提案接近或達成粗略的共識。我認為我們不應該嘗試啟用其中任何一個。
十行程式碼,讓比特幣實現智能合約
正如 Taproot Wizard 的聯創 Eric Wall (@ercwl )說道的那樣:
人們沒有意識到這一點,但 OP_CAT 實際上是比特幣上 zkrollup 的構建塊之一。
OP_CAT 的重新引入為比特幣提供了一個強大的工具,它可以支援像 BitVM 這樣的專案,BitVM 近期推出的概念 —— 在比特幣上驗證任意計算,將因 OP_CAT 而變得更加簡單高效。比特幣生態系統能夠建立更通用、更富有表現力的智能合約。
通過 OP_CAT,可以實現所謂的智能合約,即為特定比特幣輸出設定預先規定的條件。這不僅為新的擴展套件方法,如 Blockstream 的 Ark 等,打開了大門,還支援許多其他依賴於智能合約的創新方法。此外,這標誌著比特幣不僅僅是一種支付網路,還能成為一個多功能、可擴展套件的計算平臺。
雖然 Taproot Wizard 聯創 Eric Wall 對 BitVM 背後的概念感到興奮,但他認為該提案可能是比特幣的「技術死衚衕」,因為其開銷巨大且實現週期長。他擔心 BitVM 可能會分散社群的注意力,阻礙真正的發展。儘管如此,BitVM 的提出仍然表明了區塊鏈技術和智能合約領域的活躍探索和創新精神。
而事實上,Taproot Wizard 專案團隊自己也正致力於在比特幣上實現第二層解決方案,在此前的一次 Space 中,他們也表示完成的 750 萬美元融資,將會用於研究比特幣擴容方案。
因此 OP_CAT 的軟分叉,對他們來說也將是重要的一步。Eric Wall 曾經是 StarkNet 基金會的董事會成員,他對建立無需許可的結算層上構建去中心化金融有著極大的興趣,因此當以太坊在 2019 年開始出現時,他自然而然地被以太坊上的 DeFi 領域所吸引。
當在 2019 年明顯地發現以太坊和其他區塊鏈可以通過使用 zk-Rollups 或樂觀欺詐證明來擴展套件時,比特幣在 DeFi 方面的探索幾乎已被完全放棄。帶著「zk-Rollup 擴容應用於比特幣的可行性」等問題的研究,Wall 轉向支援以太坊上的 DeFi。但終將,他正在努力試圖將這個系統和這些技術優勢引入比特幣。
此外,在 bitcointalk 論壇中關於 OP_CAT 的討論帖中 ,QED 專案的創辦人 Carter Feldman(@cmpeq)被問及將打算如何在比特幣指令碼中利用這一操作碼,以及他是否計算了見證堆疊的平均位元組數以及可能產生的費用時。
Carter Feldman 表示已經認識到這可能會有點昂貴,但他解釋說,默克爾證明在他的專案中主要用於構建一個無信任的鎖定指令碼或掛鉤系統,作為比特幣上 zk 第二層的一部分。這一系統旨在證明在給定的提款樹根(作為零知識證明的公開輸入)的情況下,可以向特定地址提取一定數量的比特幣。
為了解決成本問題,他提到這將是一個手段。他設想,普通使用者可以通過讓包裝 BTC 的賣家在 L2 上鎖定他們的代幣一段時間來購買第二層上的包裝 BTC,在這段時間內,買家必須證明他們已經在比特幣 L1 上向賣家支付。他們知道,如果願意,他們總是可以無信任地換回比特幣。同時,幾個大型流動性提供商會成為實際在 wBTC 和 BTC 之間進行交換的主體,並可能向那些想要從他們那裡購買 wBTC 或將其橋接回比特幣的小型使用者收取小額費用。
因此總的來說,OP_CAT 的這次 BIP 提案僅用 13 行程式碼,就能幫助在比特幣上構建智能合約,但至於具體到每個專案處理細節上,仍將會有大量的討論和嘗試的方案。
模因文化造勢技術推進
TaprootWizards 團隊成員 Rijndael(@rot13maxi)在社交媒體上分享了他們為了創造藝術品而使用的各種複雜機制。為了達成這一目標,他們依賴於多種技術,包括序數遞迴、預簽名交易、對稱密碼學和客戶端負載管理。在藝術創作的過程中,他們特別選擇使用預簽名的交易來執行操作,展示瞭如何使用 OP_CAT 或 CTV 等智能合約預先提交交易的 hash 值。
但 Armin Sabouri 對此發表了富有諷刺意味的評論:
在建立一個不斷髮展的 NFT 集合方面,所投入的程式碼和技術努力可能是重新啟用某個操作碼所需工作量的 100 倍。
OP_CAT 被認為是一個簡單易懂的操作碼,有觀點認為它可以通過簽名 ECDSA 簽名使比特幣成為「量子安全」。這一觀點得到了一些人的支援,並激發了 Taproot Wizard 推出 Quantum Cats 量子貓 NFT 的宣傳活動,通過這些活動來提高對 OP_CAT 的認識。
然而,用模因文化為技術推進而造勢的,不只是 OP_CAT 一個。
受 Quantum Cats 及其 0.1BTC 的售價的啟發,以及或許是帶著部分對其高額售價的不滿情緒,OP_CTV 社群也推出了一個名為 #rubinsreubens 的三明治模因,以宣傳 OP_CTV 的技術。
這個三明治模因起初是作為對量子貓及其模因的一種幽默迴應。然而,它實際上非常有效,因為與 CTV 一樣,它添加了層次結構,你可以根據需要在「sammich」上製作任意數量的層次。
這個三明治模因吸引了許多人的注意。模因是有趣的,可以用來表示對某事的支援,但理解其背後的含義也很重要。#rubinsreubens 的目的在於提高人們對 op_ctv、lnhance 以及新的 BTC 操作碼和啟用智能合約的軟分叉提案的理解。
OP_CAT 失敗的潛在原因
回到 OP_CAT 上來,人們可能會出於多種原因反對引入像 OP_CAT 這樣的功能。首先,增加新的操作碼或特性如 OP_CAT 可能會提高比特幣的複雜性,從而使其更難以理解和安全使用,增加了風險。其次,引入新功能時的安全問題也不容忽視,未經充分測試的特性可能藏有漏洞,損害比特幣的整體安全性。此外,軟分叉的升級如果沒有被所有節點採納,可能會導致網路分裂,造成不同版本的比特幣網路共存,使達成共識變得更加複雜。
新特性可能帶來相容性問題,特別是如果它們不支援舊版節點,可能會將一些節點排除在網路之外,對比特幣的生態系統產生負面影響。特別是對於那些沒有升級的使用者,他們可能會發現自己無法繼續參與網路。此外,有些人可能認為引入新功能是匆忙的決定,而沒有優先考慮解決比特幣核心協議中的緊迫問題。匆忙的變更可能引入不必要的風險和不穩定性。
除了對安全和風險的考慮,OP_CAT 將失敗的兩個很大原因是:比特幣社群對智能合約的恐懼、比特幣智能合約沒有「正統性」。
對智能合約的恐懼
對比特幣智能合約的恐懼可能是實現 OP_CAT 遭遇的另一個重要障礙。智能合約作為區塊鏈技術的一個核心組成部分,在許多區塊鏈專案中發揮著至關重要的作用,尤其是在以太坊等平臺上。
然而,在比特幣社群中,智能合約的接受程度相對較低,這部分是由於對智能合約可能帶來的風險和挑戰的擔憂。智能合約可能會影響比特幣的核心價值觀,例如點對點、去中心化和安全性。比特幣社群對保持這些核心價值觀非常重視,任何被認為威脅到這些價值觀的改變都可能遭到反對。
智能合約的一個主要擔憂是它們可能會增加整個網路的複雜性和安全性風險。智能合約往往涉及複雜的邏輯和程式碼,任何小小的錯誤或漏洞都可能導致嚴重的安全問題,甚至可能導致大規模的資金損失,正如過去在某些區塊鏈專案中所發生的那樣。此外,智能合約的引入可能會使整個系統更難以理解和稽核,從而增加出錯的可能性。
此外,比特幣社群一直非常重視保持網路的穩定性和安全性。比特幣的設計哲學傾向於簡潔和保守,優先考慮網路的安全性和去中心化。因此,任何可能對網路穩定性構成威脅的重大更改都會受到嚴格的審查和廣泛的辯論。OP_CAT 和智能合約的引入,儘管可以為比特幣帶來新的功能和可能性,但也可能會被視為與比特幣的原始願景和設計哲學背道而馳。
中本聰「錯」了?
恢復 OP_CAT 操作碼在社群中引發了深刻的討論,部分原因是它觸及了一個敏感的議題:這是否意味著中本聰錯了?
作為比特幣的創辦人,中本聰的決策和原始設計被許多人奉為聖經,他的原始願景被認為是比特幣發展的核心指南。因此,對中本聰的決策進行任何形式的挑戰或修改,都可能被視為對其遺產的不尊重,或者是對比特幣核心原則的背離。畢竟在區塊鏈行業裡,正統性始終都是一個繞不過去的話題。
因此,恢復 OP_CAT 的提案也觸及了一個更廣泛的問題:比特幣應該是一個靜態的實體,還是應該適應不斷變化的技術環境和使用者需求?
然而,技術領域總是在不斷進步和變化之中,比特幣作為一種技術創新,也不可能完全擺脫這一規律,顯然支援恢復 OP_CAT 的 Taproot Wizard 團隊正是這麼想的。畢竟他們曾有意設計出了有史以來較大的比特幣區塊,略低於比特幣 4MB 限制的方式,來發布 NFT Taproot Wizards。
Taproot Wizard 創辦人 Udi Wertheimer 表示,他明白很多人認為比特幣不應該變化。他認為,比特幣的變化應該是緩慢的、謹慎的、深思熟慮的。
他認為比特幣還太年輕,還不能完全固化,並指出治理過程在某種程度上是破碎的。儘管技術社群普遍認同比特幣將會有更多的升級,但確實很難確定具體會有哪些升級。儘管如此,Wertheimer 強調改變是必要的,因為當前的比特幣還無法為數十億人提供服務。
當然,這樣的改變也伴隨著風險和挑戰,如安全性問題、網路分裂風險、相容性問題等,這些都需要被慎重考慮和解決。
可以預見的是,接下來,為了確保提議的改進安全有效,將 OP_CAT 部署在測試網路環境中是至關重要的步驟,允許開發者在不影響主網路的前提下發現並解決問題。
同時,這想要真正實現 OP_CAT 的「重啟」,整個過程將會持續相當長一段時間,甚至以年為計算單位,因為它涉及到多方面的考慮和平衡,包括技術細節、社群共識、以及對比特幣網路安全和穩定性的考量,以及非常重要的,得到廣泛的社群支援和認可。