以太坊联合创始人 Vitalik Buterin 近日开始发布一组有关程序混淆的技术文章。他表示,这可能是密码学中最强大的想法之一,但现阶段距离实际部署仍有很长距离,主要问题是运行效率过低。

目标是隐藏代码本身

Buterin 讨论的重点是“不可区分混淆”(iO)。这类技术的目标不是隐藏输入或交易数据,而是隐藏程序本身的内部逻辑。换句话说,外部可以看到程序运行并得到结果,但难以判断它内部究竟如何实现。

他将这一思路概括为“隐藏代码,而不是隐藏数据”。在他看来,如果这类工具未来成熟,可能在某些场景中充当一种无需信任的中立执行方。

区块链可补足状态管理问题

Buterin 认为,程序混淆若与区块链结合,理论上可以支持更复杂的低信任应用,例如更私密、也更难串通操纵的投票系统。

原因在于,被混淆后的程序本身无法阻止复制,因此难以单独安全处理账户余额、资金流转等需要持续记录状态的任务。而区块链恰好可以承担这部分状态管理功能。

研究已有进展,但性能仍过慢

他提到,理想化的程序混淆方案早在 2001 年就被证明不可行,此后研究方向转向要求较弱的 iO。过去二十多年里,这一领域多次出现方案被攻破的情况。

近期的进展在于,研究人员已能在相对合理的安全假设下构建 iO。不过,当前实现的运行成本仍然极高。Buterin 形容其速度慢到几乎无法用于真实环境,因此现阶段更像研究里程碑,而不是可上线的产品。

与门罗币解决的不是同一问题

Buterin 也解释了,为什么已有隐私币并不意味着这一问题已经解决。以门罗币为例,它主要隐藏的是交易数据,例如付款双方和金额,而不是程序逻辑本身。

这也是他持续讨论程序混淆的原因。门罗币等工具已经在链上提供交易隐私,但“隐藏代码”这件事至今仍未进入生产环境。

他还将当前阶段类比为零知识证明早期的发展状态。SNARK 在十多年前也曾停留在理论和实验阶段,随后经过多年优化,才逐步成为以太坊扩容的重要基础设施。按这一逻辑,程序混淆未来也可能沿着类似路径推进,但短期内仍难落地。