作者:Shew & Noah,DeepSafe Research
自比特币和以太坊诞生以来,Crypto 业内就流传着“不可能三角”的说法,这一知名定律预言了免信任和高效率之间的冲突,虽然后来出现了如支付通道、Rollup 及模块化区块链等层出不穷的方案,但它们都无法做到完全通用。如果要构建面向特定场景的用例,比如定制化的可编程签名,我们就不得不引入其他技术方案。
现在,随着行业的不断发展与成熟,TEE(可信执行环境)逐渐融入了 Web3 生态内。通过提供硬件环境级的数据隔离和完整性,TEE 在保证安全的同时,也为 Crypto 中的应用场景带来了新的可能。
在本文中,DeepSafe Research 将通过 TEE-Boost、Rollup-Boost、CRVA 等几个案例,探讨 TEE 在 Web3 当中的应用方式,向大家揭示其巨大潜力及未来可能出现的新场景。我们认为,TEE 很有可能重塑整个区块链行业,在 MEV、底层公链性能拓展及免信任签名发挥重大作用,在所有需要隐私保护的场景中占据一席之地。
什么是 TEE?
通俗来讲,TEE 是处理器或数据中心内隔离出的一片安全区域,我们可以把程序放在TEE 中执行,而这段程序不会受到包括操作系统在内的其他程序干扰。
与软件层面的安全措施不同,TEE 通过特殊硬件,确保外部实体无法观测或访问 TEE 内的数据,无论是运行 TEE 的主机操作系统,还是云服务提供商,都无法看到 TEE 内的敏感数据,这便是 TEE 两大特性之一的安全性,可以为敏感计算和数据构建一道屏障。
而所谓的完整性,是说在 TEE 中运行的代码完全按预先编好的逻辑执行,不存在外部操纵的可能性。TEE 硬件会对外提供内部执行的代码的哈希值,以及对该哈希的签名,任何与 TEE 交互的人都可以核对这个哈希值,确定 TEE 内部运行的程序是否有误。
对于上面提到的签名,TEE 内有一个由硬件制造商设置的根密钥,专门用来生成签名。这道密钥有多种生成方法,一种方法是 “密钥注入”,由 TEE 芯片生产商在外部生成密钥,然后将密钥存储在芯片中,Intel SGX 芯片便使用这种方法,所以 Intel 作为芯片制造商,可能知道密钥的内容。
目前,更为新颖的生成 TEE 密钥的方法,是在 TEE 内部嵌入随机数模块,在 TEE 第一次被使用时,自动读取随机数并生成密钥。由于目前随机数生成器可以生成真随机数,这样的话即便是芯片制造商也不知道密钥的内容。这样一来包括运行 TEE 服务器的数据中心在内都无法窃取 TEE 内部的密钥。
大多数参考资料中都侧重提到 TEE 的安全性,但较少提到完整性,实际上完整性及其验证过程非常重要。我们可以验证 TEE 针对程序的哈希值生成的签名,这套流程一般称为远程认证(Remote Attestation)。下图就展示了用户如何确定 TEE 内执行的程序与 Github 上开源的代码一致。
所以对于任何 TEE 相关应用,我们都可以相信应用内的敏感数据不会被窃取,也可以验证该应用程序是按照其开源的代码执行的。但是,TEE 并不是完全免信任的,对于使用 TEE 的程序而言,仍需要信任硬件供应商。
由于大多数支持 TEE 的处理器由英特尔、AMD 和ARM 等硬件制造商生产,用户必须信任这些供应商正确实施了完整的工艺流程,且硬件中不包含后门。同时,用户可以执行上文介绍的远程认证,避免 TEE 所在主机的运行方将程序置于非 TEE 环境中。
Web3 中的典型 TEE 应用场景
TEE-Boost:让区块构建流程更去中心化
在以太坊生态中,TEE 被用于解决 MEV 的中心化问题。以太坊网络大部分节点都接入了名为 MEV-Boost 的中间件,而后者高度依赖于集中化的 Relay 服务。为了更好的理解这一点,我们简单介绍下 MEV-Boost 的工作流程:
1. 首先,以太坊网络内存在很多Searcher,它们从公共交易池中读取未上链的交易指令,从中寻找 MEV 机会。Searcher 会把一批交易排序成列表(其中插入他自己发起的交易),交给 Builder
2. 不同的 Searcher 需要竞拍,Builder会选中几个不冲突的交易序列,将其聚合为一个区块。之后 Builder 会声明这个区块如果上链,会支付给出块者多少小费
3. Relay作为中介,收集多个 Builder 提交的区块。Validator/Proposer出块时,会向 Relay 请求区块,Relay 会选中小费最多的区块,将区块头发送给 Validator(注意是区块头而非完整区块,区块头内只包含一些摘要信息,以及 Builder 支付的小费数额)
4. Validator/Proposer 对区块头签名,广播到网络中,表达自己对 Realy 提交的区块头的认可。Relay 确认这一点后,才会把完整区块发给 Proposer,后者拼装后进行第二次广播,把完整区块传递出去。
观察上述流程,不难发现 Relay 服务商的角色很重要,他必须保证以下几点:
隐私:Relay 要保证不让出块者提前看到区块内的数据,否则出块者可以仿照 Searcher 的交易排序方式,自己构造一批 MEV 交易,获取所有收益。
区块有效性:Relay 要保证 Builder 提交的区块有效,不包含垃圾数据。
数据可用性:Relay 要保证在有限时间内出示区块的完整内容,让 Validator 顺利出块
小费最多:Relay 要保证自己提交给 Validator 的区块是让后者获小费最多的
虽然 Realy 举足轻重,然而目前 MEV-Boost 却依赖于高度集中化的 Relay 服务商。在下图中可见,几大主要的Relay 服务商几乎垄断了整个MEV 市场。仅 Ultra Sound 一家就占有差不多 40% 的市场份额。而中心化带来的问题便是潜在的作恶可能。
一个最简单的场景是Relay 服务商放弃隐私保护原则,直接将 Builder 构建的区块内容提前泄露给出块者。此时出块者可以仿照 Builder 和 Searcher 的交易排序方式,私自构造 MEV 交易给自己牟利。除此之外 Relay 的作恶场景还包括提交无效区块、扣留数据等。
为了解决上述问题,TEE-Boost 提出了一种革命性的方法,它利用 TEE 消除对 Realy 的信任假设,同时保留目 MEV-Boost 架构内的所有安全保证。TEE-Boost 取缔了 Relay 这个角色的存在,让Builder 直接在 TEE 中运行代码,通过远程验证来证明自己生成的区块有效。
然后 Proposer 直接对接多个 Builder,选出小费最多的那个区块头并签名,之后 Builder 再出示完整的区块内容。由于取缔了 Realy 这个中介,Builder 不必担心区块内容的提前泄露。
除了 TEE-Boost,以太坊生态中的 Rollup-Boost 也采用了 TEE。Rollup-Boost 是 Flashbot 和 Uniswap Labs、OP Labs 合作开发的 Rollup 构建方案,目前被用于 Unichain,是一套模块化的方案,它实现了两个扩展模块:
1. 250ms确认的“Flashblocks” :提供 250 毫秒的超高交易确认速度。对用户而言,交易可以被快速纳入区块并得到确认
2. 可验证的优先级排序:交易序列严格按照每笔交易支付的优先费用来排序,不会被区块构造者做手脚。此外还允许 Defi 等智能合约回收部分 MEV 收益
对于 Flashblocks,核心是在 TEE 内将交易打包并生成一个区块碎片广播出去,而 Unichain 的验证者会收集多个碎片打包为一个完整的区块。
这套方法的好处显而易见,它让验证者每时每刻都能收到部分区块数据,不像过去一样要等空窗期后才收到区块,这样一来其带宽利用率将有明显提升,可以提高 TPS 并加快交易确认速度。
此外,由于区块碎片的生成是在 TEE 内进行,只要 TEE 内的程序不包含错误,这些区块碎片就肯定有效不会包含垃圾数据,这样一来,Unichain 的验证者也可以省去验证区块数据的工作量。
而可验证优先级排序利用 TEE 的特性提供可信的交易排序结果,任何第三方都可以信任运行在 TEE 内的出块程序不包含恶意的逻辑。假如程序没有在 TEE 内执行,那么交易排序可能无法完全按优先级进行,出块者可能会出于利益诉求手动调整交易次序。
DeepSafe:新一代免信任门限签名方案
为了实现更去中心化、免信任的消息验证 + 门限签名方案,DeepSafe引入了 TEE 和 ZK,原创了全流程保密的抽签 + 签名方案,名为 CRVA(加密随机 AI 验证网络)。
为了提高消息验证和门限签名的速度,CRVA 会通过抽签算法随机抽选节点,比如每隔半小时抽 10 个节点作为验证人,验证一条消息是否有效(比如一笔跨链交易是否有效),目标消息通过验证后,验证人们会生成门限签名并触发后续操作。
在 CRVA 中,DeepSafe 利用了 TEE 和 ZK 的隐私保护功能来隐藏验证人身份,防止内部串谋或黑客攻击。其具体工作流程简化如下:
1. 每个 CRVA 节点的核心模块都运行在 TEE 内,还要在 DeepSafe 官方公链上留下一个永久公钥,用来注册身份
2. 节点会在 TEE 中生成一个临时公钥,并生成 ZK Proof,证明临时公钥与链上的某个永久公钥彼此关联,但又不泄露是哪一个(这里要注意,因为有 TEE,节点自己都不知道自己的临时公钥内容)
3. 之后,节点在 TEE 内对临时公钥加密,将密文与 ZKP 发送给外界,由 Relayer 统一接收。Relayer 会在 TEE 内将密文解密,还原出临时公钥集合(由于有 TEE,Relayer 不知道每个临时公钥对应哪个节点提交的密文)
4. 解密出临时公钥集合后,Relayer 节点会将其提交至链上,调用 VRF 函数随机选择几个节点做验证者,构成匿名委员会
5. 假设现在有一条消息(比如跨链请求)需要验证,CRVA 网络内会广播待验证消息,节点会先用 TEE 内的临时公钥,验证自己是否属于委员会,然后再选择参与签名
6. 目前 DeepSafe 采用链上远程证明的方式,保证 CRVA 节点的计算流程在 TEE 内严格进行。DeepSafe 官方自行搭建了一条公链,专门用来接收和验证 CRVA 节点生成的远程证明
这套 CRVA方案的核心是,几乎所有重要活动都发生于TEE 内部,外界不知道发生了什么,它们在 TEE 外部只能看到一堆加密后的密文。包括 Relayer 在内,没人知道哪些节点是验证人,甚至你自己都不知道自己的临时公钥是什么,从根本上防止了串谋和外部攻击。
理论上讲,攻击 DeepSafe 的 CRVA 委员会需要攻击整个 CRVA 网络内的数百个节点,难度非常大。这套靠 TEE 和隐私计算实现的免信任门限签名方案,可以应用于多签钱包、资产托管、跨链桥、预言机等许多场景中。
在此前的文章中,我们就曾提到,CRVA 可以在常规智能合约钱包的验证流程之上,作为补充,构造 2FA 双因素验证流程,增加用户资产的安全性;此外,大多数跨链桥或资管平台采用多签 /MPC 的托管方式,而 CRVA 几乎天然适用于此类场景。
比特币生态内知名跨链桥 Bool Network 便是基于 CRVA 构建的,该跨链桥在 2024 年处理了累计超 3.5 亿美元的跨链交易,几乎接入了 80% 的比特币 Layer2 网络,取得了不错的成绩。
TEE 协处理器是目前 TEE 在未来最有前景的场景之一。所谓协处理器,指使用可证明的链下计算取代成本高昂的链上计算,类似于 Rollup 的思路。我们可以把复杂计算、数据处理和算法操作放到在 TEE 中执行,通过加密证明在链上验证其结果。
这套方法可以为 EVM 生态内的智能合约提供低成本且隐私的计算能力,比如 AMM 合约有一套复杂的算法,可以算出目前最好的 AMM 参数,但这套算法在链上执行需要消耗大量 gas,此时我们可以将该算法放到 TEE 内执行,而 AMM 合约在更新参数时,只需要向 TEE 内的程序发起请求,便可直接收到结果。
除此之外,我们还可以创造出新的应用类型,比如 Teleport,该项目通过 TEE 协处理让智能合约控制 Twitter 帐户,用户可以将其 Twitter 授权给 TEE 自动操作。比如,我们可以在链上触发交易,当 TEE 监控到交易指令后,会在 TEE 内生成一条推文,然后发布到推特。
更有趣的方法是在 TEE 内部调用 LLM 的 API,实现复杂的条件判断。目前DeepSafe正在探索基于TEE 的AI 预言机,预言机核心部分在 TEE 内执行,可以调用 LLM 检索外部数据,输出关于某个事件是否发生的结论,并将该结论发送至链上,以此为预测市场提供更准确的事件结果。
加密内存池和隐私交易
由于 TEE 的机密性,我们可以基于 TEE 构建完全隐私的交易处理工作流。传统的内存池会将交易内容暴露给网络中所有人,从而为各种 MEV 攻击创造了机会,损害了用户利益,而前文提到的 Rollup-Boost 的开发商正在探索这一场景。
基于 TEE 的加密内存池,可以确保交易在整个生命周期内高度保密,比如。用户直接向基于 TEE 排序器提交加密后的交易,交易解密、排序、执行的全过程都在 TEE 内进行,外部不可见。最后,我们只把交易执行过后的最新状态更改发布到区块链上。
TEE 多证明器系统
除了前述场景,TEE 还可以为 Rollup 充当证明器,作为 ZK 和 OP 之外的技术补充。诸如 Scroll、Taiko 等知名 Rollup 项目方都采用了 TEE 证明器,这种方法比 ZK 更高效快速,也便于迭代。
TEE 代表了区块链领域最重要的技术发展之一,它为解决性能、隐私和去中心化之间长期存在的矛盾提供了一条切实可行的途径。通过提供硬件保证的隔离性和完整性,TEE 能够支持新的应用类别,同时保持区块链系统所特有的信任最小化特性。
本文探讨的应用——从 MEV-Boost 的去中心化区块构建到 Rollup-Boost 的性能提升,再到 DeepSafe 的高级安全机制——展现了 TEE 技术的变革潜力。这些应用证明,TEE 能够带来立竿见影的实际效益,同时为未来更具雄心的应用奠定基础。
区块链基础设施的未来很可能不会局限于单一的技术方案,而是多种技术的复杂组合——每种技术都针对特定的用例和安全需求进行了优化。 TEE 将在这个多方面的生态系统中发挥关键作用,提供将区块链应用程序推向主流采用所需的性能和功能,同时保留其独特的去中心化、无需信任的属性。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。