fhEVM v0.5:加密数据的增强安全性和效率

  • ZamaFHE
  • 发布于 2024-07-06 19:24
  • 阅读 74

Zama 团队发布了 fhEVM v0.5 版本,该版本引入了诸多增强功能,旨在提高在应用中处理加密数据的安全性和效率,包括打包输入机制、增强的访问控制列表 (ACL) 以及更新的解密和重新加密过程。Solidity API 迎来稳定和最终版本,该版本将与未来版本以及各种链兼容。

fhEVM v0.5 引入了许多重大增强,以提高应用程序中处理加密数据的安全性和效率,包括打包输入机制、增强的访问控制列表 (ACL) 以及更新的解密和重新加密过程。最重要的是,从 fhEVM v0.5 开始,Solidity API 进入稳定和最终版本,该版本将与未来版本和各种链兼容。

打包输入机制

新版本引入了输入打包,允许将多个明文值打包到单个密文中。此更新对于 fhEVM 的未来发展至关重要,特别是对于预期推出的经过验证的输入。

在示例中,inputProof 用作包含所有加密数据的密文。变量 param1param2param3 用作指针。要访问加密值,你需要使用函数 TFHE.asEuintXX 传递这些指针以及实际数据。此方法检索指向的加密值,使其可以在进一步的加密操作中使用。

function myExample(
 address account
 einput param1,
 uint id,
 einput param2,
 einput param3,
 bool isAllowed,
 bytes calldata inputProof
) {
  euint64 amount = TFHE.asEuint64(param1, inputProof);
}

增强的访问控制列表 (ACL)

借助 v0.5,管理密文权限从未如此强大。访问控制列表 (ACL) 允许开发人员定义哪些地址有权操作密文,从而确保更明确和安全地处理权限。

为此,我们引入了两个新函数来显式授予对加密数据的访问权限:TFHE.allow(ciphertext, account) 和 TFHE.allowTransient(ciphertext, account)。这些新函数将永久或临时存储帐户计算或解密此密文的权限。

// MySecret.sol

function giveMySecret(einput encryptedSecret, bytes calldata inputProof) {
 // 创建我的密钥
 euint16 mySecret = TFHE.asEuint16(encryptedSecret, inputProof);

 // 允许 SecretStore 合约临时操作 `mySecret`
 TFHE.allowTransient(mySecret, address(SecretStore));

 // 使用 `mySecret` 调用 `storeSecret`
 SecretStore.storeSecret(mySecret);
}

// SecretStore.sol
function storeSecret(callerSecret euint16) {
 // 验证调用者是否也有权访问此密文
 require(TFHE.isSenderAllowed(callerSecret), "The caller is not authorized to access this secret.");

 // 存储此密文
 secret = callerSecret;

 // 使此密文和当前合约的临时授权永久有效。
 TFHE.allow(callerSecret, address(this));
}

以前,将加密状态变量公开是有风险的,因为其他合约可能会访问和使用你的加密数据。但是,通过新版本,可以缓解此问题。现在,虽然合约可以访问任何密文Handle,但如果没有访问控制列表 (ACL) 中指定的适当权限,它就无法操作或使用加密数据。这确保了你的加密数据保持安全,即使它可以访问。

更新的解密和重新加密过程

通过利用链下服务,重新加密的安全性和效率得到了显着提高。此调整不仅增强了安全性,还通过委托此过程优化了加密操作的性能。

在以前的版本中,我们引入了异步解密,允许开发人员批量解密相同类型的多个解密。在 fhEVM v0.5 中,API 已升级为允许解密多种类型的批次:现在可以在同一回调中接收 ebool 和 euint64 的解密。有关更多详细信息,请参阅解密指南

最终 API

fHEVM 在过去一年中得到了显着发展,并且通过这些新功能,我们很高兴地宣布 fhEVM v0.5 代表了 Solidity API 的最终版本。在 v0.5 上开发的所有合约都设计为与未来版本和各种链兼容,包括 L1 fhEVM 区块链和未来在非 FHE 链上运行的协处理器。这确保了长期的稳定性和广泛的可用性。

其他更改和改进

fhEVM v0.5 引入了一些其他更改和改进:

如果你尚未尝试 fhEVM v0.5,请查看我们的文档并开始在 FHE 中构建机密智能合约!在下一个版本中,我们将为输入和新类型添加零知识证明。敬请关注!

其他链接

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

0 条评论

请先 登录 后评论
ZamaFHE
ZamaFHE
Zama是一家开源密码学公司,专注于为区块链和人工智能构建最先进的完全同态加密(FHE)解决方案。