Ripple 首席技术官(CTO Emeritus)David Schwartz 近日在 X 平台上发文,指出了 XRP Ledger(XRPL)支付和挂单撮合中可能存在的抢跑或交易三明治攻击问题。
基于 XRP Ledger 的市场平台 XRPresso 的官方账号此前也发文表示,XRPL 上存在“严重的抢跑问题”,对普通用户不利。验证者或网络节点可以在账本关闭前查看预排队队列中的交易,并快速分析待处理交易,判断抢跑或三明治攻击是否有利可图,随后通过大量提交交易来操纵自己在账本规范顺序中的位置。
XRPL 文档指出,交易顺序的设计初衷是不可预测的,以防止抢跑。然而,研究和实际观察表明,这种保护措施并不充分。该机制仍可能被利用,尤其是那些能够更快或拥有特权的节点可以窥探待处理交易。
多年来,社区中一直有关于交易队列可见性和潜在隐私改进的讨论。
Schwartz 提出了一套相对简单的方案,可能消除抢跑或三明治攻击的担忧:一种交易预留机制,确保交易在其公开后、任何新创建的交易之前执行。
具体方案是:引入一个新的账本对象“ReservedTxns”,包含一个账本序列号和一个交易 ID 数组。该对象存储在一个由固定字符串和账本序列号哈希形成的索引中。
同时,引入一种新交易类型“TxnReserve”,用于为交易预留执行槽位,参数包括账本编号和交易 ID。该交易需要支付至少两倍正常交易费用,并满足所有常规交易执行要求。此外,交易中指定的账本序列号必须大于当前账本序列号,且不超过 16 个账本。
对于指定账本序列号,ReservedTxns 对象要么不存在,要么如果存在,则必须包含少于 32 个交易 ID 且不包含当前指定的交易 ID。
免责声明:本文提供的信息不是交易建议。BlockWeeks.com不对根据本文提供的信息所做的任何投资承担责任。我们强烈建议在做出任何投资决策之前进行独立研究或咨询合格的专业人士。