加密内存池的局限性

本文探讨了使用加密内存池来解决区块链最大可提取价值(MEV)问题的挑战与局限性。文章分析了加密内存池的几种设计方案,包括使用可信执行环境(TEE)、密钥共享和延迟加密等技术,并深入研究了这些方案在技术、经济和效率方面所面临的挑战,例如元数据泄露、激励解密和价格不确定性等问题。最后,文章提出混合设计可能是MEV解决方案的一部分。

通过包含、排除或重新排序区块中的交易可以提取的价值,被称为 “最大可提取价值,或 MEV”。MEV 在大多数区块链上都很常见,并且一直是社区广泛关注和讨论的话题。

注意: 本篇博文假设读者对 MEV 有基本的了解。有些读者可能希望从阅读我们的 MEV 解释 开始。

许多研究人员在观察 MEV 的情况后,提出了一个显而易见的问题:密码学能解决这个问题吗?一种方法是加密内存池,用户广播加密的交易,这些交易只有在排序后才会显示出来。因此,共识协议必须盲目地承诺交易排序,从而似乎阻止了在排序过程中利用 MEV 机会的能力。

不幸的是,无论是出于实践还是理论原因,我们都不认为加密内存池能为 MEV 提供通用的解决方案。我们概述了其中的困难,并探讨了如何设计加密内存池。

加密内存池如何工作

关于加密内存池已经有很多提议,但加密内存池的一般框架如下:

  1. 用户广播他们的加密交易。
  2. 加密的交易在链上提交(在某些提案中,在经过可证明的随机洗牌之后)。
  3. 在提交区块最终确定后,交易被解密。
  4. 最后,交易被执行。

请注意,第 3 步(交易解密)提出了一个重要的挑战:谁来解密,如果解密没有发生怎么办?一个简单的解决方案是说用户自己解密他们的交易(在这种情况下,甚至不需要加密,而可以简单地隐藏承诺)。然而,这种方法是脆弱的:攻击者可以执行投机性 MEV

使用投机性 MEV,攻击者试图猜测某个加密交易会产生一些 MEV。他们加密自己的交易,希望这些交易能够出现在一个有利的位置(例如,紧接在目标交易之前或之后)。如果交易以希望的顺序排序,攻击者会解密并提取 MEV。如果没有,他们会拒绝解密,并且他们的交易不会包含在最终链中。

也许用户可能会因为未能解密而面临一些惩罚,但这很难实施。惩罚需要对所有加密交易都相同(因为它们是加密的,因此无法区分),但也要足够大,以阻止即使是针对高价值目标的投机性 MEV。这将需要绑定大量资本,这些资本应该是匿名的(以避免泄露哪些交易是由哪些用户发布的)。并且,如果出现错误或网络故障,阻止了他们合法的解密尝试,最终会给诚实的用户带来损失。

因此,大多数提案建议以这样一种方式加密交易,即保证在未来的某个时刻可以进行解密 —— 即使发布用户离线或不合作。这可以通过几种方式实现:

TEE: 用户可以将他们的交易加密到一个由可信执行环境(TEE)enclave 持有的密钥。在一些简单的版本中,TEE 仅用于在某个时间截止日期之后解密交易(这需要在 TEE 中具有某种时间概念)。更高级的方法使用 TEE 来解密交易并构建区块,根据诸如到达时间或费用之类的标准对它们进行排序。与其他加密内存池方法相比,TEE 的一个优势是它们能够对明文交易进行操作,从而通过过滤掉将要恢复的交易来减少链上垃圾邮件。但是,此方法需要信任硬件。

密钥共享和阈值加密: 通过这种方法,用户将交易加密到一个由某个委员会共享的密钥,该委员会通常是验证者的一个子集。需要某个阈值(例如,委员会的三分之二)才能进行解密。

最简单的方法是在每一轮(例如,以太坊上的每个区块或 epoch)中使用一个新的共享解密密钥,委员会在交易在一个最终区块中排序后重新构建并发布该密钥。这种方法可以使用简单的密钥共享。缺点是这会暴露内存池中的_所有_交易,即使是那些未包含在区块中的交易。这种方法还需要在每一轮中进行新的分布式密钥生成(DKG)。

更好的保护隐私的方法是仅解密实际包含的交易。这可以使用阈值解密来实现。这种方法还可以通过对多个区块使用相同的密钥来分摊 DKG 协议的成本,委员会在交易在一个最终区块中排序后对它们进行阈值解密。一个挑战是委员会必须做更多的工作。简单来说,委员会的工作量与要解密的交易数量成线性关系,尽管最近的 工作 表明_批量_阈值解密可以显着改善这一点。

