Bitget App
交易“智”变
行情交易合约BOT理财跟单Web3
Vitalik:数字身份+ZK技术下的多重困境

Vitalik:数字身份+ZK技术下的多重困境

PANewsPANews2025/07/02 17:40
作者:PANews

作者:Vitalik Buterin

编译:Saoirse,Foresight News

如今,在数字身份系统中运用零知识证明来保护隐私的做法,已在一定程度上成为主流。各类零知识证明护照项目(直译ZK-passport项目,指基于零知识证明技术的数字身份项目)正开发出对用户极为友好的软件包,借助零知识证明,用户无需透露身份的任何细节,就能证明自己持有有效的身份证明。采用生物识别技术进行验证、并通过零知识证明保障隐私的 World ID(前身为 Worldcoin),其用户数量近期已突破 1000 万。中国台湾地区的一个数字身份政府项目运用了零知识证明,欧盟在数字身份领域的相关工作也对零知识证明愈发重视。

从表面上看,基于零知识证明技术的数字身份被广泛采用,似乎会成为 d/acc(注:Vitalik 2023 年提出的概念,是一种主张通过技术工具(如加密、区块链等)推动去中心化技术发展,在加速技术进步的同时防御潜在风险,平衡技术创新与安全、隐私及人类自主权的中间路径理念。)的一大胜利。它能在不牺牲隐私的前提下,保护我们的社交媒体、投票系统及各类互联网服务免受女巫攻击和机器人操纵。但事情真的如此简单吗?基于零知识证明的身份是否仍存在风险?本文将阐明以下观点:

  • 零知识证明包装(ZK-wrapping)解决了许多重要问题。
  • 零知识证明包装的身份仍存在风险。这些风险似乎与生物识别还是护照关系不大,大部分风险(隐私泄露、易受胁迫、系统误差等)主要源于对「一人一身份」属性的硬性维护。
  • 另一个极端,即使用「财富证明(Proof of wealth)」来反女巫攻击,在大多应用场景中都是不够的,所以我们需要某种「类身份」的解决方案。
  • 理论上的理想状态是介于两者之间,即获得 N 个身份的成本为 N²。
  • 这种理想状态在实践中难以实现,但合适的「多元身份」与之接近,因此是最现实的解决方案。多元身份可以是显性的(例如基于社交图谱的身份),也可以是隐性的(多种类型的零知识证明身份并存,且没有任何一种类型的市场占比接近 100%)。

零知识证明包装的身份如何运作?

试想一下,你通过扫描眼球获得了 World ID,或是用手机的 NFC 阅读器扫描护照,获得了基于零知识证明护照的身份。就本文的论点而言,这两种方式的核心属性一致(仅存在少数边缘差异,例如多重国籍的情况)。

在你的手机上,有一个秘密值 s。在链上全球注册表中,有一个公开哈希值 H(s)。登录应用时,你会生成一个特定于该应用的用户 ID,即 H(s, app_name),并通过零知识证明来验证:这个 ID 与注册表中某个公开哈希值源自同一个秘密值 s。因此,每个公开哈希值针对每个应用只能生成一个 ID,但绝不会泄露某一应用专属 ID 与哪个公开哈希值相对应。

Vitalik:数字身份+ZK技术下的多重困境 image 0

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

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

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

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

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

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

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

零知识证明本身无法保护你免受胁迫

即便你不公开自己的秘密值 s,没人能看到你各账户之间的公开关联,但如果有人强制你公开呢?政府可能会强制要求透露其秘密值,以便查看其所有活动。这并非空谈:美国政府已开始要求签证申请人公开自己的社交媒体账户。此外,雇主也能轻易将透露完整公开资料设为雇佣条件。甚至,个别应用在技术层面也可能要求用户透露其在其他应用上的身份,才允许注册使用(使用 app 登录默认执行此操作)。

Vitalik:数字身份+ZK技术下的多重困境 image 1

同样,在这些情况下,零知识证明属性的价值荡然无存,但「一人一账户」这一新属性的弊端却依然存在。

