本文提出了一种新的以太坊JSON-RPC方法,eth_clandestineSubmitTransaction 和 eth_clandestineSubmitBlock,用于MEV中继。这些方法允许直接与MEV Boost中继交互,为交易和区块提交提供高级机制。该提案旨在通过抢先黑客的交易并确保包含“秘密交易”的区块获胜来降低与恶意活动相关的风险。资金必须返还给项目,一部分可用于保险。
我们提出了为 MEV Relays 实现两个新的 Ethereum JSON-RPC 方法,eth_clandestineSubmitTransaction 和 eth_clandestineSubmitBlock。这些方法允许与 MEV Boost Relays 直接交互,为交易和区块提交提供本质上是“秘密(clandestine)”的高级机制。
该提案旨在通过抢跑黑客的交易,并谎报其提议区块的价值来确保包含“秘密交易”的区块获胜,从而减轻与恶意活动(即项目被黑)相关的风险。这通过中继完成成功缓解来确保排他性。追回的资金必须返还给项目,其中一部分可以选择保留用于集中保险金库,减去向参与的安全公司支付的服务费用。
该提案需要多家安全公司参与,通过模糊测试交易并达成法定人数,从而就恶意交易达成某种共识。这种方法也不一定用于抢跑交易攻击,因为安全集体(如 SEAL911)也可以使用它来提交白帽交易。
各个安全公司在模糊测试方面的进展已经证明了他们能够及时发现恶意交易并尝试“抢跑”(即超越支付给验证者的 gas 和费用)它们以保护易受攻击的项目。然而,这导致了 gas 成本和费用的恶性竞争,试图“抢跑抢跑”。通过利用 MEV Relay 的可信性质,我们可以“欺骗”验证者,确保明确选择我们的受保护交易(称为“秘密(clandestine)”交易)。
所有方法都必须使用提前列入白名单的地址签名。授权:需要
Ethereum-Signature头部以获得权限。
eth_clandestineSubmitTransaction描述: 将机密交易直接提交到 MEV Boost Relay,以便优先包含在区块中,并提供可选参数以增强控制。
参数:
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
from |
string |
是 | 发送交易的地址。 |
to |
string |
是 | 接收交易的地址。 |
value |
string |
是 | 要发送的以太币数量(以 wei 为单位)。 |
blockNumber |
string |
是 | 包含交易的区块号(十六进制)。 |
data |
string |
否 | 与交易一起发送的数据负载(十六进制)。 |
multiplier |
number |
否 | 修改中继出价的乘数。 |
blockGasLimitIncrease |
number |
否 | 增加区块 gas 限制的数量。 |
TargetTransactionHashes |
array of strings |
是 | 用于抢跑保护的目标交易哈希数组。 |
示例请求:
{
"jsonrpc": "2.0",
"method": "eth_clandestineSubmitTransaction",
"params": {
"from": "0xYourAddress",
"to": "0xRecipientAddress",
"value": "0x9184e72a000",
"blockNumber": "0x5BAD55",
"data": "0xOptionalData",
"multiplier": 1.2,
"blockGasLimitIncrease": 2000000,
"TargetTransactionHashes": [\
"0xTargetTransactionHash1",\
"0xTargetTransactionHash2"\
]
},
"id": 1
}
示例响应:
{
"jsonrpc": "2.0",
"result": "0xTransactionHash",
"id": 1
}
eth_clandestineSubmitBlock描述: 提交整个区块,以便由 MEV Boost Relay 独占处理。
参数:
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
blockHeader |
string |
是 | RLP 编码的区块头。 |
transactions |
array of strings |
是 | RLP 编码的交易数组。 |
uncles |
array of strings |
否 | RLP 编码的叔块头数组。 |
blockNumber |
string |
是 | 提交的区块号(十六进制)。 |
blockGasLimitIncrease |
number |
否 | 增加区块 gas 限制的数量。 |
示例请求:
{
"jsonrpc": "2.0",
"method": "eth_clandestineSubmitBlock",
"params": {
"blockHeader": "0xRLPEncodedBlockHeader",
"transactions": [\
"0xRLPEncodedTransaction1",\
"0xRLPEncodedTransaction2"\
],
"uncles": [\
"0xRLPEncodedUncle1"\
],
"blockNumber": "0x5BAD55",
"blockGasLimitIncrease": 2000000
},
"id": 1
}
示例响应:
{
"jsonrpc": "2.0",
"result": "0xBlockHash",
"id": 1
}
eth_sendPriorityTransaction这是为了预防措施,而不是为了抢跑。
[!NOTE]
此方法是可选的,实际上不是必需的,我只是为了征求反馈而包含它
目的:在目标区块的顶部广播交易,绕过某些传统的 mempool 检查,以实现超低延迟包含。
主要特点:
{
"jsonrpc": "2.0",
"method": "eth_sendPriorityTransaction",
"params": {
"from": "0xYourAddress",
"to": "0xRecipientAddress",
"value": "0x9184e72a000",
"blockNumber": "0x5BAD55",
"data": "0xOptionalData",
"multiplier": 1.2,
},
"id": 1
}
分担风险和验证: 通过要求多个提供商为同一交易哈希提交匹配的抢跑请求,网络确保:
目标哈希协议:
frontRunTargetHash)。eth_clandestineSubmitTransaction 提交此哈希,以及他们自己的凭据和签名。匹配逻辑:
阈值检查:
轮循调度:
交易最终确定:
收益分配:
proceedsAddresses 中指定的那样,这是一个由参与的安全公司和中继运营商控制的 MultiSig 地址。法定人数重入:
我要感谢 Justin Drake 在首次讨论时接受了这个想法,并感谢 Vasily(p2p.org)提出的关于法定人数协议的最有帮助的建议。我还要感谢 fuzz.land、dedaub 和 blocksec 提供的有益意见。
MEATBAL 可能不是最好的名字,也许世界计算机需要一个 CPU:秘密保护单元 (Clandestine Protection Unit)。
- 原文链接: ethresear.ch/t/unbundlin...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!