Vitalik:数字身份采用 ZK 技术,就不存在风险了吗?(2) / BTC123 | 区块链信息行情第一站

Vitalik:数字身份采用 ZK 技术,就不存在风险了吗?(2)

07-03 , 11:09 分享新闻

实际上,设计可能会更复杂一些。在 World ID 中,应用专属 ID 其实是包含应用 ID 与会话 ID 的哈希值,因此同一应用程序内的不同操作也可以相互解除关联。基于零知识证明护照的设计也可以采用类似的方式构建。

在探讨这种身份类型的缺点之前,首先必须认识到它所带来的优势。在零知识证明身份(ZKID)的小众领域之外,为了向需要身份验证的服务证明自己,你不得不透露自己完整的法定身份。这严重违反了计算机安全的「最小权限原则」:一个进程只应获取完成其任务所需的最小权限和信息。它们需要证明你不是机器人、年满 18 岁或来自特定国家,但它们得到的却是你完整身份的指向。

目前能实现的最佳改进方案,是使用电话号码、信用卡号等间接令牌:此时,知晓你的电话 / 信用卡号与应用内活动关联的主体,和知晓你的电话 / 信用卡号与法定身份关联的主体(公司或银行)是相互分离的。但这种分离极为脆弱:电话号码和其他各类信息一样,随时可能被泄露。

而借助零知识证明包装技术(ZK-wrapping,一种利用零知识证明来保护用户身份隐私的技术手段,允许用户在不泄露敏感信息的情况下证明自己的身份),上述问题在很大程度上得以解决。但接下来要讨论的是一个较少被提及的点:仍有一些问题不仅未得到解决,甚至可能因这类方案中「一人一身份」的严格限制而愈发严重。

零知识证明本身无法实现匿名性

假设一个零知识证明身份(ZK-identity)平台完全按预期运行,严格复现上述所有逻辑,甚至已找到方法,能在不依赖中心化机构的前提下,为非技术用户长期保护其私密信息。但与此同时,我们可以做一个贴合现实的假设:应用程序不会主动配合隐私保护,它们会秉持「实用主义」原则,所采用的设计方案虽打着「最大化用户便利性」的旗号,实则似乎总会偏向自身的政治与商业利益。

在这样的场景中,社交媒体应用不会采用频繁轮换会话密钥等复杂设计,而是为每位用户分配唯一的应用专属 ID,且由于身份系统遵循「一人一身份」规则,用户只能拥有一个账户(这与当下的「弱身份(weak ID)」形成对比,例如谷歌账户,普通人轻松就能注册约 5 个)。现实世界中,匿名性的实现通常需要多个账户:一个用于「常规身份」,其他则用于各类匿名身份(参见「finsta and rinsta」)。因此,在这种模式下,用户实际能获得的匿名性很可能低于当前水平。如此一来,即便是经零知识证明包装的「一人一身份」系统,也可能让我们逐渐走向一个所有活动都必须依附于单一公开身份的世界。在风险日益加剧的时代(例如无人机监控等),剥夺人们通过匿名性保护自身的选择权,将带来严重的负面影响。