我们或许可以通过设计优化来降低胁迫风险:例如,采用多方计算机制生成每个应用专属 ID,让用户与服务方共同参与其中。这样一来,若没有应用运营方的参与,用户便无法证明自己在该应用中的专属 ID。这会增加逼迫他人透露完整身份的难度,但无法彻底消除这种可能性,而且这类方案还存在其他弊端,比如要求应用开发者必须是实时活跃的实体,而非像被动的链上智能合约那样(无需持续干预)。

零知识证明本身无法解决非隐私类风险

所有身份形式都存在边缘案例:

  • 基于政府发行的身份(Government-rooted ID),包括护照,无法覆盖无国籍人士,也不包含尚未获得此类证件的人群。
  • 另一方面,这类基于政府的身份体系,会给多重国籍持有者赋予独特特权。
  • 护照签发机构可能遭遇黑客攻击,敌对国家的情报机构甚至可能伪造数百万个虚假身份(例如,若俄罗斯式的「游击选举」逐渐盛行,就可能用虚假身份来操纵选举)。
  • 对于那些相关生物特征因伤病受损的人而言,生物识别身份会完全失效。
  • 生物识别身份很可能会被仿制品蒙骗。倘若生物识别身份的价值变得极高,我们甚至可能会看到有人专门培个人体器官,只为「批量制造」这类身份。

这些边缘案例在试图维持「一人一身份」属性的系统中危害最大,且它们与隐私毫无关联。因此,零知识证明对此无能为力。

依靠「财富证明」防范女巫攻击并不足以解决问题,因此我们需要某种形式的身份体系

在纯粹的密码朋克群体中,一个常见的替代方案是:完全依赖「财富证明」来防范女巫攻击,而非构建任何形式的身份系统。通过让每个账户产生一定成本,就能阻止有人轻易创建大量账号。这种做法在互联网上早有先例,例如 Somethingawful 论坛就要求注册账户支付 10 美元的一次性费用,若账号被封禁,这笔费用将不予退还。不过,这在实际操作中并非真正的加密经济模式,因为创建新账号的最大障碍并非重新支付 10 美元,而是获取新的信用卡。

理论上,甚至可以让支付具备条件性:注册账户时,你只需质押一笔资金,仅在账号被封禁这种极少数情况下才会损失这笔资金。从理论上讲,这能大幅提高攻击成本。

这种方案在许多场景中效果显著,但在某些类型的场景中却完全行不通。我将重点讨论两类场景,暂且称之为 「类全民基本收入场景(UBI-like)」和「类治理场景(governance-like)」。

类全民基本收入场景(UBI-like)中对身份的需求

所谓「类全民基本收入场景」,指的是需要向极广泛(理想情况下是全体)用户群体发放一定数量资产或服务,且不考虑其支付能力的场景。Worldcoin 正是系统性地践行这一点:任何拥有 World ID 的人,都能定期获得少量的 WLD 代币。许多代币空投也以更非正式的方式实现类似目标,试图让至少一部分代币落到尽可能多的用户手中。

就我个人而言,我不认为这类代币的价值能达到足以维持个人生计的水平。在一个由人工智能驱动、财富规模达到当前千倍的经济体中,这类代币或许能具备维持生计的价值;但即便如此,至少有自然资源财富为支撑的政府主导项目,仍会在经济层面占据更重要的地位。不过,我认为这类「小型全民基本收入(mini-UBIs)」能切实解决的问题是:让人们获得足够数量的加密货币,以完成一些基础的链上交易和在线购买。具体可能包括:

  • 获取 ENS 名称
  • 在链上发布哈希以初始化某个零知识证明身份
  • 支付社交媒体平台费用

若加密货币在全球范围内得到广泛采用,这一问题便不复存在。但在加密货币尚未普及的当下,这可能是人们获取链上非金融应用及相关在线商品服务的唯一途径,否则他们可能完全无法接触到这些资源。

此外,还有另一种方式能实现类似效果,即「全民基本服务(universal basic services)」:为每个拥有身份的人提供在特定应用内发送有限数量免费交易的权限。这种方式可能更符合激励机制,且资本效率更高,因为每个受益于这种采用的应用程序都可以这样做,而无需为非用户付费;不过,这也伴随着一定的取舍,即普适性会降低(用户只能保证获得参与该计划的应用的访问权限)。但即便如此,这里依然需要一套身份解决方案,以防止系统遭受垃圾信息攻击,同时避免产生排他性,这种排他性源于要求用户通过某种支付方式付费,而这类支付方式可能并非所有人都能使用。

