过去的一周,有越来越多的朋友问到小编这样一个问题——
明明像 Magic Eden 这样的比特币 NFT 交易市场是「锁单」的,为什么购买的 NFT 最后没有到呢?查看购买交易,显示交易被替换,东西被人「抢单」了。
答案是:你被「RBF」了。
其实这已经不是一个老问题了。去年 11 月底,在 Magic Eden Launchpad 上发行的「OrdiBot」系列成为第一个著名受害者,@mulan_art 的「Unigraphs」系列也马上延迟了在 Magic Eden Launchpad 上的发行,原因正是因为当时「RBF」可以使任何非白单的用户绕过白名单机制来「抢跑」。之后 Magic Eden 针对其 Launchpad 的这个问题做出了修复,现在,Magic Eden Launchpad 白名单铸造不需要再担心被「RBF」了。(相关阅读:白单用户 Mint 遭狙击手「半路抢劫」,Ordibots 将重发空投以弥补损失)
解决方案是铸造交易「Unigraphs」
去年底,有人用 0.0334 比特币来「抢跑」5000 万个 BRC-20 Token $RATS 的交易。
而上个月,拥有「金色斗篷」(可以在未来免费获得一个 Taproot Wizards)的「量子猫」cat0673,最先提交交易的买家也被额外支付了 180 美元矿工费的另一位买家给「抢跑」了。而最后成交的买家转手挂了 1.9 比特币卖出去了。
「量子猫」cat0673
最近比特币生态的火爆,让越来越多的朋友遭遇了这个问题,讨论的声音也越来越多。今天凌晨,小编一直在疑惑到底为什么比特币网络的费率居高不下,尽管昨天晚上到今天凌晨是项目扎堆发行的一天,但是看链上的铭文情况并没有足以把网络搞堵的 BRC-20 或是小图片项目出现。现在小编终于知道为什么了——很多区块 30% 以上的矿工费都是因为「RBF」狙击导致的...
到这里,您可能会疑问:像 Magic Eden 上面只要购买了,那么网页上就不能再有第二个人点击购买按钮,这些「抢跑」是如何实现的?
首先我们要了解,像 Magic Eden 这样的比特币 NFT 交易市场采用的是 PSBT,即「部分签名的比特币交易」(Partially Signed Bitcoin Transactions)。简单来说,买卖双方都根据 NFT 交易市场提供的包含交易信息模板进行签名,卖方的签名在上架时就完成,而买方则是提交购买时完成。然后市场将买卖双方的两部分签名组合起来进行广播。(相关阅读:Ordinals 创始人怒驳 Yuga Labs 拍卖,为什么 PSBT 才是比特币 NFT 交易的正解?)
但是问题在交易进入 mempool 以后就来了。当组合起来的交易被广播以后,卖方的那部分签名内容就因为交易进入了 mempool 而变得所有人都能看见。卖方的签名内容暴露后,就意味着所有人都可以作为买方进行签名交易。
这样一来,mempool 实际上从「内存池」变为了「PVP 池」——由于比特币相邻两个区块都爆出来的时间间隔往往比较长,在最初的交易被广播后,「狙击手」如果觉得「抢跑」有利可图,就拿着已经暴露的卖方签名重签一个买方为自己的交易,然后利用 RBF 把自己的交易费率拉得飞起,矿工自然会优先打包给的矿工费更高的交易。(简单说下,RBF 就是「费用替换 Replace by Fee」,通过支付更高的交易费用来达成更快的交易确认)
当然「狙击手」们也有翻车的时候。比如 @robertjfclarke 在今年 3 月提到的一笔 NodeMonkes 的「RBF」狙击,因为开采出该区块的 F2Pool 没有允许「full RBF」而导致抢跑交易没有被打包,最终结果是最开始的那位买家成功拿到了这个在当时低于地板价约 60% 的 NodeMonkes,并且在半小时后成功 Flip 收获 0.2629 比特币的利润。
其实 PSBT 导致的 RBF 抢跑和以太坊上拉 Gas 是一样的,区别只是比特币的区块确认时间更长,在以太坊上往往 10 几秒就出下一个块了,大家就很清楚是在「卷」。而比特币上的各种概念大家可能一时间会稍微陌生一些,实际上 RBF 抢跑和以太坊上的 MEV 最终呈现出来的效果还是有点像的。
如果比特币生态持续火爆,对于流动性好、市场表现好的资产,会有越来越多的人进来争夺这块套利空间。小编已经看到有专门提供狙击工具的项目出现了,比如 @goldmine_tools。这样的情况假设真的发生,那么对受到大家追捧的资产来说,预估区块费率实际上就会出现一定程度的失灵,实质上交易变成了价格固定但需要 bid 矿工费的「拍卖」,矿工美滋滋了。
RBF History 越卷越高的费率,受益的实际上是矿工
而对于 Magic Eden 这样的交易市场,我想只是需要更好地让用户了解购买 NFT 的流程实际上是这样的,在此基础上去优化 NFT 的购买流程即可。比如,为大家提供一个 RBF 工具,把现在的前端页面锁单改成「该 NFT 已有 TX Pending」,然后允许大家去支付更高的费率就好了。ETH 上的 NFT 聚合器正是如此,会出现 Pending 提示,但是愿意拉高 Gas 去抢也无妨。
写到最后想起大家可能很关心的一个问题——如果被 RBF 了,会亏矿工费和买东西的钱吗?
不会。
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia