交易是 web3 的靈魂,注意力是 web3 的最核心資源,價格是簇擁的起點,價值是時間的終點。
BTC 減半已經(jīng)過去一個月,而眾望所歸的 Runes 協(xié)議也過去一個月,這期間涌現(xiàn)出十余家代打平臺,交易市場,在減半當天,甚至一筆代打一張 Runes 資產(chǎn)都需要超過 100 美金的成本。
本文以 Runes 資產(chǎn)為例,分析哪家才是比特幣上資產(chǎn)代打(蝕刻)模型的最佳機制?
1、Runes 代打平臺 GAS 排名
下圖是十四君梳理的一覽圖。


從方案角度排名,核心結論是:
- gas 成本上拆分 + 鏈式方案< 鏈式< 拆分 < 單打
- 中心化程度:鏈式(無中間地址)< 拆分(無中間地址) < 鏈式 (有中間地址) < 拆分(有中間地址)
- 資產(chǎn)歸集:鏈式 > 拆分 + 鏈式 > 拆分
- 批量上鏈速度:拆分 = 拆分 + 鏈式 > 鏈式
乍一看可能有些迷糊,什么是鏈式,什么是拆分呢?
1.1、Runes 蝕刻機制簡述
Runes 使用的是蝕刻技術,是一種簡單直觀記錄信息到鏈上的方式:即寫入 bitc 中 UTXO(未花費交易)的 op-return 字段內,從功能在 Bitcoin Core 客戶端 0.9 版中開始啟用的 (14 年),OP-RETURN 會創(chuàng)造了一種明確的可驗證不可消費型輸出,讓數(shù)據(jù)存在區(qū)塊鏈上,類似于 utxo 的輸出,但并不可被消費。
在 btc 的區(qū)塊鏈瀏覽器中可以輕松看到,該筆交易就附著了一個 op-return 的信息,比如下圖:


可以看到,這里的輸出#3,其實是游離的,雖然他占據(jù)的一個該筆 utxo 的 output 的輸出位置,但是他是一個閉環(huán)的圓矩形,這就說明他是不能被再次轉移消費的,所以他就像是一個交易的備注區(qū)一樣,就留在了比特幣的存儲空間上,通過交易哈希區(qū)索引找到他。
細心的你可能會發(fā)現(xiàn), 為什么 OP_RETURN 的后面有一個 RUNE_TEST 這就是將具體內容解碼后的結果,點開明細按鈕后,就可以找到 52554e455f54455354 這樣的編碼串,其實一串十六進制編碼數(shù)據(jù),解碼后就可以得到 RUNE_TEST,同理,明細里還有其他的編碼,最終解碼后會成為一串字符串,大概是 json 的格式,從而體現(xiàn)出 Runes 資產(chǎn)的部署、鑄造、發(fā)行等等寓意。
因此,所謂代打,具體機制總結起來就是:Runes 一筆交易只能代打一個資產(chǎn)。
那么所謂交易成本,在 BTC 中就是交易鏈上數(shù)據(jù)量的大小來體現(xiàn),那么代打平臺的設計,就等同于誰可以最小程度的控制交易中出現(xiàn)的 utxo 數(shù)量,就是最優(yōu)模型。
下面讓我們展開講解拆分模型和鏈式模型。
1.2、拆分模型
所謂拆分模型,是在代打過程中先進行一筆交易拆分出多個子交易,每個子交易再進行資產(chǎn)鑄造過程。
例如 tools.mempool 的代打方案,執(zhí)行時如下圖所示,
第一筆交易會預估算出每個子交易的手續(xù)費消耗,然后預留出 546(比特幣常見粉塵值)+ 手續(xù)費金額,進行拆分出多個 UTXO,這里會發(fā)現(xiàn)他轉入到某個新的地址。


第二筆交易則是再從新的地址轉回到用戶地址,并且完成代打,用戶也收攏到 Runes 資產(chǎn)。


這種模型顯著的問題就是:
需要先一筆交易拆分,并且用戶得到的是分散的 UTXO。
那么當用戶想要掛單賣出的時候,要么逐個掛單,要么先合并再掛單,對于大客戶而言,會增加交易的成本。
并且 tools.mempool 平臺在拆分交易中并不會為用戶也執(zhí)行一次代打,所以綜合損耗是拆分模型中較高的。
1.3、鏈式模式
所謂鏈式就類似下列結構,用戶最初的有 2W 個聰,每一個交易都是消費上一個還在內存池的交易,這樣也是多筆交易。


這里會發(fā)現(xiàn),這而尾號為 s2t4 所收取的 6144 個聰就是平臺的代打手續(xù)費,對比執(zhí)行代打所需要本身的手續(xù)費 3892 而言,可以說代打平臺的收益是很高的,
該平臺,就是之前號稱 5 天開發(fā)完 Runes 代打 + 交易市場的 Runestone,其實從交易上看該平臺早就無人問津,但是在最初的那幾天,還是產(chǎn)生了幾乎 3 個 BTC(150W 以上)的手續(xù)費收入,對于個人開發(fā)者而言不可無不高啊。
然而這是其實是毫無意義的費用,已經(jīng)有多個平臺都有開源代打代碼,比如 OKX 也開源了 Runes 代碼:完美解決 Runes 編解碼和代打問題,開發(fā)者可以直接引用構建自己的代打工具 https://github.com/okx/js-wallet-sdk 。
回到鏈式,由于他幾乎是首筆進行了手續(xù)費收取,后續(xù)的每一筆交易都是如下圖一般循環(huán)處理,所以他其實本身數(shù)據(jù)量是比較少的。


