比特幣生態正在變得複雜,減半、銘文、符文和各類Layer 2 正在緊鑼密鼓的進行中,疊加ETF 通過後的場外資金湧入,一時間風頭無兩,簡單列舉一下就有Ordinals、 Atomicals、Stamps 和Runes,繼續細分衍生協議就會發現概念有多繁雜。
ARC-20
SRC-20
Runes
BRC-420
BRC-100/102
不同於常聽到的ERC-20 和ERC-721,它們兩人分別在以太坊取得FT 和NFT 的標準定義地位,整個EVM 生態的都是對其的改造,比特幣上的各類協議還在競爭,接下來,我判斷,才是具體代幣之爭。
這種情況在以太坊擴容上已經示範過一次,通常會分為三個步驟:
技術範式競爭,Plasma、Rollup(ZK/SNARK/STARK、OP)、狀態通道和側鏈四種,Rollup 路線勝出;
具體協議競爭,ZK 系Rollup zkSync、Starknet、Scroll,OP 系OP Mainnet、Arbitrum One 生態競爭;
完成代幣發行,OP 系龍頭率先發幣,ZK 系慢隨其後。
代幣發行之後,各項目基本上就會躺平,產業敘事焦點也會變換,這些代幣只會在板塊輪動時偶爾暴漲或暴跌,才會短暫出現在人們眼中。
推廣而言,在DA 競爭、DEX 競爭、去中心化排序器,甚至於公鏈競爭等所有區塊鏈賽道都會呈現這個規律,這也是我之前認為BTC L2 會遵循以太坊擴容路線演進的原因。
這個規律會發生在比特幣之上嗎?
BTC L2 正在進行中,難以下最終判斷。銘文類協議也許會,原生Ordinals 由BRC-20 引燃也是事實,但是Runes(符文)的情況會有所不同,一方面,Runes 創始人Casey Rodarmor 明確Runes 不會發行代幣,另一方面, Runes 是補齊了比特幣上的資產發行功能,最終增強的是BTC 的價值捕捉能力,就像Uniswap 賦能於以太坊生態和ETH 而非UNI 一樣。 (心疼UNI 持有者一秒鐘)
有趣之處在於,比特幣有可能會不同於任何其他區塊鏈的範式演進過程,基於此,可以歸納出一種潛在的比特幣上的資產發行規律,從BTC、Ordinals 到Runes 分別是主網原生代幣,NFT 發行協議和FT 發行協議,最終導流至BTC 本身。
當然,這個推論並不一定正確,銘文類協議,如BRC-20 已經推出ORDI 代幣(ORDI 代幣和Ordinals 協議無關),事實上已經實現了Runes 的FT 資產發行功能。
理解比特幣:減半和UTXO
Runes 有可能在今年4 月減半時的840000 的區塊高度開始發行。
為大家拆解下這句話:
2024 年4 月減半,或人們常說的4 年是減半週期,演算法來自中本聰的設計,每10 分鐘產生一個區塊,21 萬個為一輪,一天有1440 個10 分鐘,一年有365 天,所以算下來大約每四年減半一次。
減半週期計算方式
減半,中本聰設計的區塊獎勵機制,每21 萬個區塊減半一次,即第一個21 萬內,每產生一個區塊,可以挖出50 個比特幣,然後是25 個,現在是第三個週期,每個區塊獎勵12.5 個,21 萬X 4 = 84 萬,所以到下一個週期的時刻就是84 萬,期間產生的區塊獎勵就是6.25 個,最終,根據減半週期,可以算出比特幣總量為2,100 萬個。
比特幣總量計算公式
沿著這個想法繼續深入一下,本輪週期結束後,可以算出1837.5 萬個比特幣會被挖出,佔2100 萬個發行量的87.5%,礦工的收益會越來越倚重手續費。
這裡手續費指的是礦工打包區塊交易的費用,一般而言,礦工收入由兩部分構成,除了手續費外,還有挖礦獎勵,比特幣的挖礦其實就是純粹的算力競賽,而非去求解任何具體問題。
以往,交易手續費只有挖礦獎勵的1/100 甚至更低,但是以後可就不一定了,銘文、符文協議會導致大量比特幣主網交易活躍,而挖礦獎勵會逐步減半,最終無限接近零,屆時,交易費用必須覆蓋礦工成本,才能從根本維持比特幣的安全性。
繼續深入,比特幣手續費就來自於UTXO 概念,UTXO 是Ordinals 和Runes 的依賴,也是兩者不依賴鏈下資料的技術源頭,目前的公鏈體系,實際上也可分為UTXO 、智能合約( EVM)、Cosmos 三大主流機制,常見的各大區塊鏈基本上都可歸入其中。
區塊鏈類型劃分
實際上,UTXO 很反常識,全稱為“Unspent Transaction(Tx) Output”,即未花費的交易輸出。
以太坊不是這樣的,以太坊上的地址(排除智能合約地址),都可以直接顯示餘額,擴展到Solana 等非EVM 體系,依然可以地址顯示餘額,可以執行智能合約等複雜操作,這也是它們都被歸納為智慧合約類型區塊鏈的原因。
但是UTXO 機制的比特幣也需要顯示餘額,那麼這時候就需要開腦洞,如果一個人的地址餘額無法顯示,那就直接顯示所有的交易記錄,如果每個人都能知道所有地址的交易記錄,那麼自然可以「推算出」自己還有多少比特幣。
例如,Alice、Bob 和Case 三人使用BTC 來交易,已知Alice 有10 BTC,Bob 和Case 都是0 BTC,礦工善心大發不收手續費:
Alice 向Bob 發送10 BTC,此時Alice 餘額為0,Bob 餘額為10,Case 餘額為0;
Bob 向Case 發送5 BTC,此時Alice 餘額為0,Bob 餘額為5,Case 餘額為5;
Case 向Alice 發送2.5 BTC,此時Alice 餘額為2.5,Bob 餘額為5,Case 餘額為2.5;
由於比特幣的哈希鍊錶結構,全網節點只需要更新最後一次交易信息,便可對全部交易記錄進行驗證,也就間接“推算出”每個地址的餘額,聰明的你已經感覺到了,比特幣主網記錄的只是轉帳信息,就可以對BTC 轉移記錄進行跟踪,也就根本就不需要記錄地址餘額,這也是其能夠保持簡潔性的根本原因。
需要說明,三者的餘額只是說明轉帳訊息,本質上比特幣沒有帳戶體系,切記切記。
如果是以太坊,那麼這個進程應該是這樣運作:
Alice 向Bob 發送10 ETH,Alice -10 ETH,餘額為0,Bob +10 ETH,餘額為10,跟Case 無關,不需要記錄;
Bob 向Case 發送5 ETH,Bob - 5 ETH,餘額為5,Case +5 ETH,餘額為10,跟Alice 無關,不需要記錄;
Case 向Alice 發送2.5 ETH,Alice + 2.5 ETH,餘額為2.5,Case - 2.5 ETH,餘額為2.5,跟Bob 無關,不需要記錄。
這裡的餘額就是真的以太坊地址有多少ETH,而不是單純記錄交易資訊。
一個區塊之內,可以打包多個交易,這些交易有先後順序,按照Gas 高者優先,來排隊輸出。
比特幣資料結構
總之,順序可以被建立,也就可以被記錄,並且,可以在交易時寫一些“備註”,如果按照特定的順序去組合這些備註,就可以產生有意義的文本、圖像甚至音視頻,他們本質上都可被表達為二進位數據,組合這些順序的叫索引器(Indexer),組合成有意義的文字叫做銘文(Inscription)。
如果對其進行改進,規定某些刻錄資訊要遵循同樣的規律,例如同樣的文本符號,數字具備登長的精度,某個數字代表某個地址所有權,那麼,一個簡陋但足夠使用的FT 協議便誕生,這就是符文。
歸納下,不論銘文還是符文,都是基於UTXO 的交易順序,這也是二者都是基於比特幣的最主要理由,而索引器或者排序,即使出現錯誤,都不影響比特幣上的數據生成。
可以稍微擴充一下,有兩類特殊的比特幣是沒有輸入或輸出的:
Coinbase 交易,不是那個交易所,而是比特幣的產生方式叫Coinbase,礦工打包成功後會產生一個BTC,這也是比特幣的唯一生產方式,這種交易沒有輸入,只有輸出,因為是被憑空創造出來的,沒有上一個交易資訊; 中本聰地址的比特幣沒有輸出,因為中本聰從來沒有花過,但這不是技術限制,而是他自己選擇如此,等同於被動銷毀,也被稱為黑洞地址;
UTXO 並不神秘,就是一個記錄沒有花費的集合,當花費時會自動去除,任何一個交易必須有輸入和輸出,即存在兩個交易對象,除了Coinbase 交易沒有輸入外,都是如此。
(UTXO 技術原理與實現方式不過度展開,歡迎專業人士補充~)
銘文進化至符文
了解減半機制和UTXO 工作原理,已經非常接近Ordinal 協議的實現方式,比如說,漢的字順序不響影閱讀,當然,計算機無法處理存在錯誤的信息,人類才有在大腦中自行解碼信息的能力,所以要排序。
若每個字排序,依照正常語序,則是(漢,0),(字,1),(的,2),(順,3),(序,4),(不,5), (影,6),(響,7),(閱,8)(讀,9)。
此時,我們只需要讓計算機記住0123456789 的順序即可,如果想改變意思,比如展示“漢的字順序不響影閱讀”,那麼計算機顯示0213457689 即可。
不過唯一的瑕疵在於,展示排序的機制,即索引器(Indexer)無法部署在比特幣之上,需要在鏈下記錄和整理訊息,以平衡成本。
在比特幣上,記錄「漢字的順序不影響閱讀」或「漢的字順序不響影閱讀」和每個字對應的數字,這十個字順序無關緊要; 索引器上,整理漢字對應的數字,依照使用者想要的格式輸出。
銘文和NFT 詳細對比
在和NFT 比較上,銘文認為自己才是鏈上存儲,從數據的存儲方式上而言,確實如此,但是在去中心化程度上,則見仁見智,銘文的索引器並不總是去中心化或運行在鏈上的,即使運行在鏈上,單節點或節點數量過少也會造成中心化問題。
NFT 是將影像儲存在AWS 等雲端廠商或IPFS/Filecoin 和Arweave 等去中心化儲存方案中,而將儲存指向連結寫在鏈上,並且通常NFT 部署方可以改變鏈接,但是好處也是顯而易見的,極致的便宜,而比特幣鏈上,儲存實在太貴了,具體可參考我之前寫的文章:1.5 BTC 存亂碼,中本聰活了?抽絲剝繭尋真相~。
銘文和NFT 的工作原理
事實上,到此為止,絕大多數的銘文/符文或者各類的XRC-20 之類的工作原理都已經敘述完畢,無非是加一點中心化提高效率,搞一些空投拉拉人氣的平常操作。
或者用Casey Rodarmor 的話來說,RGB、Taproot Assets 等都無法同時滿足三個條件:
- 不使用鏈下數據
- 不發行新代幣
- 基於UTXO 機制
為了防止誤解,對以上三條做補充說明,不使用鏈下數據≠ 不能使用索引器,索引器只是排序,數據還是在鏈上好好存著;不發行新代幣,是指協議本身不發行代幣≠ 不能用協議來發幣,例如你可以用Runes 來發自己的幣,但是Runes 本身沒有協議代幣,完全使用BTC 來運作;基於UTXO 機制是為了不給比特幣主網增加額外負擔,盡量不干擾比特幣正常交易行為,這也是Casey 發明Runes 協議的初心。
也就是說,BRC-20 可以發代幣,但是Casey 認為其不是UTXO 機制,並且會「扭曲」 Ordinal 的初心,乾脆自己出一個比特幣上的FT 資產協議。
從這個角度而言,Runes 是Ordinal 的正統續作,兩者將分別負責比特幣上FT 和NFT 類型資產的發行,並有望徹底終結標準協議之爭。
各區塊鏈代幣類型
有別於以太坊是先有ERC-20 標準,再有ERC-721 標準,比特幣上的進程顛倒了,因此,Runes 會更像Ordinal ,也就是在NFT 上改造出FT 發行方式。
具體而言,並不複雜,我只對其做簡略說明:
- 發行:參考ERC-20 設計,發行方必須設計好代幣名稱和最大精度;
- 轉移:比特幣沒有帳戶體系,因此是透過記錄訊息,「模擬」進行轉移。
實現過程不再探究,因為確實很簡陋,在同人續作Rune Alpha 中,透過PBST(部分簽名的比特幣交易),可以讓多方簽署同一筆交易,例如匹配賣家和買家的簽名,在完成後將結果廣播至主網,這種方式就合乎人類的直覺邏輯,尤其是以太坊用戶。
雖然本文是符文主題,但也能感受到大量筆墨花在比特幣原理上,但這就是銘文和符文的優勢,它們就是比特幣功能的補強,而非自己的創造,其一切行為都是對比特幣已有功能的運用與改造。
而緊接在Runes 其後出現的Rune Alpha、RSIC 和Runestone 都是熱度佳作,能否延續BRC-20 對Ordinal 的奪捨還未可知。
結語
從協議演進到代幣發行,這個規律在區塊鏈中屢試不爽,甚至於不發幣的Ordinal 都被BRC-20 搶光風頭,但是Runes 本身不需要代幣支撐其運作,BTC 從哪一個角度都是合格的,Casey 本人在意識形態上同情“比特幣極大主義者”,但是更重要的是認識到現實引力的沉重,不能空喊口號,所以不贊成封鎖銘文,但是也承認對UTXO 造成的擁堵,因而提出Runes 協議,看似矛盾的背後,或者說他是「行意識形態之實,去意識形態之名」更為合適。
從去年以來,銘文、ETF、BTC L2 和符文的風潮接連來襲,但是對比特幣原理的漠視導致各類XRC-20 亂飛,比特幣是掌管礦工收入的神,中本聰是用數學和程式作畫的大師,為了在挖礦獎勵愈發減少的時代維護比特幣的監控,協議之爭越早結束越好。