在比特币链上挂过 NFT 的人多半听过”狙击”:你的卖单还在内存池里排队,有人用更高的费率插在你前面,把你的成交交易抢走或挤掉。Magic Eden 把对抗这套玩法的后端机制称为”全内存池保护”(Full Mempool Protection),并把”部分保护""完全保护”直接做成了购物车里的灰盾和橙盾。这篇按帮助文档拆解:保护什么、不保护什么、灰盾为什么会出现。
先看威胁模型:挂单被狙击是怎么发生的
比特币上没有账户,挂单本质是一笔需要买卖双方参与的交易。传统流程下,卖家先把挂单交易广播进内存池,买家再提交成交交易;只要成交还在待确认状态,任何人理论上都能对”同一份资金”构造竞争交易,用加价(子付费父 CPFP 类手法)抢确认。卖家怕的是:行情突变时撤不掉、或撤单交易被挤后迟迟不确认,被按原价收走。

挂单不再广播:PSBT 加 tapscript 的承诺
帮助文档描述的改进流程是:卖家不再广播挂单交易,而是签一份部分已签名交易(PSBT),用 tapscript 把资产与指定收款地址原子地绑在一起——相当于当场立契”这东西只卖给这个价、付到这个地址的那笔钱”,但契据先不公示,只存在市场后端。资产全程留在卖家钱包里,不锁进第三方合约。买家的付款交易直接进网络,不存在”成交交易与挂单交易抢位置”的问题,挂单本身也就不怕被狙击。
代价是签名次数:创建一张受保护的挂单要签多笔交易(帮助文档举例一枚铭文需两笔),每一笔都要确认,漏签任何一笔,保护就不完整。
灰盾与橙盾:哪些情况拿不到完全保护
帮助文档给出的识别方式很直白。橙盾:该挂单为”完全保护”,不能被狙击;收藏页有筛选开关,可以只看完全保护的挂单。灰盾并标注”Full Protection Unavailable”:出问题的不是挂单方,而是买方的钱包——你的比特币余额里,可用的”已确认且未被其他待确认交易占用”的输出不够构造保护路径上的交易,购物车会退回旧的签名方式(部分保护)。解决办法要么等其他交易确认,要么整理零散余额,要么接受这次不带完全保护。
另有两个前提:市场先要把你的钱包地址加入白名单(有过 Ordinals 或 Runes 成交记录的地址通常已在册,新用户完成一笔后可获纳入;白名单以 bc1p 开头的 Taproot 地址为准,原生隔离见证 bc1q 地址与完全保护不兼容)。这些细节属于平台工程选择,随版本会变。
怎么理解”保护”的边界
对卖家:它消除的是撤单竞争与挂单被抢确认的特定风险,不消除行情下跌、买家违约(成交交易被放弃只是订单没成,资产无损)以及市场后端本身停摆的运营风险。对买家:白名单制度意味着保护不是纯协议功能,依赖平台的准入与后端可用性;“不可狙击”不等于”你一定能按费率优先买到”。对所有人:盾牌状态是平台 UI 的语言,不是比特币协议的字段,换一家市场规则就换一套,操作前读该平台的当前说明。
为什么”保护”值得单独标出来
值得停下来想一层的是:保护状态为什么要做成盾牌图标和筛选项?因为在订单簿视图里,受保护与不受保护的挂单长得几乎一样,风险却不对称。卖家签完两笔交易才发现漏签、买家结算时才意识到用的是旧签名路径,损失都发生在点击之后。平台把保护做成可筛选的市场分层,等于承认了一个现实:同一批藏品在”防狙击”维度上是两个流通层,急着成交的人往往只能去买更容易抢到的那一批。作为用户,你至少应该知道自己在为哪一层定价:过滤橙盾会让可选范围变小,但省下的往往是撤单费与插队费。
本文机制描述依据 Magic Eden 帮助中心公开页面整理,具体功能现状、地址兼容与费率以平台最新公告为准;涉及交易操作,不构成投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。