Gate Booster 第 4 期:發帖瓜分 1,500 $USDT
🔹 發布 TradFi 黃金福袋原創內容,可得 15 $USDT,名額有限先到先得
🔹 本期支持 X、YouTube 發布原創內容
🔹 無需複雜操作,流程清晰透明
🔹 流程:申請成為 Booster → 領取任務 → 發布原創內容 → 回鏈登記 → 等待審核及發獎
📅 任務截止時間:03月20日16:00(UTC+8)
立即領取任務:https://www.gate.com/booster/10028?pid=allPort&ch=KTag1BmC
更多詳情:https://www.gate.com/announcements/article/50203
解決比特幣的 gas 問題 (無需硬分叉) | 觀點
每個智能合約平台都內建一種費用資產。例如,以太坊(ETH)有 ETH,索拉納(SOL)有 SOL,但對於比特幣(BTC)來說,情況就變得複雜。如果你想要表達豐富的應用,通常最終還是會採用第二個網路的經濟模型。
摘要
例如,在 Stacks 上,你用 STX 支付費用。在 EVM 類比特幣層,你可能會被告知 BTC 是燃料代幣,但它通常是具有 EVM 類慣例(包括 18 小數點)的 L2 原生表示,你仍然在該 L2 環境中操作。比特幣本身已經擁有一個乾淨的費用市場,用戶以 sat/vB 出價區塊空間,礦工優先處理較高費率。
考慮到這一點,如果智能合約交互可以作為普通比特幣交易啟動並支付,費用以 BTC 表示(無需額外的燃料代幣或分叉),而智能部分在其他地方運行並且能夠證明性地與比特幣相關聯,會是怎樣的情況?OpNet 正在尋找答案。
比特幣不計算(這是個問題)
比特幣的費用市場在一件事上表現出色:定價區塊空間。你以 sat/vB 競爭,礦工選擇最高費率,網路保持簡單且具有對抗性。比特幣不做的是運行一個通用的執行環境來衡量和收取任意計算的費用。比特幣腳本(Bitcoin Script)是故意無狀態且非圖靈完備的,沒有循環或跳轉,這樣每個節點都能預測性地驗證腳本,避免開啟無限計算的門。
這也是為什麼大多數比特幣智能合約方案最終都將執行放在一個能衡量計算並擁有自己費用市場的獨立系統中。一旦有了那個獨立的執行層,它通常會伴隨一個獨立的費用資產(例如,Stacks 以 STX 收費)。
這並不理想,若能在比特幣的原生費用市場內保持支付,同時將執行移到其他地方,會更佳。
執行不是比特幣需要做的事
一旦接受比特幣腳本是故意有限制的(無狀態且非為無限計算設計),你就會開始思考如何讓比特幣結算結果和支付。
事實上,執行可以在一個專門的虛擬機中進行,該虛擬機被構建為能確定性運行智能合約邏輯,而比特幣仍然是基礎層,通過其現有的費用市場來標記時間戳、排序和定價交互。在 OpNet 的設計中,合約邏輯由一個面向 Wasm 的 VM(OP-VM)評估,而更廣泛的節點堆疊則明確構建用於管理和執行智能合約,利用比特幣的交易和 UTXO 機制。
關鍵是,這並未配合一個新的費用資產。比特幣不需要衡量計算來作為燃料貨幣,它需要的是最終結算層,所有支付最終都在此進行並且錨定。
一個用 BTC 支付的合約調用長什麼樣
我們的交互模型遵循模擬-再花費的流程,而非傳統的智能合約執行模式,最終執行步驟以實際比特幣交易完成。首先,你的應用在模擬模式下調用合約方法。該請求經由提供者傳送到 OPNet 節點,該節點在其 VM 中執行合約並返回一個 CallResult(包括燃料/費用估算),而不會將任何內容廣播到比特幣網路。
如果該調用會改變狀態,你就將該 CallResult 作為執行提交。此時,庫會構建一個比特幣交易,簽名並廣播到比特幣網路。值得記住的兩點是:
同時,OpNet 自身的計算衡量仍然存在。但它是以 satoshis 為單位定價(估算的 SATS Gas、退款在 SATS 中等),因此單位永遠不會偏離成為一個獨立的代幣經濟。
較少摩擦,更清晰的激勵
用戶不再需要採用第二個費用經濟來與應用交互。在比特幣上,費用已經是對區塊空間的拍賣,按字節定價並支付給礦工。當合約調用僅是比特幣交易時,你就回到了熟悉的領域(用 sat/vB 費用、mempool 的擁擠和礦工激勵),而不必學習一個獨立的燃料代幣市場。
此外,工具也傾向於標準比特幣工作流程,如 UTXO 管理、提供者連接,甚至離線/冷簽名。合約在 Wasm 運行時中,使用 AssemblyScript 編寫,旨在達到類 Solidity 的表達力,同時不假裝比特幣腳本突然變成一個 VM。
比特幣作為燃料,無需第二代幣
關於 BTC 不能作為燃料的說法,通常基於假設基層必須衡量計算來定價。比特幣不衡量計算;它衡量區塊空間並進行價值結算。
解決方案是讓一個虛擬機以確定性方式處理執行,然後將每個改變狀態的交互都通過標準比特幣交易路由,費用用熟悉的術語(如 sat/vB)表示,並以 satoshis 上限。在我們的方案中,這是在客戶端通過 feeRate 和 maximumAllowedSatToSpend 這些參數來實現的。
因此,也許 BTC 作為燃料確實是可行的。費用從端到端都保持 BTC 原生,而合約運行時仍然基於 WebAssembly(AssemblyScript → Wasm),保持邏輯的表達力而不改變費用貨幣。
弗雷德里克·福斯科
弗雷德里克·福斯科,亦名丹尼·普雷恩維尤,是 OP_NET 的共同創始人,自 2013 年起就涉足比特幣。他推出 OP_NET 旨在使比特幣本地可編程,直接在層一解鎖智能合約和 DeFi 原語。他專注於構建真正的鏈上功能,無橋接、無托管、無包裝或合成比特幣,堅持自我托管和去中心化的原則。