通过阈值解密,信任从一块硬件转移到一个委员会。这种主张是,由于大多数协议已经对验证者提出了关于共识协议的诚实多数假设,我们可以做出类似的假设,即大多数验证者是诚实的,不会过早地解密交易。但是,需要注意的是:这些不是相同的信任假设。诸如分叉链之类的共识失败是公开可见的(称为_弱_信任假设),而一个恶意委员会过早地私下解密交易不会产生任何公开证据,因此这种攻击无法被检测或削减(_强_信任假设)。因此,尽管从外部来看,共识和加密委员会的安全假设可能看起来相同,但实际考虑使得委员会不会勾结的假设更加站不住脚。

时间锁和延迟加密: 阈值加密的替代方案是以延迟加密的形式出现。用户将他们的交易加密到一个公钥,该公钥的私钥隐藏在一个时间锁定的谜题中。时间锁定的谜题是一个加密谜题,它封装了一个秘密,只有在经过一段预定的时间后才能揭示该秘密 —— 更具体地说,该谜题可以通过重复执行一些不可并行化的计算来解密。在这种情况下,任何人都可以打开这个谜题来恢复密钥并解密交易,但只有在经过一个缓慢的(本质上是顺序的)计算之后,该计算旨在足够长,以至于交易在最终确定之前无法被解密。这种原语的最强版本使用延迟加密来公开生成这样一个谜题。它也可以通过使用一个可信委员会通过时间锁定加密来计算谜题来近似实现,尽管在这一点上,相对于阈值加密的优势值得怀疑。

无论是通过延迟加密还是由可信委员会计算,都存在许多实际挑战。首先,更难以确保精确的解密时间,因为延迟本质上是计算性的。其次,这些方案依赖于某些实体运行复杂的硬件来有效地解决谜题。虽然任何人都可以承担这个角色,但尚不清楚如何激励这一方。最后,在这些设计中,_所有_广播的交易都将被解密,包括那些从未在一个区块中最终确定的交易。基于阈值(或见证加密)的解决方案可能只会解密成功包含的交易。

见证加密. 最后,最先进的密码学方法使用一种叫做见证加密的工具。理论上,见证加密允许将信息加密给任何知道特定 NP 关系的见证的人。例如,可以这样加密,使得任何拥有某个数独谜题的解的人,或者任何拥有某个值的哈希原像的人,都可以解密。

SNARK 也可用于任何 NP 关系。可以将见证加密视为将数据加密给任何可以计算 SNARK 以证明所需条件的人。对于加密内存池,这种条件的一个例子是交易只能在区块最终确定后才能被解密。

这是一个非常强大的理论原语。事实上,它是委员会方法和延迟方法的概括。不幸的是,我们没有任何实际的基于见证的加密结构。此外,即使我们有,也不清楚它如何改进权益证明链的委员会方法。即使设置见证加密,使得交易只能在最终确定的区块中排序后才能解密,一个恶意的委员会仍然可以_私下_模拟共识协议,使得交易最终确定,然后使用这个私有链作为见证来解密交易。在这一点上,使用同一个委员会进行阈值解密提供了等同的安全性,并且更加简单。

见证加密在工作量证明共识协议中提供了更具决定性的优势,因为即使是一个完全恶意的委员会也无法在当前链头的顶部私下挖掘几个新区块来模拟最终性。

加密内存池的技术挑战

几个重要的实际挑战限制了加密内存池阻止 MEV 的能力。一般来说,保持信息机密是很困难的。有趣的是,加密是一种在 web3 领域很少使用的工具。但是,我们有数十年的实践经验,展示了在网络上部署加密(TLS/HTTPS)和用于私有通信(从 PGP 到现代加密消息平台,如 Signal 或 Whatsapp)的挑战。虽然加密是保持机密性的工具,但它并不能保证机密性。

首先,可能存在可以直接访问用户交易明文的各方。在典型情况下,用户可能不会加密自己的交易,而是将其外包给他们的钱包提供商。因此,钱包提供商可以访问明文交易,并且可以使用或出售此信息来提取 MEV。加密的强度永远不会超过可以访问密钥的各方的集合。

除此之外,最大的问题是元数据,即围绕未加密的有效载荷(交易)的数据。搜索者可以使用此元数据来猜测交易的意图,然后尝试投机性 MEV。请记住,搜索者不必完全理解交易,也不必每次都正确。如果他们知道,例如,以合理的概率,交易代表来自特定 DEX 的购买订单,这就足够了。

