过去的一周,有越来越多的朋友问到小编这样一个问题——
明明像 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 将重发空投以弥补损失)
>
而上个月,拥有「金色斗篷」(可以在未来免费获得一个 Taproot Wizards)的「量子猫」cat0673,最先提交交易的买家也被额外支付了 180 美元矿工费的另一位买家给「抢跑」了。而最后成交的买家转手挂了 1.9 比特币卖出去了。
>
到这里,您可能会疑问:像 Magic Eden 上面只要购买了,那么网页上就不能再有第二个人点击购买按钮,这些「抢跑」是如何实现的?
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 比特币的利润。
>
@goldmine_tools。这样的情况假设真的发生,那么对受到大家追捧的资产来说,预估区块费率实际上就会出现一定程度的失灵,实质上交易变成了价格固定但需要 bid 矿工费的「拍卖」,矿工美滋滋了。
>
结语
写到最后想起大家可能很关心的一个问题——如果被 RBF 了,会亏矿工费和买东西的钱吗?
不会。