什麼是BTC上最好的資產代打模型?

avatar
十四君
7個月前
本文約3073字,閱讀全文需要約4分鐘
以Runes為例,分析比特幣上資產代打(蝕刻)模型的最佳機制。

前言

交易是web3的靈魂,注意力是web3最核心的資源,價格是簇擁的起點,價值是時間的終點。 BTC 減半已經過去一個月,而眾望所歸的Runes 協議也過去一個月,這段期間湧現出十餘家代打平台,交易市場,在減半當天,甚至一筆代打一張Runes 資產都需要超過100 美金的成本。本文以 Runes 資產為例,分析哪一家才是比特幣上資產代打(蝕刻)模型的最佳機制?

1、Runes 代打平台 GAS 排名

下圖是十四君梳理的一覽圖。

什麼是BTC上最好的資產代打模型?

從方案角度排名,核心結論是:

  • gas 成本上“拆分+鍊式方案” < “鍊式” < ”拆分” < ”單打“

  • 中心化程度:鍊式(無中間位址)< 分割(無中間位址) < 鍊式(有中間位址) < 分割(有中間位址)

  • 資產歸集:鍊式> 拆分+鍊式> 拆分

  • 批量上鍊速度:拆分= 拆分+鍊式> 鍊式

  • 乍看之下可能有些迷糊,什麼是鍊式,什麼是分割呢?這就要回歸到 Runes 協議本身了,建議拓展閱讀:《 BTC 減半在即,解讀 Runes 協議的底層設計機制與局限

1.1、Runes 蝕刻機制簡述

Runes 使用的是蝕刻技術,是一種簡單直觀記錄資訊到鏈上的方式:即寫入bitc 中UTXO(未花費交易)的op-return 欄位內,從功能在Bitcoin Core 用戶端0.9 版中開始啟用的( 14 年),OP-RETURN 會創造了一種明確的可驗證不可消費型輸出,讓數據存在區塊鏈上,類似於utxo 的輸出,但並不可被消費。在 btc 的區塊鏈瀏覽器中可以輕鬆看到,該筆交易就附著了一個 op-return 的訊息,例如下圖:

    什麼是BTC上最好的資產代打模型?

可以看到,這裡的輸出#3 ,其實是遊離的,雖然他佔據的一個該筆utxo 的output 的輸出位置,但是他是一個閉環的圓矩形,這就說明他是不能被再次轉移消費的,所以他就像是一個交易的備註區一樣,就留在了比特幣的儲存空間上,透過交易哈希區索引找到他。細心的你可能會發現, 為什麼OP_RETURN 的後面有一個RUNE_TEST 這就是將具體內容解碼後的結果,點開明細按鈕後,就可以找到52554 e 455 f 54455354 這樣的編碼串,其實一串十六進制編碼數據,解碼後就可以得到RUNE_TEST,同理,明細裡還有其他的編碼,最終解碼後會成為一串字符串,大概是json 的格式,從而體現出Runes 資產的部署、鑄造、發行等等寓意。

因此,所謂代打,具體機制總結起來就是: Runes 一筆交易只能代打一個資產

那麼所謂交易成本,在 BTC 中就是交易鏈上資料量的大小來體現,那麼代打平台的設計,就等同於誰可以最小程度的控制交易中出現的 utxo 數量,就是最優模型。以下讓我們展開講解拆分模型和鍊式模型

1.2、拆分模型

所謂拆分模型,是在代打過程中先進行一筆交易拆分出多個子交易,每個子交易再進行資產鑄造過程。

例如tools.mempool 的代打方案,執行時如下圖所示,第一筆交易會預估算出每個子交易的手續費消耗,然後預留出546 (比特幣常見粉塵值)+手續費金額,進行拆分出多個UTXO,這裡會發現他轉入到某個新的位址。

    什麼是BTC上最好的資產代打模型?

第二筆交易則是再從新的地址轉回使用者地址,完成代打,用戶也收攏到 Runes 資產。

    什麼是BTC上最好的資產代打模型?

這個模型顯著的問題就是:需要先一筆交易拆分,而用戶得到的是分散的 UTXO。那麼當用戶想要掛單賣出的時候,要嘛逐一掛單,要嘛先合併再掛單,對於大客戶而言,會增加交易的成本。且 tools.mempool 平台在分割交易中並不會為使用者也執行一次代打,所以綜合損耗是分割模型中較高的。

1.3、鍊式模式

所謂鍊式就類似下列結構,用戶最初的有 2 W 個聰,每一個交易都是消費上一個還在內存池的交易,這樣也是多筆交易。

    什麼是BTC上最好的資產代打模型?

這裡會發現,這而尾號為 s 2 t 4 所收取的 6144 個聰就是平台的代打手續費,對比執行代打所需要本身的手續費 3892 而言,可以說代打平台的收益是很高的,

該平台,就是之前號稱 5 天開發完 Runes 代打+交易市場的 Runestone,其實從交易上看該平台早就無人問津,但是在最初的那幾天,還是產生了幾乎3 個BTC(150 W 以上)的手續費收入,對個人開發者而言不可無不高啊。

然而這是其實是毫無意義的費用,已經有多個平台都有開源代打代碼,例如 OKX 也開源了 Runes 代碼:完美解決 Runes 編解碼和代打問題,開發者可以直接引用構建自己的代打工具https ://github.com/okx/js-wallet-sdk。

回到鍊式,由於他幾乎是首筆進行了手續費收取,後續的每一筆交易都是如下圖一般循環處理,所以他其實本身數據量是比較少的。

    什麼是BTC上最好的資產代打模型?

2、Runes 最佳代打模型:分割+鍊式

