詳解比特幣Oridinals協議與BRC20標準的原理創新與侷限

“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.”——比特幣創世區塊

最近 BTC 上手續費區塊收入佔比最高到 74% ,大約 4.85 BTC 手續費,而僅僅兩個月前才 2% 左右,源於數個百倍幣的誕生以及大眾 fomo 的情緒,讓 BRC 20 的市場迎來爆發, 5 月 7 日 Bitcoin 網路上有超過 40 萬筆交易待確認,雖然他和我們熟知的 ERC 20 雖然都被稱為代幣標準,但是實現的機制原理差異巨大,本文將從技術視角嘗試解讀其實現以及價值。

1.1、概述

每一枚比特幣都是由一億個「聰(Satoshis)」構成 ( 1 btc = 10 ^ 8 sat),這些 sat 每一個都有唯一標識且無法分割。

1、根據比特幣裡面 sat 的「序數(ordinal)」,

2、賦予每一個聰特定的含義「Inscriptions(銘刻)」

這就是 Ordinals 協議。

2、聰是如何編號的?

他藉由比特幣獨特的出塊流程和 UTXO 模型,從而讓每一個「聰(sat)」具有獨特的編號。

比特幣是在「挖礦」中產生的,挖礦過程是礦工透過解決複雜的數學問題(POW)獲得出塊權,來驗證新交易並新增到區塊鏈中,比特幣網路每 10 分鐘左右會生成一個新的區塊,每個區塊包含一組新的交易和之前區塊的雜湊值,其中礦工的收益又被稱為Coinbase 區塊

在以太坊中採用“賬戶餘額模型”,即每個地址有單獨的儲存結構和空間餘額(balance)便是其中的一個欄位。

這種模型的優點是:

  • 簡單非常容易理解和編碼實現。
  • 高效,每筆交易只需要驗證傳送賬戶是否有足夠的餘額來支付交易;

缺點:會出現雙重支出攻擊。

可拓展閱讀:【前沿解讀】斯坦福研究員論文-以太坊可逆交易標準 ERC 20/721 R 的機制、創新與侷限

但是比特幣網路不同,他賬戶的餘額並不是由一個數字表明,而是由當前區塊鏈網路中所有跟當前賬戶有關的 UTXO(未花費的交易輸出)組成。

2.1、比特幣的 UTXO 模型

UTXO(Unspent Transaction Output)是一種賬本模型,在比特幣系統中,每一筆交易都會產生一些輸出,比如轉賬交易的輸出就是接收方的比特幣地址和轉賬金額。這些輸出被儲存在 UTXO 集合中,用於記錄未花費的交易輸出。

每一筆交易都由若干個輸入(Input) 和若干個 輸出(Output) 構成。每一筆交易都要花費一筆輸入,產生一筆輸出,而其所產生的輸出,就是“未花費過的交易輸出”;一個 Input 指向的是前面區塊的某個 Output,只有 Coinbase 交易沒有輸入,只有憑空輸出。

UTXO 模型的優點是更加安全和隱私保護,因為它沒有中心化的賬戶記錄和傳統賬戶模型可能洩露的賬戶餘額資訊。

UTXO 模型的缺點是增加了交易的驗證成本和儲存成本。每次交易時都需要驗證交易的支付和接收是否合法,同時也需要儲存大量的 UTXO 資訊。

所以任何交易,總是可以由 Input 溯源到 Coinbase 交易 繼而追溯每一個聰被挖礦挖出時的序號。

  • 從創始塊開始掃描;
  • 遇到某筆交易的某個 output 是指定的地址,餘額增加;
  • 遇到某筆交易的某個 input 是指定的地址,餘額減少;

如果我進行一筆 20 BTC 的轉賬給 B 地址,則 UTXO 集中會呈現,這裡的 input 是上一筆的 output

這裡的 sats 消耗順序,是基於 FIFO”先進先出”(First-In-First-Out )原則,在交易費用相同的情況下,較早的 UTXO 將比較晚的 UTXO 更優先被用於交易。

這些就是 Ordinal NFT 的核心技術支撐,非常的簡潔但是卻能衍生出很多好玩的東西! 這個 Ordinal Number 甚至可以用來表示域名等。

