本文探讨了不可区分混淆(iO)在区块链隐私中的应用前景与局限性,分析了其作为可信硬件替代方案的可能性。文章指出,iO虽有潜力,但并非万能,每个用例都需要复杂分析,且存在状态维护和可信设置等问题。最后,文章提出了VBB混淆代理重加密在去中心化暗池交易所中的应用设想。
iO 是区块链隐私的圣杯吗? 本文着眼于不可区分性混淆的局限性,它可以解锁什么,为什么它很重要,以及它是否可以成为可信硬件的真正替代品。
区块链隐私面临的最大挑战之一是找到一种无需信任且可验证的方式来运行机密计算。 不可区分性混淆 (iO)、多方计算 (MPC) 和全同态加密 (FHE) 等加密原语正在被探索,以使这成为可能。
如果它们有效,那将是一个重大突破——在不依赖硬件信任假设的情况下实现安全、私密的计算。
其影响是巨大的:区块链、暗池和无需信任的链上代理实现完全隐私,同时保持可验证性。
这种系统就像一个基于软件的可信执行环境 (TEE),但与 TEE 不同,它消除了对硬件制造商的依赖。
这是一个非常引人注目的愿景,在某些方面,这代表了区块链隐私的圣杯。 隐私对于主流机构的采用和合规性也是必要的,例如符合 GDPR 和全球其他数据隐私法。
但这个愿景有多可行? 我们离将其变为现实有多近?
我们将在本文中探讨 iO 的可行性。
奖励内容/剧透警告: 阅读到最后,了解使用混淆和代理重加密的实际用例(暗池)的架构。
为了在不依赖硬件的情况下实现私有、安全的计算,研究人员正在探索几种加密方法,这些方法可以作为可信执行环境 (TEE) 的基于软件的替代方案:
多方计算 (MPC): 该技术允许一组参与方在分布式环境中计算任何函数,使得参与方的输入保持私有,并且仅揭示计算结果。 不幸的是,MPC 需要大量的交互,并且随着参与方数量的增加,MPC 的扩展性不佳。
全同态加密 (FHE): FHE 允许对加密数据进行任意计算,而无需对其进行解密。 理论上,FHE 非常强大,但由于存在大量的计算开销,FHE 对于大多数现实世界的用例仍然效率低下。 FHE 还要求解密计算结果,即解密密钥必须存储在某个地方。 这引入了一个单点故障,如果无响应,可能会导致整个系统停止运行或可能解密中间密文,从而损害数据的机密性。
程序混淆: 以太坊社区中讨论的一种可能更有前景的候选方案(例如,参见 Vitalik 的 ethresearch 帖子 链接)是程序混淆。 作为一种潜在的解决方案,它正在被积极研究。
在密码学中,程序混淆有多种形式。 最广为人知的两种是虚拟黑盒混淆 (VBB) 和不可区分性混淆 (iO):
虚拟黑盒混淆: VBB 是最强大的混淆形式。 它将程序变成一个“黑盒”,隐藏其内部运作,只显示其输入-输出行为。 从某种意义上说,这是每个从事密码隐私工作的人的梦想:一个虚拟的“黑盒”,可以执行程序而不揭示其内部工作原理,类似于 TEE,但无需硬件。 不幸的是,Barak 等人 证明了通用 VBB 是不可能的,即存在从根本上无法以这种方式混淆的程序。
但是,并非所有希望都破灭了。 研究人员表明,混淆特定程序是可行的——例如通过 VBB 进行 代理重新加密。 这些示例表明,虽然通用 VBB 可能是不可能的,但在实践中可以实现有限形式的黑盒行为。
不可区分性混淆: iO 可能是当今最著名和研究最积极的混淆原语。 它也是以太坊社区中最常讨论的版本。
iO 保证两个功能相同的程序在混淆后变得无法区分。 乍一看,这种保证可能听起来不大,但在实践中,它非常强大。 研究表明,iO 是一种非常通用的工具,可用于构建许多加密原语,包括高级原语,例如见证加密和函数加密。
其他形式的混淆: 还有其他不太为人所知的混淆变体,例如 Oracle-Differing-Input (odiO) 和 Oracle-Indistinguishability (oiO) 混淆。 这些没有受到太多的关注。
在不同形式的混淆中,iO 受到了最多的关注。 然而,尽管社区可能提出建议,但它并不是可以神奇地解决所有问题的灵丹妙药。
首先,iO 不是通用的即插即用解决方案。 每个用例都需要复杂的分析。 正如 Campanelli 等人 所说:"事实上,大多数基于 iO 的构造都非常复杂,而且它们不是通用的,因为只有经过精心设计的程序才能通过 iO 成功混淆。" 另一个关键限制:混淆的程序无法维护状态。 与基于硬件的 TEE 相比,这是一个关键缺点。 混淆程序可以在某些输入上执行并返回输出,但它没有永久存储来在多次执行中保持状态。
不过,可能最严重的问题是设置阶段。 每个混淆程序最初都必须进行设置(即混淆),这需要信任执行混淆的方。 这类似于信任 TEE 的制造商生产没有漏洞或后门的硬件。
分布式设置过程(类似于 KZG 仪式)可以减少对单方的信任,但它引入了阈值信任假设。 这提出了一个合理的问题:如果无论如何我们都要做出这个假设,那么依赖于相同阈值信任假设的阈值 FHE 是否会是更可行的替代方案?
最后,iO 仍然效率低下,许多构造依赖于尚未得到充分研究的加密假设。
那么,密码混淆注定要失败吗? 当然不是!
尽管存在挑战,但真正的进展正在发生。 效率正在提高(例如,参见 Ma 等人 的最新工作),使 iO 更接近现实世界的可用性。
随着构造从奇异的加密假设转向更 有根基的假设,理论基础也变得更加强大。
我们已经知道通用 VBB 是不可能的,但我们也知道可以通过 VBB 混淆特定程序。 这为真正的、有针对性的应用打开了大门。
密码混淆不太可能成为 Web3 中所有问题的解决方案,但这并不意味着它不会发挥重要作用。 关键的挑战是克服限制,并找到在其固有约束方面有意义的实际应用。
这是一个很有希望的想法:使用 VBB 混淆代理重加密 来构建一个保护隐私的去中心化交易所 (DEX)。
这个概念类似于 Hohenberger 等人 提出的概念,并展示了 VBB 风格的混淆如何在区块链环境中提供有意义的隐私保证。 虽然 Hohenberger 等人的构造并不直接支持此用例——因为它不是为 FHE 构建的并且具有某些其他限制——我们可以想象一个类似的机制应用于全同态加密设置。
考虑一个暗池去中心化交易所 (DEX),其中所有交易都使用 FHE 方案进行加密,以便可以在加密时处理它们。 也就是说,整个 DEX 逻辑(如订单匹配和执行)完全在加密数据上运行。 这提供了强大的隐私保证。
但最终,用户需要访问他们的账户余额。 这需要解密,而解密需要受信任的方或委员会来持有 FHE 解密密钥,这引入了一个信任假设。
相反,我们可以通过使用 VBB 混淆的 代理重加密程序 来消除这种信任假设。 该程序将:
因此,只有授权用户才能解密最终结果。
在此设置中,不是让受信任的方或委员会存储 FHE 解密密钥,而是将其嵌入到混淆程序中,使其无法被提取。
此示例说明,即使通用 VBB 是不可能的,它也可能用于混淆特定程序,从而实现值得进一步探索的强大用例。
旅程仍在继续。 让我们继续探索。
- 原文链接: blog.shutter.network/the...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!