
原創 | Odaily星球日報
作者 | Golem
什麼是 RBF
RBF 全稱為 Replace By Fee,即替代付費,是比特幣加速交易的一種方式。它允許用戶將一筆未確認的交易替換成一筆新的更高手續費的交易,以達成加速交易的目的。只要新的代替交易附帶足夠高的手續費,礦工就有動力打包代替交易入塊。
不過使用 RBF 的要求是,創建的代替交易必須使用與原交易一個或多個相同的 UTXO 作為交易輸入。
為什麼能夠使用 RBF 狙擊比特幣交易
根據上述所說的使用 RBF 的要求,一般來講我們不能取代別人的交易,因為無法取得別人的簽名授權,使用不了別人交易中的 UTXO。
但因為目前基本上所有比特幣交易市場使用的簽名都是 PSBT(部分簽名的比特幣交易),讓我們有了狙擊其他比特幣交易的可能性。簡單來講,賣家會在上架資產時將簽名私下授權給市場,簽名內容可通俗理解為“當收到xxx BTC 時同意將資產賣出”,當有買家願意交易時,市場將買賣雙方這兩部分簽名組合成一個完整的簽名交易廣播到記憶池。
而進入記憶體池後,因為比特幣網路的透明性,賣家的簽名就不再只有市場知道,而是暴露在所有人眼下。因此我們就可以拿到賣家的簽名授權,使用 RBF 功能重構一筆高手續費的代替交易完成狙擊,使原買家的交易作廢,竹籃打水一場空。
如何使用 RBF 狙擊比特幣交易
RBF 本身在技術上具有一定的複雜性,一般的交易者要熟練使用它具有一定門檻。還好市場上已經有人開發了相關狙擊工具,即使小白也能使用,下面我們就拿Magisat提供的狙擊工具做教學。
1、複製待狙擊交易的交易 id
以 Magic Eden 為例,如果我們現在想要狙擊 Runestone 的交易,先打開 Runestone 的交易介面,點擊詳情
然後在下面的交易詳情頁點擊交易 id 跳轉至 mempool
最後在 mempool 中,複製這筆交易 id,同時記住這筆交易的費率,因為待會狙擊時費率一定要比原交易高才行。
2.使用 Magisat 平台工具完成交易狙擊
Magisat 是一個比特幣 NFT 交易平台,同時上線了即時狙擊的工具。點擊下面連結進入工具:
https://magisat.io/instant-snipe
然後將剛剛複製的交易 id 貼上到搜尋框,先點擊“Submit”,可以看見下方已經出現了該筆交易的詳細信息,然後我們再點擊“Buy floor”
到了創建交易的頁面,如下圖首先設定費率,為狙擊成功一般要高於原交易的一倍;然後填寫 runestone 接收地址;最後點擊 Buy listings 彈出錢包簽名確認交易即可。
此時如果回到 mempool 中查看原交易,如下圖,會顯示該交易已經被代替為新交易,並且下方還展示了代替交易的歷史。
提示:以上教學所選範例只是作為演示,並沒有狙擊範例中的交易
目前使用這種方式可以狙擊比特幣 NFT 和 BRC 20 的交易,Runes 資產估計也將在不久後支援。同時要注意的是並不是所有狙擊都能成功,這跟礦工/礦池有很大的關係,如果打包下一個區塊的礦工/礦池不支援RBF 功能,那麼儘管你已經代替了交易,它們依然會打包原交易進塊。不過從利益角度來說,為得到更高手續費收入,礦工支持 RBF 似乎是個必然事件。
如何防止被人狙擊
換位思考,如果我們自己是買家當然不希望自己的交易被別人狙擊,那麼有什麼辦法能夠防止自己的交易不被狙擊呢?
或許有讀者會覺得既然狙擊交易本質上是使用的 RBF 功能,那麼只要在簽章時停用 RBF 就可以避免了。但這樣實際上也不能完全避免,這樣的禁用最多是禁用自己不能使用 RBF 功能,礦工照樣可以將替換過後高手續費的交易打包進塊。
所以現在唯一可靠的方法就是在購買資產時拉高 gas 盡快過塊,避免交易被卡給狙擊者足夠的時間操作。當然,如果實在運氣不好遇到半小時不出快的情況而被狙擊,也可以依照上述教學進行反狙擊。
總結
區塊鏈是個名副其實的黑暗森林,所有人都是躲在暗處的獵手,一邊擔心暴露自己一邊伺機而動捕獵別人。在比特幣上使用 RBF 狙擊交易實際和以太坊中的「夾子機器人」類似,只不過隨著資訊差縮小和工具的出現,狙擊比特幣交易的門檻已經變低,達到人人可用的地步。
即使你不想作為獵人狙擊手的交易,但也應該掌握方法以在關鍵時刻進行反狙擊。畢竟最好的防守就是進攻。