最后一个值得强调的重要类别是「全民基本保证金(universal basic security deposit)」。身份的功能之一是提供一个可用于追责的标的,而无需用户质押与激励规模相当的资金。这也有助于实现一个目标:降低参与门槛对个人资本量的依赖(甚至完全无需任何资本)。

类治理场景(governance-like)中对身份的需求

试想一个投票系统(例如社交媒体平台上的点赞和转发):若用户 A 的资源是用户 B 的 10 倍,那么其投票权也会是 B 的 10 倍。但从经济角度看,每单位投票权给 A 带来的收益,是给 B 带来的 10 倍(因为 A 的体量更大,任何决策对其经济层面的影响都会更显著)。因此,总体而言,A 的投票对自身的益处,是 B 的投票对自身益处的 100 倍。正因如此,我们会发现 A 会投入多得多的精力参与投票、研究如何投票才能最大化自身目标,甚至可能会战略性地操纵算法。这也是代币投票机制中「巨鲸」能产生过度影响的根本原因。

Vitalik:数字身份+ZK技术下的多重困境 image 2

更具普遍性且更深一层的原因在于:治理系统不应将「一人掌控 10 万美元」与「1000 人共持 10 万美元」赋予同等权重。后者代表着 1000 个独立个体,因此会包含更丰富的有价值信息,而非小体量信息的高度重复。来自 1000 人的信号也往往更「温和」,因为不同个体的意见往往会相互抵消。

Vitalik:数字身份+ZK技术下的多重困境 image 3

这一点既适用于正式的投票系统,也适用于「非正式投票系统」,例如人们通过公开发声参与文化演进的能力。

这表明,类治理系统不会真正满足于「不论资金来源,同等规模的资金束都一视同仁」的做法。系统其实需要了解这些资金束的内部协调程度。

需要注意的是,若你认同我对上述两类场景(类全民基本收入场景和类治理场景)的描述框架,那么从技术层面而言,对「一人一票」这种明确规则的需求就不复存在了。

  • 对于类全民基本收入场景(UBI-like)的应用而言,真正需要的身份方案是:首个身份免费,对可获取的身份数量设限。当获取更多身份的成本高到足以让攻击系统的行为失去意义时,便达到了限制效果。
  • 对于类治理场景(governance-like)的应用而言,核心需求是:能够通过某种间接指标判断,你所接触的这一笔资源,其背后是单一的操控主体,还是某种「自然形成的」、协调程度较低的群体。

在这两种场景中,身份依然非常有用,但对其遵循「一人一身份」这类严格规则的要求,已不复存在。

理论上的理想状态是:获得 N 个身份的成本为 N²

从上述论点中,我们可以看到有两种压力从相反的两端限制了身份系统中获取多个身份的期望难度:

首先,不能对「能轻松获取的身份数量」设置一个清晰可见的硬性限制。如果一个人只能拥有一个身份,就无从谈起匿名性,且可能被胁迫泄露身份。事实上,即便是大于 1 的固定数量也存在风险:倘若所有人都知道每个人有 5 个身份,那么你可能会被胁迫泄露全部 5 个。

支持这一点的另一个理由是,匿名性本身很脆弱,因此需要足够大的安全缓冲空间。借助现代 AI 工具,跨平台关联用户行为变得轻而易举,通过用词习惯、发帖时间、发帖间隔、讨论话题等公开信息,仅需 33 bits 的信息量就能精准锁定一个人。人们或许可以用 AI 工具进行防御(例如,我曾匿名发布内容时,先用法语撰写,再通过本地运行的大语言模型翻译成英语),但即便如此,也不希望一次失误就彻底终结自己的匿名性。

其次,身份不能完全与财务挂钩(即获取 N 个身份的成本为 N),因为这会让大型主体轻易获得过大的影响力(进而导致小型主体完全丧失话语权)。Twitter Blue 的新机制就体现了这一点:每月 8 美元的认证费用过低,根本无法有效限制滥用行为,如今用户基本已对这种认证标识视而不见。

