作者:胡智威、陶穎

摘要:基於區塊鏈的數字藏品市場是NFT 技術的最主要應用場景之一,然而鏈上手續費(gas)成本過高在一定程度阻礙了數字藏品市場的發展。本文列舉了目前的數字藏品市場對解決gas 成本過高問題的一些前沿技術方案探索,包括:鏈外方式、本鏈方式、多鏈部署、側鏈、Layer2 以及跨鏈方式等,同時展望了未來的一些技術發展方向。

1. 數字藏品市場和鏈上手續費

基於區塊鏈的數字藏品市場是NFT 技術的最主要應用場景之一。隨著NFT 技術被應用於各類實際應用場景,數字藏品市場的使用量也水漲船高。以以太坊為例,根據ultrasound.money 資料顯示,自以太坊實施EIP-1559 到2021 年12 月16 日截止,數字藏品市場OpenSea 消耗的gas 已達到126,414 ETH 左右,超過普通的鏈上轉移和Uniswap ,成為最大的gas 消耗應用。

那麼,「gas」是什麼?為什麼數字藏品市場gas 消耗量這麼大?

所謂「gas」是鏈上手續費在以太坊等區塊鏈平台上的術語。而鏈上手續費是區塊鏈平台最為常見的技術特徵之一。鏈上事務的運行,包括簡單的轉移或複雜的智能合約運行等,會使用相應的計算和存儲等區塊鏈資源;發起這些鏈上事務的用戶,則會為消耗這些區塊鏈資源而付出相應的鏈上手續費。區塊鏈通過這種機制來激勵區塊鍊網絡的維護者,同時避免區塊鍊網絡被惡意用戶DDoS 攻擊、惡意運行無限循環代碼等。因此可以說,鏈上手續費對保障區塊鍊網絡的正常運行有著十分必要且積極的作用。

但是一些複雜的鏈上流程也給用戶帶來了較高的鏈上手續費成本。以以太坊的數字藏品市場為例,用戶通常在創建、掛牌授權、轉移等多個環節中均需要消耗gas,例如在轉移環節通常就需要用戶消耗0.02 ETH 左右的gas(根據當時的gas price 而有所不同。gas price 指鏈上手續費單價)。當一些數字藏品應用的活動時間比較集中時,以太坊的整體gas price 也曾飆升。

8 月26 日,數字藏品應用使gas price 一度飆升至1,429 GWei,約為平時的十倍以上

這些gas 一般都需要數字藏品應用的用戶來支付。顯然,過高的gas 會阻礙數字藏品市場的進一步使用與發展,而且還可能影響區塊鍊網絡的其他應用的使用(例如2017 年底以太貓的應用就曾讓以太坊網絡擁堵)。目前數字藏品市場已經對節省和降低gas 進行了一些技術探索。

2. 節省gas 的技術方案

數字藏品的gas 過高問題,在一定程度上是由數字藏品自身的數據量大、業務流程複雜、以太坊為代表的區塊鍊網絡性能與可擴展性仍需提高所導致的。為解決這些問題,相應的可以參考解決擴展性技術、提高效率的各類辦法。目前的一些技術探索方向包括:鏈外方式、本鏈方式、多鏈部署、側鏈、Layer2 以及跨鏈方式等。

數字藏品市場降低gas 的方案(來源:邊界研究院)

2.1. 鏈外方式

既然gas 產生於鏈上,最自然的思路是盡量採用鏈外的方式。主要解決辦法包括兩類:將原有鏈上的部分流程放在鏈外處理、將鏈上一些流程推遲進行。

部分流程放在鏈外

結合使用鏈外流程處理,來減少一些鏈上步驟。以Nifty Gateway 為例,通過將一些交換的步驟放在鏈外進行以減少鏈上處理步驟,達到降低成本目標。例如原先總共需要10 步鏈上操作的交換,通過Nifty Gateway 的交換流程優化,可將其中3 到4 步放在鏈外進行;鏈上僅保留必須在區塊鏈上共識確認的步驟,以此來降低整體的鏈上處理成本[1]。

部分流程推遲

推遲部分流程執行,讓業務流程先運行起來,使數字藏品創作者以更低成本先行創作及發布,是一種鼓勵性辦法,可以為創作者提供更為友好的體驗。這類方案的典型代表是OpenSea 的Lazy Minting。它採用了中心化的方式,支持創作者先免費創作內容並上架開售,由OpenSea 使用中心化的方式先來存儲和處理,在成交等環節中再在鏈上確認(產生gas 消耗),此時買賣雙方才通過區塊鏈共識來完成數字藏品交割。

但這類方式並不能完全解決成本問題。 Lazy Minting 主要是將mint 的時機推遲並讓買家來承擔,嚴格意義上並沒有降低整體成本。

2.2. 本鏈優化

優化代碼編寫

Gas 的產生主要由於智能合約的運行過程中耗費了計算和存儲等區塊鏈資源。數字藏品創建前,對代碼編寫上的優化在一定程度上可以減少gas 的成本。一些優化的辦法包括,在開發時選擇使用合適的代碼庫(例如使用ERC721A 而避免使用ERC721Enumerable),在編譯時使用Truffle 等工具的優化等[2][3]。