我们可以考虑几种类型的元数据,其中一些是加密的经典挑战,另一些是加密内存池独有的。

  • 交易大小:加密本身并不隐藏加密的明文的大小。(众所周知,语义安全的形式定义中有一个特定的例外,不包括隐藏被加密的明文的大小。)这是对加密通信的经典攻击向量。(在一个著名的例子中,即使使用加密,窃听者也可以从视频流中每个数据包的大小确定在 Netflix 上实时播放的视频。)在加密内存池的上下文中,某些交易类型可能具有泄露信息的特定大小。

  • 广播时间:加密也不会隐藏时间信息(另一个经典攻击向量)。在 web3 上下文中,某些发送者 —— 例如,在结构化销售中 —— 可能会定期执行交易。交易时间也可能与其他信息相关联,例如外部交易所的活动或新闻事件。利用时间信息的更微妙的方式是 CEX/DEX 套利。排序器可以通过插入尽可能晚创建的交易来获利,从而利用有关 CEX 价格的更新信息。同一排序器可以排除在某个时间点之后广播的任何其他交易(即使是加密的),从而确保只有其交易可以利用最新的价格信息。

  • 源 IP 地址:搜索者可以通过监视点对点网络并观察源 IP 地址来推断交易发送者的身份。实际上,这个问题在比特币的早期在十多年前就被发现了。如果特定发送者具有特定模式,这可能对搜索者有用 —— 例如,知道发送者可能会将加密的交易链接到先前已解密的交易。

  • 交易发送者和费用/gas 信息:最后,交易费用代表一种特定于加密内存池的元数据类型。在以太坊中,交易通常包括一个(链上)发送者地址,用于支付费用,以及发送者愿意支付的最大 gas 预算和每个 gas 单位的费用。发送者地址(如源网络地址)可用于将交易链接在一起并链接到真实世界的实体。gas 预算可用于估计交易打算做什么。例如,与特定 DEX 交互可能需要特定数量的 gas,这是可以识别的。

复杂的搜索者可能会使用上述任何元数据类型的组合来预测交易的内容。

所有这些信息都可能会被隐藏,但会付出性能和复杂性的代价。例如,将交易填充到标准限制可以隐藏交易大小,但它会浪费带宽和链上空间。在发送消息之前添加延迟可以隐藏交易时间,但会损害延迟。通过像 Tor 这样的匿名网络提交交易可以隐藏发送者的 IP 地址,但这有其自身的挑战

最难隐藏的元数据是交易费用数据。加密此数据会给构建者带来许多挑战。第一个问题是垃圾邮件。如果交易费用支付数据被加密,那么任何人都可以广播格式错误的加密交易,这些交易将被排序但没有能力支付费用。因此,解密后它们将无法执行,但任何一方都无法受到惩罚。这可以通过 SNARK 来解决,SNARK 可以证明交易格式良好且已获得资金,但这将大大增加开销。

第二个问题是高效的区块构建和费用拍卖。构建者使用费用来构建最赚钱的区块并确定链上资源的当前市场价格。加密此数据会扰乱此过程。这可以通过在每个区块中建立一个统一费用来解决,但这在经济上效率低下,并且可能会鼓励交易包含的二级市场,这将破坏拥有加密内存池的意义。使用安全的多方计算或可信硬件进行费用拍卖是可能的,但这些都是昂贵的步骤。

最后,安全的加密内存池以多种方式给系统带来开销。加密会给链增加延迟、计算和带宽开销。如何将其与对分片或并行执行的支持相结合 —— 这是重要的未来目标 —— 远非显而易见。它可能会为活跃性增加额外的故障点(例如,阈值解决方案的解密委员会或延迟函数求解器)。而且它肯定会增加设计和实施的复杂性。

加密内存池的许多问题是旨在确保交易隐私的区块链(例如,Zcash、Monero)所共有的。如果说有一线希望,那就是为减少 MEV 而解决加密的所有挑战,会作为附带效应,为交易隐私扫清道路。

加密内存池的经济挑战

最后,加密内存池面临经济挑战。与可以通过足够的工程努力来缓解的技术挑战不同,这些是基本的限制,似乎难以解决。

MEV 的基本问题源于创建交易的用户与寻找 MEV 机会的搜索者和构建者之间的信息不对称。用户通常不知道可以从他们的交易中提取多少 MEV。因此,即使使用完美的加密内存池,用户也可能被诱导放弃他们的解密密钥,以换取来自构建者的付款,该付款少于提取的价值。我们可以称之为激励解密

不难想象这会是什么样子,因为它有一个版本,称为 MEV Share,今天已经存在。MEV Share 是一种订单流拍卖,允许用户选择性地向一个池提交有关其交易的信息,搜索者在该池中竞争利用交易提供的 MEV 机会的机会。中标的搜索者提取 MEV,并将部分利润(即,出价或出价的一部分)退还给用户。

