本文探讨了可信执行环境(TEE)在区块链中的应用,包括其技术原理、优势、安全风险以及在隐私保护、扩展性和MEV防范等方面的用例。TEE通过硬件级别的信任,为区块链系统提供了一种不同的安全方法,但同时也带来了对硬件厂商信任的依赖等问题。未来,随着去中心化应用对计算能力需求的增加,TEE有望在区块链的可扩展性解决方案和链下计算方面发挥更大的作用。
TEE 在加密领域的应用正在加速。但这项技术真正提供了什么?
在人们越来越关注扩展和保护区块链的实际方法之际,基于硬件的方法正逐渐成为焦点。受信任执行环境 (TEE) 在区块链系统中的作用已从保护隐私的项目逐渐扩展到提高可扩展性并实现安全链下计算的应用程序。目前,有 50 多个团队正在从事基于 TEE 的区块链项目。在本文中,Cointelegraph Research 探讨了区块链系统中 TEE 的技术基础,并研究了该技术的关键用例。
大多数区块链技术依赖于密码学和分布式计算来维持安全。TEE 增加了一种不同的方法,即硬件级别的信任。
受信任执行环境是设备处理器中的一个隔离区域,旨在在执行期间保持数据和代码的防篡改和保密。由此产生的安全飞地无法访问操作系统的其余部分,并且可以通过远程证明向第三方证明它正在执行什么指令。
为此,CPU 测量受信任计算基础,其中包括启动固件、操作系统内核和应用程序二进制文件,并将其保存到安全硬件寄存器中。然后,它使用嵌入在 CPU 中的私有证明密钥对该测量值进行签名。这将生成一个加密证明报告,远程验证者可以检查该报告以确认飞地的真实性和完整性。
利用这种硬件级别的信任进行机密智能合约执行需要区块链节点使用带有 TEE 的芯片。此要求通常适用于负责交易以及区块验证和链下计算的节点。在layer-1设置中,共识节点继续复制每个合约状态的加密版本,作为全局账本的一部分。
每个节点都包含一个 TEE,该 TEE 复制每个事务的解密、纯文本执行和重新加密。这种硬件依赖性引入了增强的隐私性和较小的验证器集合之间的权衡。如果需要特定硬件,则可以运行节点的人员会减少。但是,这需要的额外信任可以通过 TEE 可以提供的远程证明来部分抵消。
另一种设计是layer-2方案,其中 TEE 计算不由分布式共识保护,而是由争议解决机制保护,如 rollups 中所见。此方法使用类似于 L1 设置的加密管道,但可以帮助提高可扩展性。但是,大多数layer-2系统失去合约互操作性,因为它们是在单独的机器上执行的,这意味着合约无法相互调用。
TEE 使用标准非对称密码术来混淆函数调用和智能合约代码。函数调用在使用 TEE 的公钥加密后,再提交到区块链,在飞地中解密并执行。
Secret Network 是使用 Cosmos SDK 和 Intel SGX 构建的,它是第一个具有由 TEE 促进的私有智能合约的区块链。Secret Contracts 允许开发人员构建机密的 DeFi 应用程序,这些应用程序隐藏合约逻辑、输入、结果和状态,但不隐藏地址。它还可以创建 Secret Tokens,其余额和交易历史记录保持机密,并且只有其所有者或明确授权的智能合约才能看到。
私有智能合约执行取决于 TEE 硬件制造商的可信度。虽然像 Intel 这样的公司不太可能通过有针对性地攻击区块链系统来损害其声誉,但自 2008 年以来嵌入在大多数 Intel CPU 中的Intel Management Engine (IME)多年来包含多个严重漏洞。
TEE 供应商可能会受到政府的影响,从而引入后门、遵守监视规定或根据国家安全法提供对加密数据的访问权限。意外漏洞也可能破坏 TEE 的安全性。例如,Plundervolt 攻击利用 Intel 的动态电压接口来诱导 SGX 飞地内部的计算故障,这使攻击者能够绕过完整性检查并从加密内存中提取密钥和机密。
为了实现保护隐私的 DApp,智能合约的执行方式必须确保逻辑和数据的机密性。为了读取和运行机密智能合约代码,TEE 可以访问解密合约数据所需的密钥。
如果这些密钥遭到泄露,攻击者可以解密以前存储的合约数据。为了避免这种情况,受信任执行环境使用分布式密钥管理,该管理将密钥控制权分配给多个受信任的节点,并经常轮换短期密钥,以限制违规行为的影响。
Ekiden 是第一个设计此类系统的系统,它为其他区块链上的类似模型奠定了基础。最敏感的密钥由 KMC(密钥管理委员会,这是一组最受信任的节点)使用阈值密码术进行管理。委员会的份额被主动重新共享,以轮换谁持有哪个份额。同时,各个工作节点持有与特定任务相关的有限访问权限的短期密钥。
这些密钥由 KMC 为每个合约颁发,并在每个 epoch 结束时过期。要获取密钥,工作节点必须首先通过安全通道向 KMC 证明其合法性。然后,每个 KMC 成员使用伪随机函数生成密钥共享并将其传输到节点,该节点在收集到足够数量的共享后会重建完整的密钥。
如果 KMC 节点遭到入侵,可以通过治理撤销其访问权限,并且该节点将被排除在未来的 epoch 之外。这减少了违规行为的潜在影响,但并未完全消除。部署机密合约后,其飞地会生成一个新的公钥,并将其与合约代码和加密的初始状态一起发布在区块链上。
以后调用合约的用户会检索此密钥以加密其输入,然后再将其发送到计算节点。为了保证真实性,节点还提供一个通过证明绑定到飞地的签名密钥,该密钥在启动时提供。
除了私有智能合约执行之外,TEE 还可以显着提高区块链的可扩展性和效率。启用 TEE 的节点可以安全地执行链下计算密集型任务,并将结果提交到链上。因此,应用程序可以将计算开销从区块链层转移到受信任的链下环境。这有助于降低 gas 成本并提高链的整体吞吐量。
IExec 是最大的去中心化云计算平台之一,它使用受信任执行环境进行链下计算。它使用基于 Intel SGX 的飞地来卸载计算并将其与区块链隔离。
请求者(通常是智能合约或用户)可以在链上购买机密计算作为任务。然后,区块链通知工作节点在安全飞地内执行任务。在执行继续之前,飞地会生成一个证明报告,其中包含飞地代码和配置的加密证据。
然后,此报告被发送到 Secret Management Service,该服务验证飞地的完整性和真实性。只有当飞地通过此验证后,才会开始实际计算。
受信任执行环境还可用于提供防 MEV 的区块链基础设施。Unichain 是 Uniswap 团队开发的以太坊上的乐观 rollup,并于 2024 年 10 月推出,它在其区块生成过程中利用 TEE。它的区块构建器与 Flashbots 合作开发,使用 TEE 在受保护的飞地内构建区块。
当路由到 TEE 构建器时,交易会被过滤、优先级排序并捆绑到 Flashblocks 中。这使 Unichain 能够实现 1 秒的区块时间,并计划引入 250 毫秒的子区块并改进交易排序。在 TEE 中构建区块有助于减少 MEV 提取,因为 mempool 交易保持加密状态。凭借这些功能,Unichain 旨在构建一个 DeFi 指定的区块链。
随着开发人员寻求更高效的隐私解决方案,区块链上的受信任执行环境正日益受到关注。TEE 有潜力通过低成本和高延迟的安全计算来塑造去中心化应用程序的未来。尽管 TEE 具有潜力,但由于硬件要求和信任假设,大多数区块链尚不支持 TEE。
未来,我们预计 TEE 的用例将从保护隐私的应用程序扩展,并专注于区块链的可扩展性解决方案以及去中心化应用程序的链下计算。这种转变是由计算需求更高的 DApp(例如去中心化 AI 应用程序)的出现所驱动的。TEE 可能会通过低成本、高性能的链下计算来促进这些用例。
- 原文链接: cointelegraph.com/news/t...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!