批量聚合

對於已部署在鏈上的數字藏品,可以採用批量、聚合等方式來降低整體的成本。以Genie 為例,該聚合工具是支持將不同市場上針對不同數字藏品的多個操作打包在一個事務裡,同時綜合使用一些鏈外等方式來降低單個操作的平均成本[4]。

2.3. 多鏈

除了在本鏈進行計算、存儲的各方面優化,一種比較直接簡便的辦法是在應用端集成多個區塊鍊網絡;用戶在使用時可以選擇合適的網絡。

以OpenSea 為例,除以太坊平台外OpenSea 還提供了Polygon 網絡的選項。當以太坊網絡成本較高時,用戶可以在OpenSea 的應用上選擇切換到Polygon 網絡。

2.4 側鏈/Layer 2 方式

除了在應用層面直接集成多鍊網絡外,另一種應用方案的選擇是從區塊鏈協議層入手,將數字藏品的許多業務和流程轉移到側鍊或Layer2 上進行,以降低成本等[5 ]。通常,這類解決方案也會提供側鏈、Layer2 與原鏈之間的跨鏈轉移工具。

側鏈

側鏈通常指與主鏈並行、有雙向橋接功能的區塊鍊網絡。以太坊的側鏈包括xDai、Skale、POA Network 等。目前一些數字藏品市場會選擇側鏈的方式來降低主鏈上的數字藏品成本。

一個比較典型的案例是nifty.ink。它支持用戶在xDai 側鏈上創作和管理藝術作品,包括鏈上的創建(mint)、轉移(transfer)等等。而如果用戶希望將數字藏品作品轉移到以太坊上,可以通過AMB 橋接工具轉移(upgrade)到以太坊上,例如發佈到OpenSea 市場上[6]。

其他類似的案例還包括的Axie Infinity 使用Ronin 側鍊等。

Layer2

與側鏈較為類似的是,一些數字藏品市場選擇了Layer2 的技術路線來降低成本。其中較為典型的案例有專為數字藏品應用設計、基於ZK Rollup 的Immutable X 及其自有的數字藏品市場。其他的一些解決方案還包括選擇Arbitrum 上的各類數字藏品市場及應用等[7]。

2.5 跨鏈

跨鏈技術,除了解決價值和數據流轉問題外,也可以作為解決數字藏品成本難題的方案之一。解決區塊鏈的可擴展性問題以及“不可能三角”悖論,跨鏈協議+應用專有鏈的方案是一種非常好的選擇。

與側鍊和Layer2 解決思路類似的,可以將數字藏品市場部署在一個使用成本較低的應用專有鏈上;而當需要在更大範圍內轉移時,再通過跨鏈協議進行流轉。

當前的一些跨鏈數字藏品方案主要還是採用中心化的網關或跨鏈橋的方式。不過基於完全去中心化驗證的IBC/TIBC 跨鏈協議已經可以支持非同質化數據內容的跨鏈轉移。例如,2021 年中國傳統文化數字化藝術品IDA 在BSN 文昌鏈上鍊登記確權後,以跨鏈形式依靠TIBC 跨鏈協議及跨鏈樞紐,從BSN 文昌鏈經由跨鏈服務樞紐跨鏈轉移至全球市場[8]。

3. 總結展望

數字藏品的鏈上成本問題在一定程度上是以以太坊為代表的區塊鍊網絡性能與可擴展問題的縮影。值得高興的是,Layer2、跨鍊等底層技術在近年來的長足發展、鏈上應用和生態的繁榮為當前的數字藏品應用提供了切實可行的方案。目前方案包括中心化的推遲處理、本鏈進行處理上的優化、部署多鏈、鏈外採用側鍊和Layer2 擴展技術以及跨鏈協議等多種方式。

應當指出,當前的一些技術實現上仍然存在著過度中心化(例如一些跨鏈橋)、技術安全隱患等值得改進之處;基於IBC/TIBC 等完全去中心化的數字藏品跨鏈方式嶄露頭角,有待進一步支持更多應用;基於Rollup 的數字藏品支持技術還有改進空間[9]。

不過隨著區塊鏈可擴展性、跨鏈技術的不斷研發與改進,相關技術對數字藏品應用的支持也會更加完善,技術方案也將更加豐富多樣。

參考資料

[1] https://decrypt.co/87515/nifty-gateway-ethereum-gas-fees-nft-trading-investing

[2] https://mirror.xyz/davidcai.eth/cO1XOsvg0NvW9um1unIip7okeK6r1LaZ5FzbhTG9CSg

[3] https://medium.com/@kaymonft/optimizing-nft-smart-contracts-to-reduce-gas-usage-7f4e819eb49d

[4] https://genielabs.notion.site/Genie-FAQ-aaa4c154dc52451fbcb3451e7ab7364f

[5] https://newsletter.banklesshq.com/p/how-to-collect-nfts-on-layer-2

[6] https://docs.tokenbridge.net/amb-bridge/about-amb-bridge

[7] https://newsletter.banklesshq.com/p/the-arbitrum-nft-scene

[8] TIBC 跨鏈協議及跨鏈樞紐支持的一體化數字藝術品

[9] https://twitter.com/VitalikButerin/status/1435413681588736007