此模型可以立即在加密内存池空间内进行调整,要求用户公开其解密密钥(或可能只是一些部分信息)才能参与。但是大多数用户不会理解参与此类计划的机会成本,只会看到回报给他们的奖励,并乐于放弃他们的信息。传统金融中也有一些例子(例如,像 Robinhood 这样的零费用交易服务),它们通过将用户的订单流出售给第三方来盈利,这被称为 “ 支付订单流” 商业模式。

其他可能的场景包括大型构建者出于审查原因强迫用户公开他们的交易(或有关它们的一些信息)。审查弹性是 web3 中一个重要且有争议的话题,但是如果大型提议者和/或构建者在法律上有义务执行审查列表(例如,OFAC),他们可能会拒绝排序任何加密的交易。如果用户可以生成一个零知识证明,证明他们的加密交易符合审查列表,那么在技术上可能会解决这个问题,但这也会增加成本和复杂性。即使链具有很强的审查抵抗力,保证包含加密的交易,区块构建者仍然可以优先将他们知道的明文交易放在区块的顶部,并将任何加密的交易降级到区块的底部。因此,希望获得某些执行保证的交易可能会被迫以任何方式向构建者公开其内容。

其他效率挑战

加密内存池以几种明显的方式增加了系统的开销。用户必须加密交易,系统必须以某种方式解密它们。这增加了计算成本,并可能增加了交易大小。如上所述,处理元数据可能会使这些开销变得更糟。但是,一些其他的效率成本不太明显。在金融中,如果价格反映了所有可用的信息,则认为市场是有效率的,而低效率源于延迟和信息不对称 —— 这是加密内存池的自然结果。

这些低效率的后果之一是价格不确定性的增加,这是加密内存池引入的额外延迟的结果。因此,由于超过价格滑点容忍度而导致的交易失败次数可能会增加并浪费链空间。

同样,鉴于延迟执行,这种价格不确定性也可能导致投机性 MEV 交易,试图从链上套利中获利。重要的是,这些机会可能在加密内存池中更为普遍,因为考虑到延迟执行,围绕 DEX 当前状态的不确定性增加,可能会导致效率较低的市场,在不同场所之间存在价格差异。这些类型的投机性 MEV 交易也会浪费区块空间,因为如果未发现此类机会,它们通常会中止。

\\*\

虽然我们在这里的目标是概述加密内存池中的挑战,以便人们可以专注于以其他方式构建和解决问题,但它们可能仍然是 MEV 解决方案的一部分。

一种可能的解决方案是混合设计,其中一些交易通过加密内存池进行盲顺排序,而一些交易通过其他解决方案进行排序。对于某些类型的交易 —— 例如,来自可以小心地加密/填充它们并且愿意支付更多费用以避免 MEV 的大型市场参与者的买入/卖出订单 —— 混合设计可能是正确的解决方案。这些设计对于某些高度敏感的交易也可能是有意义的,例如对具有漏洞的安全合约的错误修复。 但是,由于其技术限制,以及大量的工程复杂性和性能开销,加密内存池不太可能成为有时被认为是 MEV 的灵丹妙药解决方案。社区将需要开发其他解决方案,包括 MEV 拍卖、应用层防御和最小化最终确定时间。MEV 在未来一段时间内仍然是一个挑战,需要仔细调查以找到正确的解决方案平衡来管理其缺点。 Pranav Garimidi 是 a16z Crypto 的研究助理。他研究与区块链系统相关的机制设计和算法博弈论中的问题。他特别关注激励措施如何在区块链堆栈中相互作用。在加入 a16z 之前,Pranav 是哥伦比亚大学的学生,在那里他获得了计算机科学学位。 Joseph Bonneau 是纽约大学库朗研究所计算机科学系的副教授,以及 a16z crypto 的技术顾问。他的研究重点是应用密码学和区块链安全。他曾在墨尔本大学、纽约大学、斯坦福大学和普林斯顿大学教授加密货币课程,并获得了剑桥大学的计算机科学博士学位和斯坦福大学的理学学士/硕士学位。 Lioba Heimbach 是苏黎世联邦理工学院的分布式计算 (Disco)小组中由 Roger Wattenhofer 教授指导的四年级博士生。她的研究中心是区块链协议,重点是去中心化金融(DeFi)。特别是,它侧重于实现一个可访问、去中心化、公平和高效的区块链和 DeFi 生态系统。她于 2024 年夏天在 a16z crypto 担任研究实习生。 内容仅截至指定日期发言。这些材料中表达的任何预测、估计、预测、目标、前景和/或意见如有更改,恕不另行通知,并且可能与其他人的意见不同或相反。有关其他重要信息,请参阅 https://a16z.com/disclosures

  • 原文链接: a16zcrypto.com/posts/art...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
a16z Crypto
a16z Crypto
https://a16zcrypto.com/