隐私是人类和组织的基本权利。对个人而言,它帮助人们自由表达自己,而不必向第三方透露任何不想分享的信息。对于当今的大多数组织而言,数据被视为主要商品,数据隐私对于保护这一商品至关重要。密码朋克运动和数据商品化加速了密码学原语的研究和发展。
密码学是一个相当广泛的领域,当我们在计算的背景下看待密码学时,我们已经看到许多不同的方案,例如零知识证明、同态加密、Secret共享等,这些方案自1960年代诞生以来一直在不断改进。这些方案对于解锁私人计算方法至关重要(数据之所以是是主要商品,那是因为人们可以从中发现生成洞察)。直到今天,Private计算领域在多方计算和零知识证明方面有了显著发展,但输入数据本身始终存在隐私问题。
当最重要的商品公开时,任何数据所有者要在没有法律协议的情况下将此数据的计算外包出去是非常困难的。今天,每个人都依赖于数据隐私的合规标准,如针对健康数据的HIPAA和专门针对欧洲地区数据隐私的GDPR等。
在区块链领域,我们更相信技术的完整性,而不是监管机构的完整性。作为去许可和所有权最大化的信徒,如果我们相信用户拥有数据的未来,就需要无信任的方法来对这些数据进行计算。在2009年Craig Gentry的工作之前,在加密数据上执行计算这一概念一直没有突破。这是第一次有人能够在密文(即加密数据)上执行计算(加法和乘法)。
1. 全同态加密(FHE) 的工作原理
那么,这种允许计算机在不了解输入的情况下执行计算的“魔法数学”到底是什么呢?
全同态加密(FHE)是一类加密方案,它允许在加密数据(密文)上执行计算而无需解密数据,为隐私和数据保护打开了一系列用例。
在FHE过程中,当数据被加密时,会向原始数据添加称为噪声的额外数据。这就是加密数据的过程。
每次执行同态计算(加法或乘法)时,都会添加额外的噪声。如果计算过于复杂,每次都添加噪声,最终解密密文就会变得非常困难(这在计算上非常繁重)。这种过程更适合加法,因为噪声呈线性增长,而对于乘法,噪声呈指数增长。因此,如果有复杂的多项式乘法,解密输出将非常困难。
如果噪声是主要问题,并且其增长使FHE变得难以使用,就必须加以控制。这催生了一种称为“Bootstrapping”的新过程。引导是一种使用新密钥对加密数据进行加密并在加密中解密的过程。这非常重要,因为它显著减少了计算开销以及最终输出的解密开销。虽然Bootstrapping 减少了最终的解密开销,但在过程中会有大量的操作开销。这可能既昂贵又耗时。
目前主要的FHE方案有:BFV、BGV、CKKS、FHEW、TFHE。除了TFHE,这些方案的缩写都是其论文作者的名字。
可以将这些方案视为同一国家中讲的不同语言,每种语言都针对不同的优化。理想状态是统一这个国家,即所有这些语言都能被同一台机器理解。许多FHE工作组正在努力实现这些不同方案的可组合性。像SEAL(结合BFV和CKKS方案)和HElib(BGV + 近似数CKKS)这样的库帮助实现FHE方案或不同计算的方案组合。例如,Zama的Concrete库是一个针对TFHE的Rust编译器。
2. FHE方案比较
下面是查尔斯·古特、迪米特里斯·穆里斯和奈克塔里奥斯·乔治·楚索斯在其论文《SoK:通过标准化基准对全同态加密库的新见解》SoK: New Insights into Fully Homomorphic Encryption Libraries via Standardized Benchmark(2022)中对不同库的性能比较。
Web3用例
当我们今天使用区块链和应用程序时,所有数据都是公开的,所有人都可以看到。这对大多数用例是有利的,但完全限制了许多需要默认隐私或数据保密的用例(例如机器学习模型、医疗数据库、基因组学、私人金融、不被操纵的游戏等)。FHE支持的区块链或虚拟机本质上允许整个链的状态从起点开始加密,确保隐私,同时允许在加密数据上执行任意计算。所有存储或处理在FHE支持的区块链网络上的数据本质上是安全的。Zama有一个fhEVM方案,允许在完全同态环境中进行EVM计算。这在执行层面为任何使用此库构建的L1/L2项目确保了隐私。尽管隐私链一直是很酷的技术,但采用率和代币表现并未显著提升。
在外包通用计算方面,FHE本身并不是要取代ZK和MPC。它们可以相互补充,创造一个无信任的私人计算巨头。例如,Sunscreen正在构建一个“隐私引擎”,这基本上允许任何区块链应用程序将计算外包到他们的FHE计算环境,并可以将计算结果反馈回来。生成的计算可以通过ZK证明进行验证。Octra正在做类似的事情,但使用的是一种不同类型的加密方案,称为hFHE。
ZK证明擅长在不透露数据的情况下证明某事,但证明者在某个时间点仍然可以访问这些数据。ZK证明不能用于私有数据的计算;它们只能验证某些计算是否正确完成。
MPC将加密数据的计算分散到多台机器上,平行执行计算,然后将最终计算结果拼接在一起。只要进行计算的大多数机器是诚实的,就无法检索原始数据,但这仍然是一个信任假设。由于MPC中需要各方之间的不断通信(数据需要不断拆分、计算和重新连接),通过硬件进行扩展变得困难。
在FHE中,所有计算都在加密数据上进行,无需解密数据,而且这可以在单台服务器上完成。FHE的性能可以通过更好的硬件、更多的计算资源和硬件加速来扩展。
目前,FHE在区块链领域的最佳用例更多是在外包通用计算,而不是构建内置的FHE L1/L2。以下是FHE可以解锁的一些有趣用例:
- 第一代(加密原生):链上DID、赌场、投注、投票、游戏、Private DeFi、私有代币、dark pools、2FA、备份、密码。
- 第二代(模块化):“隐私链”(Chainlink for privacy)、外包私人计算、区块链与合约之间的端到端加密、加密的数据可用性、可验证的安全数据存储。
- 第三代(企业级):复杂的消费者应用程序、加密和分散的LLM、人工智能、可穿戴设备、通讯、军事、医疗、隐私保护的支付解决方案、Private P2P支付。
当前基于FHE的业内项目
完全同态加密(FHE)的发展激发了多个利用这一技术增强数据隐私和安全的创新区块链项目。本节深入探讨了Inco、Fhenix和Zama等值得注意的项目的技术细节和独特方法。
Inco
Inco正在开创FHE与区块链集成的先河,创建一个平台,使得数据计算既安全又私密。Inco使用基于格 (lattice-based) 的加密技术来实现其FHE方案,确保对密文(加密数据)的操作可以在不暴露底层明文的情况下进行。该平台支持隐私保护的智能合约,允许直接在区块链上处理加密数据。
- Lattice-Based的FHE:Inco利用基于格的加密进行其FHE实现,因其后量子安全特性而著称,确保对未来可能的量子攻击具有弹性。
- 隐私保护智能合约:Inco的智能合约可以对加密输入执行任意函数,确保合约和执行合约的节点都无法访问明文数据。
- 噪声管理和Bootstrapping:为了处理同态操作过程中噪声增长的问题,Inco实施了高效的Bootstrapping 技术,刷新密文,保持解密性,同时进行复杂计算。
Fhenix
Fhenix专注于为隐私保护应用程序提供强大的基础设施,利用FHE提供端到端加密解决方案,以保护用户数据。Fhenix的平台旨在支持从安全消息传递到隐私金融交易的广泛应用,确保在所有计算过程中数据隐私。
- 端到端加密:Fhenix确保数据从输入点到处理和存储的整个过程中都保持加密状态。这是通过结合FHE和安全多方计算(SMPC)技术实现的。
- 高效密钥管理:Fhenix集成了先进的密钥管理系统,便于安全密钥分发和轮换,这是在FHE环境中保持长期安全的关键。
- 可扩展性:平台使用优化的同态操作和平行处理来高效处理大规模计算,解决了FHE的主要挑战之一。
- 协处理器:Fhenix还率先开发了专门的协处理器,旨在加速FHE计算。这些协处理器专门处理FHE所需的密集数学运算,显著提高了隐私保护应用程序的性能和可扩展性。
Zama
Zama是FHE领域的领先者,以其开发的fhEVM方案而闻名。该方案允许在完全同态环境中执行以太坊EVM计算,确保任何使用该库构建的L1/L2项目在执行层面上的隐私。
fhEVM方案:Zama的fhEVM方案将FHE与以太坊虚拟机集成,实现加密的智能合约执行。这允许在以太坊生态系统中进行保密交易和计算。
Concrete库:Zama的Concrete库是一个针对TFHE(FHE的一种变体)的Rust编译器。该库提供了同态加密方案的高性能实现,使加密计算更加高效。
互操作性:Zama致力于创建能够与现有区块链基础设施无缝协作的解决方案。这包括支持各种加密原语和协议,确保广泛的兼容性和易于集成。
3. FHE 在 Crypto 和 AI Infra 与应用中的关键角色
如今,密码学与人工智能的交汇正如火如荼。尽管不深入探讨这一交汇,但值得注意的是,新模型和数据集的创新将由多个参与方的开源合作推动。除了计算之外,最终最重要的是数据,这些数据是这个合作管道中最重要的部分。AI应用和模型的有用性最终取决于其所训练的数据,无论是基础模型、微调模型还是AI智能代理。保持这些数据的安全和私密性,可以为开源合作打开一个巨大的设计空间,同时允许数据所有者持续从训练模型或最终应用中获利。如果这些数据本质上是公开的,将很难进行货币化(因为任何人都可以访问有价值的数据集),因此这些数据更可能被严格保护。
在这种情况下,FHE可以发挥关键作用。在理想状态下,它可以在不透露底层数据集的情况下训练模型,这或可以解锁数据集的货币化,极大地促进数据集所有者之间的开源合作。
Source: Bagel Network
FHE如何增强隐私保护机器学习(PPML)
- 数据隐私:通过使用FHE,敏感数据如医疗记录、财务信息或个人标识符可以在输入ML模型之前加密。这确保即使计算环境遭到破坏,数据仍然保持机密。
- 安全模型训练:训练ML模型通常需要大量数据。使用FHE,这些数据可以加密,从而在不暴露原始数据的情况下训练模型,对于处理高度敏感信息并受严格数据隐私法规约束的行业至关重要。
- 机密推理:除了训练,FHE还可用于加密推理。这意味着一旦模型训练完成,可以在加密输入上进行预测,确保用户数据在整个推理过程中保持隐私。
FHE的PPML应用领域:
- 医疗保健:在保护隐私的前提下训练ML模型,可导致更个性化和有效的治疗,而不会暴露敏感的患者信息。
- 金融:金融机构可以使用FHE分析加密的交易数据,实现欺诈检测和风险评估,同时保持客户隐私。
- 物联网和智能设备:设备可以收集和处理加密形式的数据,确保位置数据或使用模式等敏感信息保持机密。
FHE的问题:
如前所述,FHE方案之间没有“统一”。方案之间不可组合,且多次需要为不同类型的计算组合不同的FHE方案。对同一计算实验不同方案的过程也相当繁琐。正在开发的CHIMERA框架允许在TFHE、BFV和HEAAN等不同FHE方案之间切换,但目前远未达到可用状态。这引出了下一个问题,即缺乏基准测试。基准测试对于开发者采用这项技术非常重要。这将有助于节省许多开发者的时间。考虑到计算开销(加密、解密、Bootstrapping、密钥生成等),许多现有通用硬件并不非常适用。需要某种形式的硬件加速,或可能需要创建特定芯片(FPGA和/或ASIC)以实现FHE的更主流应用。这些模式的问题可以与ZK(零知识)行业的问题进行比较。只要一群聪明的数学家、应用科学家和工程师对这个领域感兴趣,我们将继续看好这两个领域:FHE用于隐私和ZK用于可验证性。
4. FHE驱动的未来会是什么样子
会有一个FHE方案统治所有吗?业内还在进行这样的讨论。尽管理想状态是有一个统一的方案,但不同应用的多样化需求可能总是需要针对特定任务优化的专门方案。方案之间的互操作性是最佳解决方案吗?互操作性确实可能是一个实际的方法,允许灵活处理多样化的计算需求,同时利用各种方案的优势。
FHE何时可用?可用性与减少计算开销、改进基准测试标准以及开发专用硬件的进展密切相关。随着这些领域的进展,FHE将变得更加可访问和实用。
总结来说,FHE为数据隐私保护和安全计算提供了强大的工具。尽管目前在互操作性、计算开销和硬件支持方面仍存在挑战,但FHE在区块链、隐私保护机器学习以及更广泛的Web3应用中的潜力不容忽视。随着技术的不断发展和创新,FHE有望在未来的隐私保护和安全计算领域发挥关键作用。