2、Runes 最佳代打模型:拆分 + 鏈式
luminex 是目前相對較佳的方案模型,即可做大批量 mint,平臺帶有 utxo 拆分工具便于使用,采用拆分 + 鏈式方案。
如下圖所示:
- 該平臺在拆分就會先給用戶打上一筆資產(chǎn),一點不浪費。
- 并且如果鑄造在 25 次以內,拆分出足夠鏈式鑄造的 gas,然后執(zhí)行鑄造。
- 最后如果鑄造在 25 次以上,就會拆分出多個鏈式的所需的 gas,然后執(zhí)行鑄造。
雖然這樣基本手續(xù)費并不優(yōu)于鏈式,但是他可以做到至關重要的大批量鑄造,以及他的上鏈效率可以卡在極限 2 個區(qū)塊內完成鑄造。


2.1、為什么會有上鏈效率的指標呢?
這是因為 BTC 節(jié)點有個防止 Dos 攻擊的機制,
在單 utxo 的 vout 被消費以及其被消費的鏈路里,會限制最多 25 個交易在內存池中。
這是為什么大多數(shù)大批量 Mint 多數(shù)采用中間地址的原因,目的是解除這樣的限制。對于鏈式而言,資產(chǎn)會疊加起來最終轉給用戶。
因此鏈式模型只有 25 個交易可以同時在內存池中,但是拆分模型則是在拆分的交易上鏈后,可以無限值放到內存池中(因為父交易已經(jīng)不在內存池,每個 utxo 的 vout 都獨立計算 25 限制)
所以 luminex 作為最優(yōu)模型,并不只是 gas 最低,而是即保持 gas 很低,也還有大批鑄造的能力。
不過,其實也還有比 luminex 更好的模型。
因為 luminex 的拆分交易也會單獨代打給用戶,但是這個資產(chǎn)其實是不用轉給用戶的,而是可以轉給第二個鏈式交易的 utxo 里,因為 Runes 有資產(chǎn)默認流動機制,這樣可以再 luminex 的情況下在減少一個 utxo 的成本。
2.2、BTC 手續(xù)費優(yōu)化率對比
講述了半天成本,那成本究竟如何衡量?其實很簡單,用戶平時設置的是單價,即類似于 gasPrice,但是 BTC 上其實是完全依賴于存儲數(shù)據(jù)作為數(shù)量單位即 vsize。
所以咱們以 taproot 地址為例(不同地址手續(xù)費不同,taproot 地址屬于較低的手續(xù)費),此種地址的結構中:
- 每增加一個 input,vsize 增加 58。
- 每增加一個 output,vsize 增加 43。
- 而寫入每個 OP_RETURN ,vsize 需要 30 左右。
因此我們可以算出來以下優(yōu)化率
鏈式 批量 Mint 10 筆,成本:i * 10 + o10 +p10 = 1310
拆分 批量 Mint 10 筆,成本:i * 10 + o10 +o9 +p*10= 1697
gas 優(yōu)化率:(1697-1310)/1697 = 22.8%
鏈式 批量 Mint 20 筆,成本:i * 20 + o20 +p20= 2620
拆分 批量 Mint 20 筆,成本:i * 20 + o20 +o19 +p*20= 3437
gas 優(yōu)化率:(3437-2620)/3437 = 23.8%
看似 20% 不多,但是在單筆鑄造就要消耗 100U 的巔峰期,10 次批量就可以降低 200U 的成本,細微的成本價差最終映射到成交的心理閾值上。
面對高昂的代打手續(xù)費,未來期望在 web3 圈子里分到最早一杯羹的人,還是需要學會基礎的 node js,從而直接運行各家開源代碼(如上文提及的 OKX 開源的簽名組件)從而直接越過平臺收費問題,甚至在下篇交易市場篇中,也可以直接越過多家平臺阻攔直接構建跨平臺交易,甚至直接監(jiān)聽內存池,直接搶跑謀取收益。
3、總結
Runes 資產(chǎn)協(xié)議發(fā)行 1 個月,可惜最終并沒有突破 10 億美金的閾值,也傳出 Ordinals 與 runes 創(chuàng)始人 casey 要 seppuku 的直播趣談。
但歸根究底,還是生態(tài)中,代打和市場兩個核心基建不完善,讓散戶參與成本過高,讓機構參與缺乏生態(tài)運營。
首先目前出現(xiàn)的平臺要么收取高額手續(xù)費,要么功能不齊全。比如 Runestone 雖然鏈式成本低,但是其 gas 估算不準確,容易導致最后一筆交易的磨損,伴隨上鏈的不確定性,逐步使其退出市場。
還有,目前的代打模型,還是忽略了用戶真實訴求,交易本身。
各個打到的資產(chǎn),往往需要更快速的轉手出去,但是在市場早期價格波動巨大的情況,并且 btc 極度擁擠,其實除了項目方自己市場行為之外,并不會有太多的大批量打資產(chǎn)的需求,換言之,有這么大資金量去打 1000 筆資產(chǎn)的,也自己有能力去做到,平臺的核心用戶是散戶。
因此鏈式雖然成本低,但他并不適合最最早期,在高速波動的定價中,在市場缺乏拆分工具的情況下,鏈式產(chǎn)生的 20 多張復合在 1 筆交易中,會讓交易的掃貨的閾值變高。
最后本文是 BTC 上資產(chǎn)的代打機制篇,后續(xù)還有一份交易市場模型篇,可以適配到(BRC20、Ordinals、Atomical、Runes)等等新資產(chǎn)的交易模式,敬請關注,切勿錯過。