此外,我们或许也不希望资源量为 N 倍的主体,能够肆无忌惮地做出 N 倍的不当行为。

综合上述论点,我们希望在满足以下约束条件的前提下,尽可能容易地获得多个身份:(1)在类治理应用中限制大型主体的权力;(2)在类全民基本收入应用中限制滥用行为。

若直接借鉴前文中类治理应用的数学模型,我们会得到一个清晰的答案:如果拥有 N 个身份能带来 N² 的影响力,那么获取 N 个身份的成本就应当是 N²。巧合的是,这一答案对于类全民基本收入应用同样适用。

Vitalik:数字身份+ZK技术下的多重困境 image 4

本博客的老读者或许会发现,这与早前一篇关于「quadratic funding」的博文中的图表完全一致,这并非偶然。

多元身份体系(Pluralistic identity)可实现这一理想状态

所谓「多元身份体系」,指的是不存在单一主导发行机构的身份机制,无论该机构是个人、组织还是平台。这一体系可通过两种方式实现:

  • 显性多元身份(Explicit pluralistic identity,也称为「基于社交图谱的身份 social-graph-based identity」)。你可通过所在社群中其他人的证明来证实自己的身份(或其他声明,例如证实自己是某社群成员),而这些证明者的身份又通过同样的机制得到验证。《去中心化社会》一文对这类设计有更详细的阐述,Circles 则是目前正在运行的实例。
  • 隐性多元身份(Implicit pluralistic identity)。这是当前的现状,存在众多不同的身份提供者,包括谷歌、推特,各国的同类平台以及多种政府发行的身份证件等。极少有应用只接受其中一种身份认证,大多数应用会兼容多种,因为只有这样才能触达潜在用户。

Vitalik:数字身份+ZK技术下的多重困境 image 5

Circles 身份图谱的最新快照。Circles 是目前规模最大、基于社交图谱的身份项目之一。

显性多元身份自然具备匿名性:你可以有一个匿名身份(甚至多个),每个身份都可以通过自己的行动在社区中建立声誉。一个理想的显性多元身份系统甚至可能不需要「独立身份(discrete identities)」的概念;相反,你或许会拥有一个由可验证的过往行为构成的模糊集合,并能根据每次行为的需要,以精细化方式证明其中的不同部分。

零知识证明将使匿名性更容易实现:你可以利用主身份来启动一个匿名身份,通过私下提供首个信号让新匿名身份获得认可(例如,通过零知识证明自己拥有一定数量的代币,从而能在 anon.world 发布内容;或者,通过零知识证明自己的推特粉丝具备某种特征)。可能还有更有效的使用零知识证明的方式。

隐性多元身份的「成本曲线」比二次曲线更陡峭,但仍具备大部分所需特性。大多数人拥有本文列举的部分身份形式,而非全部。你可以通过一定努力再获取一种身份形式,但拥有的身份形式越多,获取下一种的成本效益比就越低。因此,它为治理攻击和其他滥用行为提供了必要的遏制作用,同时确保胁迫者无法要求(且无法合理预期)你透露某一套固定的身份。

任何形式的多元身份体系(无论隐性还是显性)天然具有更强的容错性:手部或眼部残疾的人仍可能持有护照,无国籍者也仍可能通过某些非政府渠道证明自己的身份。

需要注意的是,若某一种身份形式的市场占有率接近 100%,且成为唯一的登录选项,那么上述特性就会失效。在我看来,这是那些过于追求「普适性」的身份系统可能会面临的最大风险:一旦其市场占有率接近 100%,就会将世界从多元身份体系推向「一人一身份」模式,而正如本文所述,这种模式存在诸多弊端。

在我看来,当前「一人一身份」项目的理想结局是与基于社交图谱的身份体系融合。基于社交图谱的身份项目面临的最大问题是难以扩展到海量用户。而「一人一身份」体系可用于为社交图谱提供初始支撑,创造数百万个「种子用户」,届时用户数量将足够多,足以从这一基础安全地发展出全球分布式社交图谱。

特别感谢 Balvi 志愿者、Silviculture 成员以及 World 团队成员参与讨论。

1

免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。

PoolX:锁仓获得新代币空投
不要错过热门新币,且APR 高达 10%+
立即参与!