a16z:为何加密内存池难成 MEV 的通用解药?
加密内存池的工作原理 关于加密内存池已有诸多提案,但它的通用框架如下: 需要注意的是,步骤 3(交易解密)存在一个关键问题:由谁负责解密?如果解密未能完成该怎么办?一个简单的思路是让用户自行解密自己的交易(这种情况下甚至无需加密,只需隐藏承诺即可)。但这种方式存在漏洞:攻击者可能实施投机性 MEV。 在投机性 MEV 中,攻击者会猜测某笔加密交易蕴含 MEV 机会,随后加密自己的交易并试图将其插入到有利位置(例如目标交易的前或后)。若交易按预期顺序排列,攻击者便会解密并通过自己的交易提取 MEV;若未达预期,他们会拒绝解密,其交易也不会被纳入最终区块链。 或许可以对解密失败的用户施加惩罚,但这一机制的实施难度极大。原因在于:所有加密交易的惩罚力度必须统一(毕竟加密后无法区分交易),且惩罚需足够严厉,即便面对高价值目标也能遏制投机性 MEV。这会导致大量资金被锁定,且这些资金需保持匿名性(以避免泄露交易与用户的关联)。更棘手的是,若因程序漏洞或网络故障导致真实用户无法正常解密,他们也会因此蒙受损失。 因此,大多数方案建议对交易进行加密时,需确保其在未来某一时刻必然可解密,即便交易发起用户离线或拒绝配合。这一目标可通过以下几种方式实现: 可信执行环境(TEEs):用户可将交易加密至由可信执行环境(TEE)安全区持有的密钥。在一些基础版本中,TEE 仅用于在特定时间点后解密交易(这要求 TEE 内部具备时间感知能力)。更复杂的方案则让 TEE 负责解密交易并构建区块,依据到达时间、费用等标准对交易排序。与其他加密内存池方案相比,TEE 的优势在于能直接处理明文交易,通过过滤掉会回滚的交易减少链上冗余信息。但该方法的短板是依赖硬件可信度。 秘密共享与门限加密(Secret-sharing and threshold encryption):在此方案中,用户将交易加密至某一密钥,该密钥由特定委员会(通常是验证者的子集)共同持有。解密需满足一定门限条件(例如,委员会中三分之二成员同意)。 采用门限解密时,信任的载体从硬件转变为委员会。支持者认为,既然大多数协议在共识机制中已默认验证者具备「诚实多数」特性,那么我们也可做出类似假设,即多数验证者会保持诚实,不会提前解密交易。 然而,这里需要注意一个关键区别:这两种信任假设并非同一概念。区块链分叉等共识失败具有公开可见性(属于「弱信任假设」),而恶意委员会私下提前解密交易不会留下任何公开证据,这种攻击既无法被检测,也无法对其进行惩罚(属于「强信任假设」)。因此,尽管从表面上看,共识机制与加密委员会的安全假设似乎一致,但实际操作中,「委员会不会合谋」这一假设的可信度要低得多。 时间锁定与延迟加密(Time-lock and delay encryption):作为门限加密的替代方案,延迟加密的原理是:用户将交易加密至某个公钥,而该公钥对应的私钥被隐藏在一个时间锁定谜题中。时间锁定谜题是一种封装秘密的密码学谜题,其秘密内容需在预设时间过后才能被揭晓,更具体地说,解密过程需要反复执行一系列无法并行化的计算。在这种机制下,任何人都能解开谜题以获取密钥并解密交易,但前提是完成一段设计耗时足够长的缓慢(本质上是串行执行的)计算,确保交易在最终确认前无法被解密。这种加密原语的最强形式是通过延迟加密技术公开生成此类谜题;也可通过可信委员会借助时间锁定加密来近似实现这一过程,不过此时其相对门限加密的优势已值得商榷。 无论是采用延迟加密还是由可信委员会执行计算,这类方案都面临诸多实际挑战:首先,由于延迟本质上依赖计算过程,难以确保解密时间的精确性;其次,这些方案需依赖特定实体运行高性能硬件来高效解算谜题,尽管任何人都能承担这一角色,但如何激励该主体参与仍不明确;最后,在这类设计中,所有广播的交易都会被解密,包括那些从未被最终写入区块的交易。而基于门限(或见证加密)的方案则有可能仅解密那些成功被包含的交易。 见证加密(Witness encryption):最后一种最先进的密码学方案是采用「见证加密」技术。从理论上讲,见证加密的机制是:将信息加密后,只有知晓特定 NP 关系对应「见证信息」的人,才能对其进行解密。例如,可将信息加密为:只有能解出某道数独谜题,或能提供某一数值哈希原像的人,才能完成解密。 (注:NP 关系就是「问题」和「能快速验证的答案」之间的对应关系) 对于任何 NP 关系,都可通过 SNARKs 实现类似逻辑。可以说,见证加密本质上是将数据加密为仅让能通过 SNARK 证明满足特定条件的主体可解密的形式。在加密内存池场景中,这类条件的一个典型例子是:交易仅在区块最终确认后才能被解密。 这是一种极具潜力的理论原语。实际上,它是一种通用性方案,基于委员会的方法和基于延迟的方法都只是其具体应用形式。遗憾的是,目前我们尚未有任何可实际落地的基于见证的加密方案。此外,即便存在这样的方案,也很难说它在权益证明链中能比基于委员会的方法更具优势。即便将见证加密设置为「仅当交易在最终确定的区块中完成排序后才可解密」,恶意委员会仍能私下模拟共识协议来伪造交易的最终确认状态,再以这条私有链作为「见证」来解密交易。此时,由同一委员会采用门限解密既能达到同等安全性,操作还简单得多。 不过,在工作量证明共识协议中,见证加密的优势更为显著。因为即便委员会完全恶意,也无法在当前区块链头部私下挖掘多个新块来伪造最终确认状态。 加密内存池会通过多种明显方式增加系统开销。用户需对交易进行加密,系统还需以某种方式解密,这会增加计算成本,还可能增大交易体积。如前所述,处理元数据会进一步加剧这些开销。然而,还有一些效率成本并不那么显而易见。在金融领域,若价格能反映所有可用信息,市场便被视为有效;而延迟与信息不对称会导致市场低效。这正是加密内存池带来的必然结果。 这类低效会导致一个直接后果:价格不确定性增加,这是加密内存池引入额外延迟的直接产物。因此,因超出价格滑点容忍度而失败的交易可能会增多,进而浪费链上空间。 同样,这种价格不确定性还可能催生投机性 MEV 交易,这类交易试图从链上套利中获利。值得注意的是,加密内存池可能会让这类机会更为普遍:由于执行延迟,去中心化交易所(DEX)的当前状态变得更加模糊,这很可能导致市场效率下降,不同交易平台间出现价格差异。此类投机性 MEV 交易也会浪费区块空间,因为一旦未发现套利机会,它们往往会终止执行。其他效率方面的挑战