luminex 是目前相對較佳的方案模型,即可做大批量 mint,平台帶有 utxo 拆分工具便於使用,採用拆分+鍊式方案。如下圖所示:

  • 該平台在拆分就會先給用戶打上一筆資產,一點不浪費。

  • 並且如果鑄造在 25 次以內,拆分出足夠鍊式鑄造的 gas,然後執行鑄造。

  • 最後如果鑄造在 25 次以上,就會拆分出多個鍊式的所需的 gas,然後執行鑄造。

雖然這樣基本手續費並不優於鍊式,但是他可以做到至關重要的大批量鑄造,以及他的上鍊效率可以卡在極限 2 個區塊內完成鑄造。

什麼是BTC上最好的資產代打模型?

2.1.為什麼會有上鍊效率的指標呢?

這是因為 BTC 節點有個防止 Dos 攻擊的機制,

在單utxo 的 vout 被消費以及其被消費的連結裡,會限制最多 25 個交易在記憶體池中。

這就是為什麼大多數大批量 Mint 多數採用中間位址的原因,目的是解除這樣的限制。對於鍊式而言,資產會疊加起來最終轉給使用者。

因此鍊式模型只有25 個交易可以同時在記憶體池中,但是拆分模型則是在拆分的交易上鍊後,可以無限值放到內存池中(因為父交易已經不在內存池,每個utxo的vout 都獨立計算25 限制)所以luminex 作為最優模型,不只是gas 最低,而是即保持gas 很低,也還有大批鑄造的能力。

不過,其實也還有比 luminex 更好的模型。

因為luminex 的分拆交易也會單獨代打給用戶,但這個資產其實是不用轉給用戶的,而是可以轉給第二個鍊式交易的utxo 裡,因為Runes 有資產預設流動機制,這樣可以再luminex 的情況下在減少一個utxo 的成本。

2.2、BTC 手續費優化率對比

講述了半天成本,那成本究竟如何衡量?其實很簡單,使用者平常設定的是單價,也就是類似 gasPrice,但 BTC 其實是完全依賴儲存資料作為數量單位即 vsize。所以咱們以 taproot 地址為例(不同地址手續費不同,taproot 地址屬於較低的手續費),此種地址的結構中:

  1. 每增加一個 input,vsize 增加 58 。

  2. 每增加一個 output,vsize 增加 43 。

  3. 而寫入每個 OP_RETURN ,vsize 需要 30 左右。

因此我們可以算出以下優化率

鍊式批量 Mint 10 筆,成本:i * 10 + o 10 +p 10 = 1310

分割批量 Mint 10 筆,成本:i * 10 + o 10 +o 9 +p* 10 = 1697

gas 最佳化率:( 1697-1310)/1697 = 22.8%

鍊式批量 Mint 20 筆,成本:i * 20 + o 20 +p 20 = 2620

分割批量 Mint 20 筆,成本:i * 20 + o 20 +o 19 +p* 20 = 3437

gas 最佳化率:( 3437-2620)/3437 = 23.8%

看似 20% 不多,但是在單筆鑄造就要消耗 100 U 的巔峰期, 10 次批量就可以降低 200 U 的成本,細微的成本價差最終映射到成交的心理閾值上。

面對高昂的代打手續費,未來期望在web3圈子里分到最早一杯羹的人,還是需要學會基礎的node js,從而直接運行各家開源代碼(如上文提及的OKX 開源的簽名組件)從而直接越過平台收費問題,甚至在下篇交易市場篇中,也可以直接越過多家平台阻攔直接建構跨平台交易,甚至直接監聽內存池,直接搶跑謀取收益。

3、總結

Runes 資產協議發行 1 個月,可惜最終並沒有突破 10 億美金的閾值,也傳出 Ordinals 與 runes 創始人 casey 要 seppuku 的直播趣談。

但歸根究底,還是生態中,代打和市場兩個核心基建不完善,讓散戶參與成本過高,讓機構參與缺乏生態運作。

首先目前出現的平台要嘛收取高額手續費,要嘛功能不齊全。例如 Runestone 雖然鍊式成本低,但其 gas 估算不準確,容易導致最後一筆交易的磨損,伴隨上鍊的不確定性,逐步使其退出市場。

還有,目前的代打模型,還是忽略了用戶真實訴求,交易本身。

各個打到的資產,往往需要更快速的轉手出去,但是在市場早期價格波動巨大的情況,並且btc 極度擁擠,其實除了項目方自己市場行為之外,並不會有太多的大批量打資產的需求,換言之,有這麼大資金量去打1000 筆資產的,也自己有能力去做到,平台的核心用戶是散戶。因此鍊式雖然成本低,但他並不適合最早期,在高速波動的定價中,在市場缺乏分割工具的情況下,鍊式產生的20 多張複合在1 筆交易中,會讓交易的掃貨的閾值變高。最後本文是 BTC 上資產的代打機制篇,後續還有一份交易市場模型篇,可以適配到(BRC 20、Ordinals、Atomical、Runes)等等新資產的交易模式,敬請關注,切勿錯過。

參考資料:

  • runes 分割代開啟原始碼:https://github.com/okx/js-wallet-sdk

  • ruens協議官方原始碼:https://github.com/ordinals/ord

原創文章,作者:十四君。轉載/內容合作/尋求報導請聯系 report@odaily.email;違規轉載法律必究。

ODAILY提醒,請廣大讀者樹立正確的貨幣觀念和投資理念,理性看待區塊鏈,切實提高風險意識; 對發現的違法犯罪線索,可積極向有關部門舉報反映。

推薦閱讀
星球精選