ZK+VDF:实现「隐私 mempool」

行业热点2年前 (2023)更新 qkledit
13,940 0

现在大部分的 L2 Sequencer 基本上都采取 「先到先出」 (FIFS) 的交易排序方式来保护用户不被 MEV,但是这样也弱化了区块的价值。

而通过这种分割的 Blockspace 的方案我们就可以做到鱼和熊掌兼得。

具体流程是:用户用一个 「时间谜题」 来加密自己的交易,并且同时计算一个「zk proof」 来证明这个时间谜题 「有解」,接着把用「时间谜题」和 对应的 「Zk Proof」一起发送给 「Sequencer」。

Sequencer 接收到「 加密的交易」后:

验证 「zk proof」是否有效,如果证明有效则说明这个 「时间谜题」 可以在计算一段时间后得出答案;

把它放到「Top Blockspace」并且给出 交易 所在的区块内的「Order Committee」;

Sequencer 会计算「时间谜题」一段时间,最后得出一个答案;

Sequencer 拿到答案之后就可以解密用户的「加密交易」了,得出「交易的原始」数据;

Sequencer 将 「Top Blockspace」都填满之后,把这个只有 「Top Blockspace」有交易的 「半成品区块」扔到 L2 的 p2p 网络广播;

MEV Searcher 接收到 「半成品区块」之后就可以根据 「Top Blockspace」里的交易顺序构造自己的有利可图的「交易 bundle」;

MEV Searcher 把自己的 「交易 bundle」以及 「出价」发给 L2 Block Builder;

这个时候 Builder 已经接收到「半成品区块 」 了,他会把「最高出价」的那部分「交易 Bundle 」放进 「Botton Blockspace」;

最后 Builder 需要走 L2 Mev Boost 的流程, Sequencer 会就接受带有它指定的 「Top Blockspace」的「最高价值的区块」。

ZK+VDF:实现「隐私 mempool」

总结

通过将「Blockspace」分成两部分可以让 用户交易在 「Top Blockspace」被保护起来,让 Mev Searcher 一起去卷 「Bottom Blockspace」 ,即保护了用户交易不被 hamful mev,Sequencer 又可以最大化 「区块收益」。但该方案付出了额外的计算成本, 主要因为用户需要为自己的时间谜题计算一个「zk proof」以及 Sequencer 需要为每个用户提供的「时间谜题」求解。

我们可以跟 Arbitrum 之前提出来的让 Mev Searcher 可以去通过更高的出价获得最高 0.5s 的优先权的交易排序策略做一个比较。相比本文提出的方案,Arbitrum 这个方式特点是:

省计算资源;

MEV Searcher 看不到区块内的交易(Private Mempool);

用户的交易还是会**队。

最后顺带提一句:需要「zk proof」的原因是为了防止 sequencer 被 DDOS 攻击。

© 版权声明

相关文章