系列
- 解锁加密内存池(1):起源与蓝图
- 解密加密内存池(2):项目洞察
目录
- 什么是加密内存池?
- 加密内存池的背景
- 公共内存池
- 私人内存池
- 什么是审查制度?
- 什么是 MEV(最大可提取值)?
3. 实现加密内存池的方法
- TEE(可信执行环境)
- 阈值加密/解密
- 时锁谜题
4. 加密内存池实现方法总结
1.什么是加密内存池?
加密内存池是一种内存池,其中待处理交易池中的交易以加密形式等待。一旦这些加密交易被放入区块并确定其执行顺序,交易内容就会被解密并执行,最终导致区块的完成。换句话说,交易是加密的,这使得利用 MEV(最大可提取值)和进行审查变得困难,从而导致更安全的内存池结构。
加密内存池的主要优点包括保护交易细节和防止交易操纵。
1)保护交易细节
加密的内存池可以防止交易内容在提交并放入区块之前被泄露。这意味着交易无法被预先复制或审查,从而消除了对用户的任何负面影响。
这增强了网络参与者的隐私并增强了用户信任。它还可以通过识别钱包地址和交易内容来防止交易受到干扰的情况。
2)防止交易操纵
用户交易不被提前披露的特性可以防止恶意的 MEV 活动,例如非广播交易,从而主动防范此类活动。
然而加密内存池也有其缺点,主要缺点可以归纳为三类:性能下降、实现难度增加、与现有系统的兼容性问题。
1)性能下降和计算资源增加,网络效率降低
加密内存池在传统的区块创建过程中添加了加密和解密过程,这些过程增加了计算资源,导致交易处理时间更长,从而降低网络效率。
2) 实施难度增加
正确实施和管理加密技术需要很高的技术专长。人们正在积极努力在硬件和软件层面实施加密内存池。这将在实施方法部分进一步讨论。
3)与现有系统的兼容性问题
加密/解密过程可能与现有的区块链网络存在潜在冲突,因此必须考虑互操作性。
那么,什么促使了加密内存池的开发呢?
2. 加密内存池的背景
公共内存池
当我们从钱包发起交易时,无论是在 DEX 上交换、转移虚拟资产,还是执行智能合约,所有这些交易记录都会上升到公共内存池。这个公共内存池是一个虚拟空间,未处理的交易在此浮动,所有网络参与者都可以查看。它对所有人开放,任何人都可以查看待处理交易的状态和详细信息。这种透明度使用户能够在等待处理时跟踪其交易的状态,或在必要时调整交易费用。这里的交易是指参与者之间转移虚拟资产的记录,代表业务处理的最小不可分割单位。
存在用于探索和查询以太坊区块链信息(例如区块、交易和智能合约)的服务,其中Etherscan就是一个典型示例。Etherscan 可查看以太坊网络内交易的状态和历史记录,使用户能够搜索和分析特定地址、交易、区块和智能合约。
在 Etherscan 上,人们可以查看已提交并放置在区块上的交易(交易)以及仍处于待处理状态并等待提交的交易(待处理交易)。区块链技术的标志之一是透明度,这意味着交易对所有人开放。然而,这种透明度有时会对区块链生态系统的用户产生不利影响。
恶意 MEV(最大可提取值)和审查是可能导致财务损失的活动的主要例子。虽然有些人可能认为这些做法在区块链环境中很自然,但大多数交易参与者倾向于优先考虑稳定性,对恶意 MEV 和审查持负面看法。
对于那些不熟悉 MEV 和审查制度的人来说,这里有一个简短的解释。
什么是 MEV(最大可提取值)?
MEV 代表最大可提取价值,指的是矿工或验证者通过添加、排除或重新排序交易,除了区块奖励和交易费之外,还可以从区块生产中获得的最大价值。MEV 代表矿工和验证者的独特特权,使他们能够通过自由选择进入其区块的交易来产生除 gas 费之外的额外收入。
下面是一个仪表板,可以在其中查看 MEV 产生的利润。
Flashbots Transparency Dashboard
然而,MEV 奖励系统有时也会被恶意利用,包括抢先交易、三明治攻击、时间盗贼攻击、叔叔盗贼攻击等。
通过访问 eigenphi 网站,可以查看 MEV 的当前状态。总结三明治攻击的图表显示,在短时间内,通过这些攻击可以发生大量 MEV 事件,并且还可以看到从中获得的经济收益。在下面描述的情况下,仅 4 分钟内就发生了多达 10 次三明治攻击。
什么是审查制度?
审查是指有人故意将交易从区块中排除,审查可分为弱审查和强审查。以下是以太坊网络审查状态的仪表板,显示了 60 天内的审查活动,其中大多数发生在 Builder 级别。
审查薄弱
弱审查是指交易不被某些区块生产者接受,但仍可以被其他区块生产者纳入区块,从而导致用户体验的下降。一个例子是符合 MEV-Boost 的 OFAC(外国资产控制办公室)中继的影响,其中 38% 的日常交易受到审查,如下图所示。
如果想要发送不符合 OFAC 规定的交易,可以使用 MEV-Boost 或 Relay 将其发送给不遵守 OFAC 的区块生产者。在审查力度较弱的情况下,关注特定的区块生产者可以充分规避这种情况,从而避免造成不便和时间延迟,而不会对交易的执行产生重大影响。
严厉审查
这代表交易被永久排除在区块之外的情况,从而导致一种危险的审查形式,可能导致财务损失。与弱审查不同,强审查发生在网络层面,通过攻击网络来执行,对区块链生态系统构成重大威胁。攻击方法和由此产生的审查因区块挖掘机制而异,例如 PoS(权益证明)或 PoW(工作量证明)。
本研究的主题——加密内存池,在防止弱审查方面比强审查更有效。
“以太坊是一片黑暗森林”
“黑暗森林”一词是一个比喻性表达,通常用于描述公共内存池的危险。它指的是这样一个地方,一旦被发现,人们就会受到顶级掠食者的摆布,在本例中就是套利机器人。这些套利机器人会持续监控待处理的交易,抓住任何有利的机会进行抢先交易,从而剥夺用户的机会并造成财务损失。除了这些情况之外,还会出现交易需要比最初预期更高的 gas 费,以及任意提取额外价值的情况。这可能会在用户中灌输对区块链生态系统的负面看法,从而可能削弱对生态系统的信任。
那么,是否有人尝试使用其他方式来避免公共内存池中的 MEV 和审查制度的危险?一些用户转向私人内存池,以避免与公共内存池相关的风险并获得稳定性。
私人内存池
私有内存池是区块链网络内特定节点、群组或机构专用和维护的交易内存池,不与整个网络共享。与公共内存池不同,私有内存池中的交易仅在节点或群组内有效,不对外共享。与使用公共内存池相比,使用私有内存池可增强安全性和保密性,因为信任仅放在管理内存池的特定区块生产者身上。
然而,私有内存池的区块生产者可能窃取交易内容或进行恶意 MEV 和审查,这仍然是一个尚未解决的问题。此外,与将交易发布到公共内存池相比,交易被纳入区块的可能性有所降低,因为在公共内存池中,交易有机会被多个区块生产者选中。发布到私有内存池意味着只能从指定的区块生产者那里获得承诺,从而导致两难境地。为了解决这个问题,将交易发布到多个私有内存池会增加必须信任的区块生产者的数量,以及 MEV 和审查的可能性,从而形成一个两难的局面。为了克服私有内存池的缺点并防止恶意 MEV 和审查,出现了各种机制,例如 PBS 和 MEV-Boost。这些机制确保了有利于 MEV 的环境,同时最大限度地减少了其负面影响。
除了这些方法之外,“加密内存池”是新设计的机制之一,旨在阻止弱审查和负面 MEV。此内存池结合了私人内存池的稳定性和可靠性,同时还增加了交易被纳入的可能性,类似于公共内存池。
3. 实现加密内存池的方法
那么加密内存池是如何实现的呢?加密内存池的实现方法有很多种,目前主要有以下三种方式。
- 可信执行环境(TEE)
- 阈值加密/解密
- 時間鎖解谜
3.1 可信执行环境(TEE)
TEE 方法通过硬件实现加密内存池。让我们看一下如何使用 Intel SGX 实现加密内存池,这是 TEE 设置的一个示例。
该环境的核心是位于硬件内存中的“Enclave”。Enclave 是 CPU 内指定的虚拟安全区域,存储在其中的代码和数据可以在特定条件下执行。
Enclave 的一个关键特性是,即使使用调试器,也无法查看其中的代码和数据,如果不受信任的代码试图更改 Enclave 内存中的内容,SGX 将停用该环境并拒绝该操作。调试器是一种通过允许检查代码的进度和存储在内存中的值来协助调试的工具。
利用此功能,需要加密的代码和数据被放置在一个锁箱中,即内存中创建的任意空间,然后进行加密。此空间的解密密钥存储在 Enclave 中,除非满足特定条件,否则无法解密。
这种基于硬件的可信加密内存池会在交易处于硬件级别的待处理内存池中时对其进行加密,并以加密形式存在,直到它们被区块生产者(在特定条件下)放置在区块上,此时它们会在硬件级别解密并显示交易。
通过可信硬件创建的加密内存池可确保代码和数据能够安全执行,不受外部干扰或操纵。它还具有独特的加密密钥和安全机制,使其与系统的其余部分隔离。
该方法的优点包括:
1)安全的执行环境
由于Enclave不能被任意控制,因此它提供了一个安全的执行环境,确保代码和数据能够安全执行,而不会受到外界的干扰或操纵。
2)基于硬件的安全性
基于硬件安全性,因此不受基于软件的黑客攻击。基于软件的黑客攻击允许远程访问其他计算机,许多黑客利用这种方式进行黑客攻击。相比之下,基于硬件的黑客攻击需要物理访问,这使得黑客攻击更加困难,也更难以接近。
3)物理隔离
与系统的其余部分物理隔离可减少受到软件攻击和黑客攻击的漏洞。
另一方面,该方法的缺点包括:
1) 高度依赖硬件
系统可能高度依赖特定硬件,从而引发对受该硬件的重大漏洞或限制影响的担忧。
2)软件兼容性低
可能仅与特定的软件环境兼容,限制了技术选择的灵活性。
3)系统的集中化问题
对特定硬件制造商或供应商的依赖可能会增加系统的集中化程度。
4)更新和维护困难
更新和维护硬件可能很复杂且耗时,因为它可能需要更换硬件本身。
3.2 阈值加密/解密
顾名思义,此方法通过阈值实现加密内存池。在这种方法中,出现了密钥器(委员会)的概念。这些密钥器生成加密和解密密钥,加密密钥公开。但是,解密密钥在密钥器之间分配。当交易提交时,如果阈值数量的密钥器同意,则将分配的解密密钥组合起来,然后继续解密。此阈值可以由用户或协议设置。这种通过阈值加密的结构使得单个攻击者无法在确定交易顺序之前尝试解密。
该方法的优点包括:
1)降低中心化风险
通过让多个参与者持有部分密钥而不是单个密钥来增强安全性。因此,即使一个密钥被盗或泄露,整个系统也不会受到威胁。
2)持续访问数据
即使某些参与者无法使用,其余参与者仍然可以访问和处理数据。
另一方面,也有缺点:
1)多数人对密钥执行者(委员会)的诚实和信任问题
系统围绕密钥执行者(委员会)运转,需要假设多数人是诚实的。
2)协议的不稳定性
如果大多数密钥拥有者长时间不解密,用户交易的处理可能会停止,从而可能导致协议停止。这可能会导致用户失去信任并损害区块链网络的稳定性。
3)未能达到高阈值
如果设置了高阈值并且外部情况(例如网络故障)阻止足够多的参与者做出贡献,则交易处理可能会停止。
4)用户体验(UX)下降
由于每次都需要密钥执行者(委员会)投票,因此根据实施细节可能会增加不必要的等待时间和成本。
3.3 时间锁谜题
该方法通过时间锁谜题的公式实现了加密内存池。用户生成对称密钥并加密其交易,然后向区块生产者提供生成解密密钥所需的参数。
用户可以通过参数“T”设置所需的延迟时间。区块生产者可以使用用户提供的参数解密交易。这种实现的关键是,只有在满足某些条件或经过特定时间后才能访问数据,如公式所规定的那样。
该方法的优点包括:
1)增强数据保护
通过在特定时间内阻止访问数据,可以进一步保护敏感数据。
2)无需信任的环境
由于不存在信任实体,因此可以实现去中心化。
但该方法的缺点包括:
1)增加用户责任
强调保持对称密钥安全的责任,如果泄露,数据可能无法按照用户意图解密,从而可能使交易面临 MEV 和审查。此外,如果用户自己设置参数,他们必须预测延迟时间和难度,强调用户责任。
2)需要理想的系统结构设计
创建一个去信任的环境需要详细而周密的计划和资源来建立和管理适当的难题策略,这意味着系统的结构必须经过理想的设计。
4. 加密内存池实现方法总结
首先,TEE(可信执行环境)方法提供基于硬件的安全性,可以有效抵御基于软件的黑客攻击或漏洞,但需要“信任硬件”。
其次,阈值法(当阈值数量的密钥持有者同意时才解密)具有去中心化验证方法的优点。但是,它的前提是大多数密钥持有者是诚实的,需要“信任密钥持有者”。
第三,时间锁谜题方式通过谜题消除了信任的主体,具有无需信任的优点,但需要“系统设计上弱信任”。
至此,我们了解了加密内存池的背景和定义,以及实现方法。在下一篇文章中,我们将根据每种实现方法对项目进行详细分析。