這種表示法有趣的地方在於,它根據比特幣自身的週期性特徵,人為地為 sat 創造了一種稀缺性:

  • common: 所有不是區塊 mint 出的第一個 sat 的 sats
  • uncommon: 該 sat 是某區塊挖出的第一個 sat(D== 0)
  • rare: 難度調整時挖出的第一個 sat(C== 0&&D== 0)
  • epic: 減半時挖出的第一個 sat(B== 0&&D== 0 
  • legendary: 發生 Cycle 輪換時挖出的第一個 sat(B==C==D== 0)
  • mythic: 創世區塊挖出的第一個 sat(A==B==C==D== 0)

比如:https://ordinals.com/sat/1 ° 0 ′ 0 ″ 0 ‴,所以目前產生 Fomo 追逐的核心點並非是 mint 的內容中包含什麼東西,而是對應的 Ordinal Number 這樣的序號值。

如果說序號是結合了比特幣原生的諸多技術特性產生的,那麼銘刻(Inscriptions)則是注入 sat 具體內容的方法,所以問題便來到,有了唯一標識的 sat 如何定義其繫結的任意內容呢?

<h2 “=””>3.1、SegWit(隔離見證)

他是比特幣的一個重大升級於 2017 年 8 月啟用,主要目的是最佳化比特幣的交易處理能力、降低交易費用,並在更安全的條件下實現比特幣的擴容。SegWit 是一個軟分叉(Soft Fork)升級,涵蓋多個 BIP(141、 142、 143、 144 和 145 ),所謂軟分叉也就是可以相容老版本的比特幣客戶端,沒有破壞比特幣網路的相容性。

它的核心改變是把交易中的簽名(Witness Data)從交易資料中分離出來,使交易資料更小,從而減少交易費用,並提高比特幣網路的容量。

SegWit 的實現方式是將所有的交易資料分為兩部分,一部分是交易的基本資訊(Transaction Data),另一部分是交易的簽名資訊(Witness Data),並把簽名資訊儲存在一個新的資料結構中,是被稱為“隔離見證(witness)”的新區塊中,並與原始交易分開傳輸。

這樣,比特幣交易的交易資料大小提高了上限,同時降低了簽名資料的交易費用。在 SegWit 升級之前,比特幣的容量上限是 1 MB,而 SegWit 之後,比特幣交易的容量上限達到了 4 MB。

所以 Oridnals Inscription 的本質就是把銘刻資料藏在見證資料中。

3.2、Taproot 升級

與 SegWit 升級類似,Taproot 升級同樣是一種軟分叉升級,是 Bitcoin Core 貢獻者 Gregory Maxwell 在 2018 年提出的比特幣升級提案,它並不會改變比特幣協議本身,而是對現有的比特幣交易機制進行改進。

該升級主要包含 3 個技術概念 —— P2SH、MAST 和 Schnorr 。其結果是讓複雜的交易如多簽名交易、時間鎖交易看起來如同普通的比特幣交易,增強了比特幣的隱私性,目的是推動了比特幣實現智慧合約部署、拓展用例等各種場景升級。

在 SegWit 升級中,比特幣協議增加了一個新的版本號,用於表示新的交易格式。在 Taproot 升級中,比特幣協議最重要的更改是將指令碼驗證程序從 ScriptVerify flag 更新為 ScriptVerify v2 flag,以支援 Tapscript。

一個Tapscript的上鍊需要分為兩個步驟:commit 和 reveal。而 Inscription(銘刻)的內容則包含在 reveal 交易的第一個輸入中,從而銘刻在此交易的第一個輸出的第一個 sat 上。比如

這裡有多個操作指令,但是開頭必然是 OP_FALSE 此指令被推入執行棧後指令碼就會停止執行,但仍然被存在了鏈上。

所以 Ordinal Inscription 的本質是:在比特幣網路上藉助一個永遠不會被執行的指令碼 tapscript,搭建了一個簡易的記賬層,進行資產和資料的統計和記錄

由於只有記賬,這就意味著不會有類似智慧合約的指令碼執行以及驗證的過程,必然高度依賴鏈下的中心化管理和上報結果。

4、什麼是 BRC 20 ?

BRC-20 的名字乍一看很像以太坊的 ERC 20 ,但其實兩者技術差別非常大,ERC-20 代幣的持有狀態儲存於鏈上 ,能在鏈上得到網路共識。而 BRC 20 則是藉助 Ordinals 協議銘刻的**JSON 格式銘文,**該規範只是定義了 brc-20 代幣的部署、鑄造和轉賬行為, 且BRC-20 代幣的持有狀態由鏈下服務維護 。

部署的 json 是什麼樣的?

對應的 op 還有 Mint 和 Transfer,兩個格式幾乎一致,當然如果熟悉以太坊上交易的話,會覺得奇怪,這裡的轉賬接收方 to 怎麼表示呢?

這是因為轉賬交易生效時,就是該銘文內容對應的 sat 被交易的時候,所以銘文對應的 sat 被誰接收,誰就是 transfer 的物件 ,因此 brc-20 的轉賬必須伴隨比特幣所有權的轉移 (不是隻是作為手續費被消耗)。

中心化機構則依據鏈上登記的各個 op 來推匯出使用者當前應該有的餘額。

如 unisat.io 這樣客戶端軟體(索引器),根據mint、transfer 事件進行統計獲得。如:UTXO 中包含 mint 銘文,就為第一個所有者新增,transfer 則在發起者的地址上扣除餘額,接收者地址加上餘額。

拓展閱讀:【原始碼解讀】你買的 NFT 到底是什麼?

在這個過程中,銘文是 ‘附加’ 交易(聰)上的,比特幣的礦工並不會處理這些銘文,從鏈上來看跟其它聰依然是沒有分別的,他們都是當做普通的聰來轉移的。

5、如何評價 Ordinals 與 BRC 20 

BRC-20 及 Ordinals NFT, 給比特幣帶來了很多爭論,基本分成兩種陣營:

支援方認為,只要你支付手續費,你就有全權以任意的方式使用區塊空間,不論交易是什麼內容,他們 認為 BRC-20 與 NFT 給比特幣帶來了新的文化與敘事,有利於提高比特幣的實際應用價值。

反對方認為,這些 BRC-20 與 NFT 毫無價值是垃圾交易,過多的垃圾交易會搶佔交易頻寬,導致交易入塊時間變長以及手續費變高。

筆者看來,透過上文的技術實現路線可以顯然感受到,雖然新生事物在價格上爆火,但是其技術缺陷也十分顯著

1、過於中心化

Ordinals 協議,必須基於比特幣網路之外的線下服務進行狀態維護。如果底層的狀態服務不可用或者有缺陷,可能導致資產損失,因為比特幣網路沒辦法阻止失效銘文上鍊,中心化平臺要裁定誰的銘文有效,在該平臺上就是有效的。

2、缺乏可信驗證機制

不是採用智慧合約公開透明的程式碼規則,所以該協議無法滿足共識、防止雙花等資金安全的需求。

可拓展閱讀:解讀最新 Final 的 ERC-6147 :極簡的半強制性 NFT 產權分離標準

3、比特幣網路效能侷限

目前比特幣出塊間隔長達十分鐘,交易確認的速度過慢,也會導致交易體驗不佳。而且比特幣的交易成本太高,並且,一筆成功的上鍊銘文交易要扣掉三方抽成,平臺網路資料延遲,以及各種卡頓帶來的預估差錯成本,所以礦工費拉滿至少要 2-3 倍才行

4、缺乏基礎設施

比如作為 token 最核心的交易和定價服務,現在是主要依靠交易平臺的訂單系統保障,完全中心化的結果缺乏權威的交易方法和定價方法。比如其交易場景若沒有中心化平臺裁定極易被雙花作惡。銘文先到先得的 fomo 機制和礦工按礦工費優先打包的機制存在的邏輯悖論,這就決定了 mint 並不一定是公平的

5、缺乏安全性

BRC 20 容易讓使用者產生錯覺,使其認為 BRC 20 是利用了比特幣的安全性進行創造的代幣,會和比特幣一樣的安全以及穩定,但其實它與 BTC 並不一樣,BTC 的安全是建立在加密以及共識演算法所支撐之上,已經相對穩定執行了相當長的時間,經受住了時間的考驗,而 BRC 20 是利用 Ordinals 協議與 BTC 進行繫結,Ordinals 協議目前執行時間短,還在發展初始階段,其中可能會存在一些安全隱患還未被發現。

慢霧也發出 BRC 20 存在的安全風險的提醒:

近期 BRC-20 比較火,我們注意到 BRC-20 從 Mint 代幣到交易,可能存在安全風險:Mint 代幣上,相關的 BRC 20 代幣鑄造平臺安全性存疑,防禦措施較為薄弱,容易被惡意攻擊篡改程式碼,從而導致使用者 Mint 時資產被盜。在交易方法上,有兩種方式:一是私下找第三方擔保交易,很容易遇到騙子、假幣等;二是去專門的交易平臺掛單交易,這些交易平臺的安全性無法得到保證。

筆者雖然並不看好眼前的 Ordinals,畢竟他對區塊空間的應用還是太單調只是把圖片、NFT 放進去並沒有產生更多價值。但是作為一個有趣的嘗試,如此破圈的創新也能重新引發大家的思考:

如何利用比特幣可程式設計性?畢竟如今的公鏈中不會有比比特幣更強的共識與安全性了。

都是儲存空間的利用,其實 Ordinals 協議在 OP-Ruturn 輸出的金融交易,這在本質上和全節點儲存的其他東西沒有什麼不同,但是是否比特幣只能為高淨值交易服務?是否可自由的將區塊空間去儲存和執行一些低成本的資料?

這也讓我想起曾經 Vitalik 為代表提出的:“當你合理地使用技術並且支付了相應的花費,那你的行為就是有合法性的”

附錄

https://docs.ordinals.com/introduction.html

https://github.com/casey/ord/blob/master/bip.mediawiki#specification

https://docs.lightning.engineering/the-lightning-network/taproot-assets/taproot-assets-protocol

https://learnblockchain.cn/article/3050

https://www.wu-talk.com/index.php? m=content&c=index&a=show&catid= 6&id= 13659 

https://learnblockchain.cn/article/5376

  • 跨鏈賽道研報:LayerZero 全鏈互操作協議憑什麼估值 30 億美金(上)
  • 體驗Web3.Unity 並回顧 GameFi 探索之路
  • 以太坊賬號抽象 ERC 4337 的過審方案解讀(上)
  • 解讀最新 Final 的 ERC-6147 :極簡的半強制性 NFT 產權分離標準
  • 從份賬單說起,為什麼鏈上交易值得分析?
  • 解讀 Nostr:抗審查的去中心化社交協議
  • 解讀 Dex 中的無常損失:原理,機制,公式推導
  • 解讀:OpenSea 的強制版稅執行工具

歡迎你從公眾號後臺留言作者,探討web3行業問題,關注十四,用技術視角帶給你價值

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *