可编程密码学
加密技术虽然已有数千年历史,但可编程密码学却是现代科技的产物。这种被称为”通用密码学”或”表达权利主张的语言”的技术,让像ZK证明这样的密码原语具备了前所未有的灵活性和适应性。开发人员现在可以在其基础上构建几乎任何功能,从简单的网站按钮点击到复杂的加密操作安全证明,形成一条完整的逻辑链条。
https://youtu.be/qAfprVCBhdQ?t=1024
与传统密码学依赖固定功能集不同,可编程密码学让开发人员能够用更熟悉的语言部署密码属性和功能。这项技术为非密码学专家提供了更友好的开发界面,打破了专业壁垒。ZK证明最早在1989年被提出,但直到2012年zk-SNARK的出现才使其从理论走向实践,这个新原语允许ZK证明验证几乎任何函数或计算。
随着zkSNARKS的实用化,大量资源和人才涌入这个领域,催生了zCash、zkRollups、zkEVM等一系列创新应用。区块链技术特别是以太坊等去中心化系统,为密码学研究注入了新的活力,将这个曾经被视为不切实际的领域转变成了拥有实际应用场景的活跃生态系统。
虽然无法确定多方计算(MPC)、完全同态加密(FHE)和不可区分混淆(iO)是否会像ZK技术一样实现快速实用化,但在当前这个早期阶段,这种可能性确实存在。如果把可编程密码学比作数字计算机,我们现在还处于硬件发展阶段,仍在寻找为这台新型计算机构建最佳逻辑门户的方法。
比较直观的对比
为了更直观地理解可编程密码学的整体图景,我们可以对MPC、FHE和iO与ZK技术进行粗略比较。在这个过程中,我们会适当简化一些技术细节,以保持内容的易理解性。
理解密码学的一个简单方法是看它隐藏了哪些信息,又揭示了什么。我们可以把这些系统想象成一个叫”托尼”的虚拟朋友,他绝对可靠、从不犯错,专门负责保守秘密。在这个比喻中,”私有元素”就是托尼守护的秘密,”用例”是他能完成的任务,”实用性”则代表他当前执行这些任务的能力水平。
这个比较框架为我们理解可编程密码学的不同领域提供了基础。接下来,我们将更深入地探讨MPC、FHE和iO的具体应用及其独特之处。
多方计算(MPC)
多方计算(MPC)使多个参与方能够在不泄露各自数据的情况下共同完成计算任务。在这个过程中,所有参与方对相同的数据集进行计算,但各自的输入数据保持私密,中间计算结果也不公开,最终只展示输出结果。
与ZK技术不同,MPC更强调协作性。它允许多方基于各自的数据共同完成计算,最终获得大家共同需要的结果。在AI系统背景下,ZK擅长验证来自真实用户或设备的数据,而MPC则更适合训练AI系统,因为它能让不同个人或组织放心地共享敏感数据,同时确保这些数据不会泄露给其他方。
百万富翁问题
MPC的起源可以追溯到1982年,当时安德鲁·姚提出了”百万富翁问题”的思想实验:两位百万富翁想要知道谁更富有,但又不愿透露各自的具体财富。Vitalik Buterin经常解释这个问题的解决方案是使用混乱电路,这也是理解MPC最基础的方法之一。
MPC是一个多步骤的交互过程。以百万富翁问题为例,第一位百万富翁(爱丽丝)需要先创建电路,输入她的净资产,然后将其转换为加密形式传给第二位百万富翁(鲍勃)。鲍勃在接收到电路后,会添加自己的净资产信息,验证电路正确性,最后解密输出结果。整个过程确保了双方都不会知道对方的实际财富值。
这个经典问题及其解决方案对MPC早期发展至关重要,但应用范围有限。后来出现的”社会主义百万富翁问题”进一步扩展了MPC的能力,它用于验证两位百万富翁是否同样富有,而非比较谁更富有。这个微妙的变化带来了更复杂的加密解决方案,虽然本文不深入讨论这些技术细节,但它确实展示了MPC技术的演进潜力。
全同态加密 (FHE)
完全同态加密(FHE)实现了对加密数据的直接计算,就像数据未被加密一样。计算结果的解密权仅属于密钥持有者。如果把加密比作隐藏秘密的黑匣子,FHE确保数据及其计算过程都保持在这个黑匣子内。
https://www.zama.ai/post/the-revolution-of-fhe
在AI应用中,FHE会对用户与AI系统之间的所有交互数据进行加密。用户可以与系统正常互动,同时确信AI永远不会”了解”任何原始数据信息。整个交互过程保持加密状态,AI系统却能给出看似知晓所有信息的响应。如果这项技术成熟,FHE可能成为最强大的隐私保护工具之一,甚至可能在十年内发展出FHE-EVM这样的创新应用。
噪音管理
与MPC和ZK相比,FHE目前仍处于理论性较强的阶段。直到2009年Craig Gentry解决了噪音处理问题后,这项技术才被认为具有可行性。FHE操作的计算量很大,因为在加密过程中加入了”噪音”来增强安全性。每次操作都会增加噪音,特别是乘法运算会显著增加噪音水平。
Gentry的突破性贡献是一种称为”bootstrap”的技术,它能减少噪音并允许对加密数据进行更多计算。这种技术通过同态解密来降低噪音水平,而不会泄露数据内容。虽然bootstrap可能需要几分钟到几毫秒不等的时间,但通过优化处理方式,比如同时处理多个密文或限制处理数据块的大小,可以有效提高效率。
不可区分混淆 (iO)
如果说FHE把计算元素变成了黑匣子,那么iO则是把整个计算过程变成了黑匣子。不可区分混淆(iO)被认为是理论范围内最强大的密码系统,被专家们称为”皇冠上的宝石”和”统治性的加密原语”。
以向儿童解释ZK证明而闻名的Amit Sahai教授也是iO研究的重要贡献者。他认为iO的工作原理与传统密码系统完全不同:它假设攻击者已经能够”读懂你的思想”,因此不再试图隐藏秘密,而是通过混淆使不同的计算过程变得无法区分。使用iO,你可以隐藏任何类型函数的结构,实现最通用的可编程密码学。
有根据的假设
在2013年之前,构建iO的方法尚不明确。直到Garg等人提出多线性映射的概念,才为iO的实现提供了可能。多线性映射是双线性映射的扩展,虽然这种新的代数结构容易受到攻击而不够安全,但它为iO研究开辟了新方向。
2020年,Jain、Lin和Sahai提出了基于容错误学习(LWE)等成熟假设的iO构建方法,使这项技术再次变得可行。这个突破让iO不再依赖新开发的假设,而是建立在经过数十年研究验证的基础上,大大提高了实现的可靠性。
未涉及的领域
每个密码系统都由不同的数学假设和技术组成,没有任何单一突破能解决所有问题。真正的进步来自于一系列大大小小的发现和创新。Sahai教授将iO领域描述为”未涉及的领域”,我们甚至还不完全清楚哪些问题需要解决。
像PSE这样的团队专注于ZK和MPC等已经过实践检验的原语,这些技术相对成熟且安全。虽然ZK现在已经进入实用阶段,但它也曾经历过探索期。为了扩展隐私保护和加密工具的应用范围,我们需要关注那些尚未成熟但可能在未来十年带来突破的技术。
Sahai教授引用Steven Weinberg在《自然》杂志上的观点强调:”应该去解决不清楚的问题——这就是应该行动起来所做的事。”秉承这种精神,包括PSE和0xPARC在内的多个团队正在积极探索可编程加密技术的前沿。PSE和0xPARC还于2023年11月在伊斯坦布尔联合举办了为期两天的可编程加密会议。
欢迎来现场交流,或者在Discord上找到PSE的在线社区!
声明:文章不代表CHAINTT观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险 自担!转载请注明出处:https://www.chaintt.cn/10492.html