Brian Pak 是 ChainLight 的首席执行官兼联合创始人,ChainLight 是一家专门从事智能合约审计和链上监控的区块链安全公司。

零知识这个词曾经只出现在学术论文和密码学论坛中,但现在已进入主流。

ZK 技术可以让一方(例如区块链协议)向另一方证明某些信息是真实的(例如某人的年龄),同时对该信息完全保密。

ZK 加密技术在扩展顶级智能合约网络以太坊方面取得了成功。十多个基于 ZK 的网络(通常称为 ZK rollups)在以太坊上运行,总存款价值达 40 亿美元。

但尽管炒作如此热烈,却存在一个大问题。对 ZK 的缺乏了解是一颗定时炸弹。

大多数加密开发人员对这个复杂的主题仍然知之甚少。

随着越来越多的开发人员开始尝试 ZK 技术,它正在带来重大的安全风险,甚至阻碍该技术发挥其真正的潜力。

与此同时,ZK 技术有望彻底改变加密行业,因此让开发人员和更广泛的用户社区快速了解情况至关重要。

ZK 开发人员“力不从心”

2022 年,以太坊联合创始人 Vitalik Buterin 指出了 ZK rollups 的安全风险,例如电路约束代码中的 bug。

这些代码在 ZK 汇总中至关重要,因为它们定义并执行确保交易有效性的加密证明规则。

这些代码中的错误可能会导致严重的安全漏洞,例如不正确的证明或未经授权的资金访问。

自 Buterin 发出警告以来,开发人员已经在使用 ZK 技术的项目中发现了更多漏洞。

11 月,ChainLight 发现 ZK Sync Era 的 ZK 电路中存在一个漏洞,该漏洞可能让黑客窃取 19 亿美元。

同样在 2018 年,Zcash 密码学家发现了协议底层零知识证明中的一个漏洞。如果不及时修补,该漏洞可能会让攻击者在不被发现的情况下创建假的 Zcash 代币。

此类漏洞对于一项显然尚未被足够多的人理解的新技术来说是一个悲哀的控诉。

许多编写代码的开发人员和必须签署其安全性认证的安全专家根本无法理解。

这并不奇怪——任何人都会告诉你,需要博士级别的数学理解才能理解 ZK 技术的安全性。

这意味着有资格审计 ZK 代码的人数有限,培训他们所需的资源也有限。

而且缺乏专家来正确审核 ZK 代码并不是唯一的问题。

ZK rollups(例如 zkSync Era 和 StarkNet)都是内部开发的,因此,同行评审流程并不像学术界的标准那么彻底。

在同行评审流程更加标准化之前,我将对 ZK 技术安全性保持怀疑态度。

ZK 尚未发挥其潜力

对ZK技术缺乏了解也阻碍了其充分发挥潜力。

这是由于对技术缺乏信心,导致建筑商选择更为熟悉的框架。

例如,ZK Rollups 的一大优点就是即时最终性。

这意味着,一旦区块证明在以太坊主网上得到验证,结果就是最终的。这特别允许即时资产提取,同时也提高了安全性。

Optimistic Rollups 是 ZK Rollups 的主要竞争对手,需要等待七天才能提取资产。

越来越多的人一致认为,ZK Rollups 是比 Optimistic Rollups 更优秀的以太坊扩展解决方案。

有些人甚至将它们描述为扩展解决方案的“圣杯”。

Immutable X 的联合创始人 Robbie Ferguson 将 ZK rollups 描述为“迄今为止扩展高吞吐量交易的最简单方法”。

但实际上,大多数开发人员仍然没有充分发挥该技术的潜力,因为他们不太习惯使用其某些独特功能,因为这太过复杂。

例如,现有的 ZK Rollup 实际上都没有宣传的即时最终性。

编码技术性太强,开发人员可能会害怕犯错误,导致他们选择不实现即时终结性。

相反,协议有所谓的执行延迟,其中大约有一天的时间来检测漏洞并在最终确定之前恢复更改。

因此,ZK Rollups 的安全性受到了重大损害,并且失去了其最重要的优势之一。

只有提高对 ZK 技术的理解,才能让建设者在不损害安全性的情况下最大限度地发挥其潜力。

安全设计

在整个 web3 中 — — 不仅仅是在 ZK 领域 — — 项目都没有足够重视审计。

许多项目仅仅将审计视为使自己看起来信誉良好的批准标志,而不是其应有的严格的安全措施。

在一些案例中,已知的漏洞已经潜入新的 DeFi 协议,给投资者造成数百万美元的损失。

例如,Hundred Finance 和 Onyx Protocol 等几个分叉借贷协议 Compound v2 代码的协议都是盲目进行的,没有考虑代码中已知的攻击媒介。

相反,开发人员应该努力构建设计上安全的协议,这意味着它们的构建方式首先是为了防止攻击。

按设计进行建设首先要紧跟生态系统中的威胁。

如果一个项目缺乏进行彻底审计的资源,它仍然需要跟上其他项目发生的黑客攻击,以免他们自己成为受害者。

虽然无法构建设计安全的协议对于任何项目来说都是一个问题,但对于 ZK 技术来说,这尤其有害。

例如,让我们看一下现有的 ZKEVM - 完美复制以太坊操作系统的 ZK rollups。

许多 ZKEVM 依赖于手动定义的电路,这需要人工参与并使用较新、未经测试的库。

开发人员在这种环境下犯错的可能性很高,这使得 ZK Rollups 更容易受到攻击的风险。

随着投资者涌入 ZK rollups,受到潜在代币空投的激励,他们成为下一次重大加密货币抢劫的有利可图的目标。

解决方案

在开发周期一开始就持续实施安全性措施(例如通过漏洞赏金计划)可以帮助解决这个问题。

毫无疑问,ZK 技术改变了以太坊的游戏规则,而持续发展对于区块链的扩展至关重要。

然而,ZK Rollups 提供的解决方案也有可能引发安全问题。

创业公司首先要诚实地考虑自己使用 ZK 技术是因为有必要,还是因为跟风。

如果他们确定自己是前者,那么他们就必须意识到风险,并且在设计时考虑到安全性,这是绝对根本的。