本文探讨了完全同态加密(FHE)在最大可提取价值(MEV)领域中的应用,特别关注了如何利用FHE实现无盲回溯的套利交易。文章详述了协议设计、运行性能和涉及的复杂数学计算,同时提出了未来工作的方向,尽管当前技术尚不适用于实际部署,但为进一步研究奠定了基础。
这篇文章检视了全同态加密(Fully Homomorphic Encryption,FHE)在最大可提取价值(Maximal Extractable Value,MEV)领域的应用。我们的方案允许搜索者使用FHE盲目地跑在用户交易之后。这个原型展示了搜索者如何在用户交易的基础上计算UniswapV2池的未来价格,并在整个过程中保持加密状态。虽然这种方法目前不适合部署,但它为将来的改进和扩展奠定了基础,我们将在结论中讨论这些改进。
感谢 Sarah Allen 和 Leonardo Arias 对初始版本的反馈。 🙏
这项工作最近在 ETHCC 上进行了展示。
在这篇文章中,我们关注MEV领域中套利的具体方面。当区块链中资产的价格与其他市场上相同资产的价格不同,就会出现这种套利机会。
我们提出了一种方案,允许 尾随,这是一个创造交易并在目标交易之后立即执行以获取其对资产价格影响的过程。尾随是套利和清算策略的核心,通常不会对散户用户产生负面影响。然而,公共内存池中对尾随机会的竞争导致了一些负面后果,例如交易费用增加。在这项工作中,我们利用机密交易技术,以技术方式保证创造套利机会的用户不会为他们生成的尾随机会支付执行价格。
为了缓解这一问题,我们探索了一种解决方案,允许搜索者在加密用户交易的同时保持对其策略一部分的编程能力。这项工作基于之前的研究( https://learnblockchain.cn/article/12005),展示了通过一个由密码协议保障的复杂三方协议提取套利MEV的可行性,该协议遵循秘密共享的概念。尽管有效,这种方法面临一些挑战,尤其是这种加密协议固有的高带宽需求,使其在互联网上的运行不切实际,以及选择最安全设置时高计算开销。
我们想要重新审视,与之前的研究一样,这项工作只是可行性测试,并不意味着未来Flashbots产品的任何新方向。在这一阶段,我们关注的是开放探索空间,而不是创造实用解决方案。
协议的原始版本利用了Shamir秘密共享等技术,在设计过程中实现机密性和安全性。我们的替代设计基于全同态加密(FHE),用户将一个完整且加密的交易输入到一个新的FHE尾随协议中。与此同时,搜索者输入一组约束和参数,以指导他们的策略。该方法允许双方保持机密性,函数的加密输出被发送到区块构建者进行解密。
为了更好地说明这个问题,我们考虑一个涉及单个用户、搜索者和可信构建者的简化场景。用户提交交易,搜索者向构建者发送尾随交易,构建者负责将这两个交易包含在同一个区块中,而不对用户造成更差的执行。
如果你在这里,很可能你对MEV有较好的了解,但我们还是简单回顾一下。区块生产者确定一个区块中交易顺序的能力可能导致所谓的最大可提取价值(MEV)。这一现象涉及通过控制交易的排列顺序来提取超出标准奖励和交易处理费用的价值。某些类型的MEV提取可能会扰乱区块链网络的正常运作,并引入低效率,引发公平性和安全性方面的担忧,同时阻碍建立在区块链网络上的新应用的发展。
MEV并不仅限于区块链;它在其他应用中以不同形式的失调问题存在。我们在关于AI代理的讨论中提到过这一点( https://arxiv.org/abs/2311.07815),但那是另一个故事。
众多产品通过提供用户交易不通过公共以太坊内存池进行的选项来缓解MEV,在历史上,这些交易都曾被搜索者机器人侦测到。大多数依赖于将所有交易供应链方之间的信任放在一个中心化的调解者上,以保证其完整性。同时,研究人员探讨了从调整共识机制到制定保护用户免受MEV提取的工具的各种途径,这在此综述论文中有详细介绍( https://arxiv.org/abs/2307.10878)。由Shutter( https://shutter.network/)实施的一个显著策略涉及在交易被安全包括在已提交的区块中之前对其数据进行加密,有效地阻止了依赖及时分析的复杂交易排序策略,保持数据在外部观察者完全看不见的情况下直至其在区块链中出现的顺序无法改变。
其他研究人员,包括一些来自Flashbots的人,已经争辩说,阻止所有形式的MEV提取是1) 徒劳的,因为它会在某处重新出现 在你的环境的边缘,并且2) 对于整体环境来说并不是最经济高效的行为。因此,那种在交易量坚持在一个区块内前都完全隐藏所有交易字段的简单加密对我们的目标并没有帮助。
可编程隐私可以通过向应用程序开发人员提供一种新工具来更好地控制信息在其协议内外的流动来释放MEV应用的潜力。与其将机制从市场中移除,不如可编程隐私引入保障措施,以保持复杂玩家的行为受到控制,同时允许赋权用户的高效市场。我们已经制定出实现这一愿景的Suave路线图。我们迈向全面实现Suave的旅程涉及对诸如Intel SGX或TDX等受信执行环境所提供的安全保障提出新颖的观点。这并不意味着我们不应该探索使用TEE的机密计算的替代方案,这也是让我们更好了解Suave可以为许多非TEE原生但会受益于其属性的用例服务的方法。
当然,今天的最先进加密计算技术在性能、开发者体验和可以支持的用例广度方面远非机密计算。然而,我们仍然可以切分出更大问题的一部分,尝试使用纯加密(以及一些假设)解决较小且明确的问题,正如我们将在本文中看到的。
全同态加密(FHE)是一种先进的加密形式,允许在不揭示数据本身的情况下对数据进行计算。通过允许对加密数据进行操作,FHE确保敏感信息保持受保护,即使计算环境并不完全受信。这一特性对数据机密性意义重大,因为它使安全数据处理和分析成为可能,同时确保基础数据保持机密。而在传统的加密方案中,数据必须在执行任何计算之前解密,使其暴露在潜在威胁之下。FHE可能会彻底改变区块链技术的安全性和隐私性,这是令人兴奋的,因为它允许机密的链外计算,并且适合许多不需要大量资源的应用,就像智能合约一样。实际上,FHE在之前的研究中被提出作为实施隐私保护智能合约的可信解决方案。
这个愿景已经在以太坊生态系统中获得了广泛关注,许多项目现已利用FHE作为其隐私保护智能合约平台的基础层。其中一个显著项目是Inco,它利用FHE在加密数据上进行安全计算,同时确保在执行复杂关注游戏机制的任务时数据隐私。另一个重要项目是fhenix,它在一个由FHE增强配置的EVM兼容Layer-2网络上运行。Fhenix在底层使用FHE,为智能合约开发者提供隐私编程环境,属于协处理器的范畴。
Inco和Fhenix都依赖于相同的FHE方案:TFHE(Torus Fully Homomorphic Encryption)。TFHE方案是一种FHE的特定实现,特别擅长处理复杂的逻辑、比较和算术运算。TFHE在区块链应用中成为受欢迎的选择,自从Zama在他们的fhEVM代码库中首次引入它以来。TFHE旨在对二进制电路进行特别高效的评估。尽管如此,它也支持所有类型的短整数或大整数,从而涵盖以太坊智能合约可能操作的所有数据类型。它的优点包括门对门计算的低延迟和快速执行引导的能力,这对于保持加密数据的新鲜性和执行复杂功能至关重要。TFHE的多个实现已可用,且每次发布都变得越来越高效。在这项工作中,我们利用Zama的tfhe-rs,这是支撑fhEVM的Rust库。
这项工作基于 tfhe-rs,就像越来越受欢迎的 fhEVM 一样。 tfhe-rs 是一个实现 TFHE 方案的 Rust 库。
在我们考虑的场景中,有三个不同的参与者:
这项研究仅关注用户和搜索者,因为构建者并未参与后排过程。构建者的角色是接受包含用户和搜索者交易的结果捆绑包,并按照它们的顺序将其插入到候选区块中。用户和搜索者都信任区块构建者,构建者有权安全解密捆绑包中的两笔交易并将它们插入到区块中。一个更实际的场景将涉及一个公钥设置和一组通过阈值-FHE协议共享的私钥,但这超出了本研究的范围。
该设置使用密钥和TFHE-rs提供的默认加密参数,确保至少128位的安全性,依据最新版本的Lattice Estimator( https://github.com/malb/lattice-estimator)。作为运行此协议的初步步骤,我们假设构建者能够通过安全通信通道安全地生成并与用户共享其秘密密钥。
保证用户发送加密交易的预交易隐私的一个关键方面是限制搜索者对其的操作。加密是实现此设计目标的第一步,因为搜索者不会对计算的结果获得任何反馈:协议产生一个利润丰厚的尾随交易或一个空的交易。
FHE的衍生版本不允许搜索者编程完整的策略。相反,它遵循两步骤逻辑,首先通过使用FHE RLP( 递归长度前缀 - RLP是用于序列化以太坊交易的格式)解析器对加密交易的基础字段进行解码,然后计算搜索者在尾随中的最佳购买量。
RLP解析器提取所需字段以计算金额,并验证是否符合搜索者的接受标准。搜索者通常专注于特定的代币池,这些代币池在策略的参数中被编码为匹配标准。在这第一阶段,目标是确保输入交易数据符合可能影响套利盈利能力的标准,例如可能对搜索者造成高执行费用的 gas 价格或限额。
该逻辑涉及从输入交易数据中系统地读取特定字节,比较它们与搜索者程序中的值,并按需进行修改。整个过程中,使用加密的“匹配”布尔运算来跟踪是否满足所有条件。如果任何条件失败,“匹配”将设定为“假”,表示交易未满足搜索者程序中规定的标准。在后排逻辑的末尾,如果任何步骤将“匹配”布尔值设置为“假”,FHE协议会生成一个填充为零的空交易。这种方法符合FHE计算中处理分支替代方案的无能为力,并允许提前中止协议。
协议的第二个核心元素是算术计算,它允许搜索者推导出购买代币的数量,以产生大于他们在策略中指定的利润。
Uniswap v2定价函数的简单性使我们能够计算给定输入交易的最大代币数量。当去中心化交易所的汇率偏离类似Binance的中心化交易所时,就会出现套利机会。在一个非原子性的两步套利策略中,搜索者会在Uniswap上购买资产,然后在Binance上出售以获利,从而在两个交易所间重新平衡价格。为此,搜索者必须根据即将到来的用户交易所确定的资产未来价格,计算在Uniswap上购买的代币数量。
Uniswap v2将资产价格定义为池中代币X和Y(如USDT和WETH)的比例。用户在购买或出售资产时会承担0.3%的固定费用,这会影响价格。该定价函数允许用户确定通过出售指定数量的代币可以获得的代币数,最高达到目标价格。
要在Uniswap v2上进行后排,搜索者必须考虑中心化交易所的市场价格、定价函数及Uniswap v2池的状态。通过应用定价公式,搜索者可以计算出他们在特定目标价格下能够购买的代币数量,并计算利润。这模拟了即将到来的用户交易在上链之前的效果,以生成将被插入在其后面的最佳后排交易。
Uniswap V2的价格方程可以完全解决,前提是知道当前的储备状态和待处理交换的数量。它只是更新后储备的比例,其关系由右下方图中表示的恒定乘积公式决定。
现在我们了解了Uniswap v2定价函数的工作原理及如何在智能合约之外对其进行计算,让我们再看看在 https://learnblockchain.cn/article/12005 中提出的方程式,在这里重新复制以便于理解:
amount=PREC⋅X⋅(FEE2⋅PREC⋅X+4⋅PRICE⋅Y⋅(1−FEE))+PREC⋅X⋅(FEE−2)2⋅PREC⋅(1−FEE)\footnotesize \text{amount} = \frac{\sqrt{\text{PREC} \cdot X \cdot (\text{FEE}^2 \cdot \text{PREC} \cdot X + 4 \cdot \text{PRICE} \cdot Y \cdot (1 - \text{FEE}))} + \text{PREC} \cdot X \cdot (\text{FEE} - 2)}{2 \cdot \text{PREC} \cdot (1 -\text{FEE})}amount=2⋅PREC⋅(1−FEE)PREC⋅X⋅(FEE2⋅PREC⋅X+4⋅PRICE⋅Y⋅(1−FEE))+PREC⋅X⋅(FEE−2)
在这个方程中,X代表代币A的交换开始处的储备,Y代表代币B的储备。搜索者作为策略参数的一部分提供常数FEE、PRICE和PRECISION,除了X和Y,它们依赖于加密用户交易。
实现该方程FHE版本的主要障碍是除以标量,尤其是计算加密数字的平方根。为克服这一点,我们采用一种基于牛顿法的简单策略,并限制精度为5轮。
除法和平方根操作是FHE计算中最慢的部分,后者在一个AWS hpc7a.96xlarge 服务器上需要约20秒。这突显了优化这些操作的更高效技术的必要性。
UniswapV2智能合约实现将代币储备表示为112位无符号整数。在FHE版本中,我们使用由tfhe-rs支持的128位无符号整数。在FHE中处理这样的长整数并不简单,特别是使用之前提到的TFHE方案,它以短整数和布尔值作为原生数据类型。
为了处理EVM不支持的小数,Uniswap使用了一种变通方法,将小数表示为224位值,其中112位是整数部分,112位是小数部分。随着计算的进行,我们采用256位无符号整数,以避免在加密乘法和后续操作中发生溢出风险。
在本评估部分,我们深入探讨了协议的性能指标,评估其效率和可扩展性。我们将详细说明以下表格中提出的结果。特别感兴趣的是对协议带宽需求的考察,考虑到性能提升与硬件需求之间的权衡,因为它们代表了基于秘密共享协议与FHE之间的差距。另一方面,硬件需求反映了协议的中心化程度,较强的硬件要求将限制潜在参与者的数量。
阶段 | 128位运行时间(秒) | 内存(kB) | 80位运行时间(秒) | 相较128位的速度提升 |
---|---|---|---|---|
RLP(明文) | 36.706 (±0.193) | 331,992 | 22.607 (±0.143) | 1.62 |
RLP(加密) | 38.782 (±0.336) | 334,000 | ||
RLP(明文 + AVX512) | 31.787 (±0.921) | 337,100 | 19.277 (±0.098) | 1.90 |
金额 | 1024.928 (±0.925) | 432,116 | 619.325 (±0.429) | 1.65 |
金额 (AVX512) | 846.409 (±3.134) | 462,146 | 504.351 (±10.25) | 2.03 |
现在让我们检查一下我们后排协议的性能,评估单个后排的不同配置。在上表中,我们报告了加密工作负载的性能,其中策略常数以128位明文无符号整数表示。我们比较了工作负载在搜索者机器上运行与其同态等效的情况,从而评估在第三方机器上执行协议的可行性。这两种设置代表了两种不同的场景,无论是计算密集型工作负载在搜索者的机器上运行,因此策略参数无需加密,还是考虑将整个执行委托,从而搜索者也需要加密他们的参数。这两种场景均有可能。第一个假设搜索者已配备服务器级机器,而第二种则更支持去中心化,并为没有必要基础设施的小型搜索者开辟MEV竞争。
我们注意到密钥生成和加密步骤没有单独报告,因为它们的运行时间相较于核心工作负载是微不足道的。这些步骤可以是一个预处理阶段的一部分,在此阶段用户和搜索者加密一次,时间成本可以在多次执行中摊销。
我们的实验在一台具有AVX512指令集的128核Intel Xeon Platinum 8375C CPU上进行,运行频率为2.90GHz。结果表明,数量计算阶段在运行时间上显著主导了RLP提取阶段,达到两个数量级的差异。这是由于在按牛顿法的定义方法系列中需要的一系列同态除法,按牛顿法定义的方法用于近似平方根。
现在我们重点关注SIMD(单指令多数据)指令集对FHE算法执行速度的影响。我们的分析重点在TFHE方案上,该方案严重依赖快速引导操作,利用快速傅里叶变换(FFT)可以显著加速。
我们比较了AVX2和AVX512指令集,发现AVX512提供了比AVX2快20%的速度。然而,AVX512并不广泛可用在普通消费级CPU中,通常需要高端服务器硬件。这引发了对性能提升与硬件需求之间权衡的重要问题。虽然搜索者可以在大型服务器农场中操作,甚至部署GPU或其他硬件加速器,但这需要额外的成本和基础设施考虑。这项分析表明,可能需要强大的硬件规范才能快速推出基于FHE的MEV搜索解决方案,从而限制参与协议的团队数量。
最后,让我们分析密文扩展对全同态加密(FHE)方案中数据传输需求的影响,特别是TFHE版本。FHE扩展了加密数据的大小,导致需要比明文等效数据更大的数据传输。然而,在处理以太坊交易时,数据大小相对较小,因此额外的传输需求主要是由于加密数据。
相反,传统的 MPC 协议需要在对照上交换大量数据,即便安全性较弱。将我们的 TFHE 版本与原始 MPC 尾随协议进行比较后,我们发现前者在数据传输需求方面更为高效。TFHE 版本的服务器密钥大小为105MB,交易和策略的密文大小分别为47MB和20MB。尽管这些密文较大,FHE仍然比基于秘密共享的MPC协议更高效。
全同态加密(FHE)在MEV提取中的可行性取决于解决重大计算挑战。
RLP解析和数量计算阶段之间明显不同的运行时间和内存使用量,突出了需要优化的区域,使得协议在实际应用中更为可行。
首先,需要更快的大整数算术才能释放与MEV相关的应用的规模效应,使搜索者在设计他们的策略时获得类似的体验。我们的实验突出了尾随应用中算术阶段的两个瓶颈:最后的除法和平方根的评估。在当前实施中,它们归结为相同的原语,因为我们采用连续除法的方法通过牛顿法近似平方根。因此,正在从事FHE方案的应用密码学家的主要目标应该是加快大整数除法的速度。
除了当前协议之外,为在区块链环境中实现实用部署还必须解决其他考虑。一个主要挑战是以太坊对ECDSA签名交易的要求。这意味着搜索者必须将其私钥作为加密输入的一部分注入,这需要在加密领域内执行ECDSA签名操作。由于ECDSA签名算法中涉及的模逆数,这一要求带来了重大的困难,而原型的当前状态因此跳过了这一步骤。
总之,虽然FHE在机密MEV提取中显示出希望,但目前的实施面临着显著的开销和局限性。提升大整数算术的速度,特别是除法速度,是至关重要的。此外,在加密领域内集成ECDSA签名能力是实现现实部署复杂但必要的一步。解决这些挑战将对使FHE成为大规模MEV提取的可行解决方案至关重要。
在这项工作中,我们探讨了全同态加密(FHE)在区块链交易中最大可提取价值(MEV)问题上的应用。我们专注于套利的特定案例,其中在给定市场上交换两个代币的交易会在另一个市场上产生价格差异。我们的方法建立在Flashbots的前期工作基础上,将基于秘密共享的协议改造为FHE协议,减少数据传输的开销。
我们提出了一个协议,使交易者能够盲目地尾随用户交易,在交易内容上使用FHE执行某些条件和算术运算,以模拟所谓的搜索者策略。该协议使用tfhe-rs Rust库,目标是UniswapV2去中心化交易所(DEX)。
我们的评估显示,虽然该协议在可行性上较强,但面临显著的运行时间约束。我们确定了几个未来研究的领域,包括处理多个输入交易、克服ECDSA签名挑战,以及将协议扩展到其他形式的MEV和其他DEX。
虽然仍面临许多挑战,但我们的工作为MEV与加密计算交界面上的未来研究提供了坚实的基础。我们的发现将刺激FHE社区内进一步的合作,以应对开放的挑战,将隐私保护协议用于MEV缓解更接近现实部署。
我们将继续在这个原型及新的原型上迭代,以识别FHE在未来区块链应用中可能扮演角色的更多用例。FHE的增加采用可能将通过FHE从业者与MEV开发者之间的更好互相理解而实现。我们需要在达成令人满意的性能上切些角和调整假设,而这只能在这两个社区的交界处完成。
如果你希望加入我们,探索可编程隐私在MEV用例中的优势,你可以在这里申请: https://jobs.ashbyhq.com/flashbots.net/be206742-9cac-4ad8-990e-623ef06123d3
- 原文链接: writings.flashbots.net/b...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!