1. 何为FHE?
FHE (Fully homomorphic encryption):
- 是一种隐私技术,支持直接对密文进行计算,而无需对密文先解密再计算。
- 即,任何第三方或云厂商,都可对敏感信息的密文进行处理,而无需访问密文内的任何明文数据。
1.1 FHE历史
FHE历史演变路径为:
- Ronald Rivest、Leonard Adleman 和 Mike Dertouzos 于1978年 On Data Banks and Privacy Homomorphisms 论文中,提出了"基于密文计算"的概念。
- 2009年Craig Gentry 在其博士论文 A fully homomorphic encryption scheme 中,构建了首个支持通用电路的方案------通过加法和乘法来实例化FHE。
2. FHE用例
FHE可用于:
- 隐私加强:如用于机器学习、云计算、FHE+ZKP+MPC实现链上gambling、加密搜索和数据库操作。
- 链上私有交易、私有智能合约、专注隐私的VM如FHEVM等。
2.1 何为专注隐私的VM?
以下将"专注隐私的VM"称为"加密VM"。
加密VM环境支持:
- 上传合约S和交易T
- 计算
S(T)
,在不公开S和(或)T的情况下,来做资产转移、swap等。- 如,某些云厂商提供合约隐私,某些云厂商提供数据隐私,而有的云厂商同时提供合约隐私和数据隐私。
实现加密VM的挑战在于:
- 1)Overheads开销
- 2)Breaking composability突破现有组合性
- 3)Breaking dev tools突破现有开发工具
- 4)Regulatory监管
2.1.1 Overheads
- 需要将program转换为"FHE-friendly"表示,如只包含加法和乘法门的电路。相比于直接计算,这引入了大量的开销。
- 对每个电路执行密码学运算,将单个操作符,替换为,一系列基于大数的复杂运算。这仍会增加开销。
具体区间与具体的计算,以上步骤将增加数十倍的开销。
2023年9月,Intel声称正在开发对FHE运算高效的定制芯片:
挑战在于,该算法仍在进化,且有大量的参数选型。Sergey Gorbunov参与了2019年的 Homomorphic Encryption Standard 制定。至今仍有一些选型未完成。
电路设计的挑战在于需要非常准确的域和运算,来最大限度地利用固定电路拓扑。
有没有什么"突破"使FHE成为现实?当前还没有。
- 正在算法和优化方面进行扎实但渐进的改进。从必须将程序转换为某种形式的THE友好表示(这将增加开销)到必须对更大的数字进行计算,这一切都不会改变。
2.1.2 Breaking composability
隐私破坏了可组合性。
- 不能像编写公共数据[和程序]那样编写私有数据。
- 也就是说,加密交易不能像明文值那样在智能合约中使用------接收加密交易的程序不能调用另一个程序,也不能向仅通过明文值操作的程序发送存款。这使得在一个生态之上构建另一生态更具挑战性。
2.1.3 Breaking dev tools
似乎很少有人讨论这一点,但在加密的领域中不可能有相同的监控/调试工具。如,
- 假设客户打电话说"我的交易没有通过"。要调试此语句,需要知道问题是否与数据编码、加密、程序评估或管道中的其他任何地方有关。如果没有对数据本身的可见性(客户一开始就试图隐藏数据),这是非常具有挑战性的。
2.1.4 Regulatory
已经看到了保护隐私的token和网络的问题。可能会因为编写该软件而遇到麻烦。监管机构将如何接收和分类完全加密的环境还有待观察。
3. FHE的当前瓶颈
FHE的当前瓶颈有:
- 1)为加强计算安全性,在加密期间会给密文添加一些"noise噪声"。
- 2)当密文中累积了过多"噪声"时,会因过噪,而影响输出的精度。
- 3)Bootstrapping自举 是一种常用去噪技术,但其是计算密集型的。
- 4)不同的解决方案正在探索,在不给设计施加太多约束的情况下,有效去噪的方法,包括TFHE、CKKS、BGV等。
4. FHE领域项目
当前,FHE领域项目有:
- @zama_fhe:TFHE + fhEVM
- @FhenixIO:FHE L2 + coprocessor
- @Privasea_ai:Ai X FHE
- @octra:HFHE L1
- @inconetwork:FHE L1
- @Fair_Block:Modular FHE solution
- @mindnetwork_xyz:Depin + AI X FHE
- @SunscreenTech:FHE compiler
- @zkHoldem:Gambling with FHE
5. FHE领域前景展望
将ZK推向今天的水平总共花费了大约10亿美元------这是一个很大的兴奋和潜力,但还有更多的生产用例有待观察。Sergey预计FHE将需要大约相同的资金才能达到目前的水平[需要大约9亿VC]。这是因为软件栈的类似部分需要重写,而且可以说需要重写更多。
Sergey认为工程师应该关注更多的垂直用例,并考虑端到端的开发人员体验。当然,考虑通用VM环境是有利可图的,但其应针对特定的工作负载进行优化。
谁将为保护隐私的固有管理费用支付美元(工程、维护和执行成本)还有待观察。
FHE领域需要更多的资金、更多的工程师、实用的用例和简单的开发环境。
参考资料
[1] Poopman 2024年4月7日twitter A simple explanation of FHE (Fully homomorphic encryption) 🥷🧾
[2] Sergey Axelar 2024年3月9日twitter To FHE, or not to FHE, that is the question.
[3] Sergey 2024年3月9日博客 To FHE, or not to FHE, that is the question.