Vitalik:数字身份采用 ZK 技术,就不存在风险了吗?
作者:Vitalik Buterin
编译:Saoirse,Foresight News
如今,在数字身份系统中运用零知识证明来保护隐私的做法,已在一定程度上成为主流。各类零知识证明护照项目 (直译 ZK-passport 项目,指基于零知识证明技术的数字身份项目) 正开发出对用户极为友好的软件包,借助零知识证明,用户无需透露身份的任何细节,就能证明自己持有有效的身份证明。采用生物识别技术进行验证、并通过零知识证明保障隐私的 World ID(前身为 Worldcoin),其用户数量近期已突破 1000 万。中国台湾地区的一个数字身份政府项目运用了零知识证明,欧盟在数字身份领域的相关工作也对零知识证明愈发重视。
从表面上看,基于零知识证明技术的数字身份被广泛采用,似乎会成为 d/acc (注:Vitalik 2023 年提出的概念,是一种主张通过技术工具(如加密、区块链等)推动去中心化技术发展,在加速技术进步的同时防御潜在风险,平衡技术创新与安全、隐私及人类自主权的中间路径理念。) 的一大胜利。它能在不牺牲隐私的前提下,保护我们的社交媒体、投票系统及各类互联网服务免受女巫攻击和机器人操纵。但事情真的如此简单吗?基于零知识证明的身份是否仍存在风险?本文将阐明以下观点:
试想一下,你通过扫描眼球获得了 World ID,或是用手机的 NFC 阅读器扫描护照,获得了基于零知识证明护照的身份。就本文的论点而言,这两种方式的核心属性一致(仅存在少数边缘差异,例如多重国籍的情况)。
在你的手机上,有一个秘密值 s。在链上全球注册表中,有一个公开哈希值 H(s)。登录应用时,你会生成一个特定于该应用的用户 ID,即 H(s, app_name),并通过零知识证明来验证:这个 ID 与注册表中某个公开哈希值源自同一个秘密值 s。因此,每个公开哈希值针对每个应用只能生成一个 ID,但绝不会泄露某一应用专属 ID 与哪个公开哈希值相对应。
实际上,设计可能会更复杂一些。在 World ID 中,应用专属 ID 其实是包含应用 ID 与会话 ID 的哈希值,因此同一应用程序内的不同操作也可以相互解除关联。基于零知识证明护照的设计也可以采用类似的方式构建。
在探讨这种身份类型的缺点之前,首先必须认识到它所带来的优势。在零知识证明身份(ZKID)的小众领域之外,为了向需要身份验证的服务证明自己,你不得不透露自己完整的法定身份。这严重违反了计算机安全的「最小权限原则」:一个进程只应获取完成其任务所需的最小权限和信息。它们需要证明你不是机器人、年满 18 岁或来自特定国家,但它们得到的却是你完整身份的指向。
目前能实现的最佳改进方案,是使用电话号码、信用卡号等间接令牌:此时,知晓你的电话 / 信用卡号与应用内活动关联的主体,和知晓你的电话 / 信用卡号与法定身份关联的主体(公司或银行)是相互分离的。但这种分离极为脆弱:电话号码和其他各类信息一样,随时可能被泄露。
而借助零知识证明包装技术 (ZK-wrapping,一种利用零知识证明来保护用户身份隐私的技术手段,允许用户在不泄露敏感信息的情况下证明自己的身份) ,上述问题在很大程度上得以解决。但接下来要讨论的是一个较少被提及的点:仍有一些问题不仅未得到解决,甚至可能因这类方案中「一人一身份」的严格限制而愈发严重。
假设一个零知识证明身份(ZK-identity)平台完全按预期运行,严格复现上述所有逻辑,甚至已找到方法,能在不依赖中心化机构的前提下,为非技术用户长期保护其私密信息。但与此同时,我们可以做一个贴合现实的假设:应用程序不会主动配合隐私保护,它们会秉持「实用主义」原则,所采用的设计方案虽打着「最大化用户便利性」的旗号,实则似乎总会偏向自身的政治与商业利益。
在这样的场景中,社交媒体应用不会采用频繁轮换会话密钥等复杂设计,而是为每位用户分配唯一的应用专属 ID,且由于身份系统遵循「一人一身份」规则,用户只能拥有一个账户(这与当下的「弱身份(weak ID)」形成对比,例如谷歌账户,普通人轻松就能注册约 5 个)。现实世界中,匿名性的实现通常需要多个账户:一个用于「常规身份」,其他则用于各类匿名身份(参见「 finsta and rinsta 」)。因此,在这种模式下,用户实际能获得的匿名性很可能低于当前水平。如此一来,即便是经零知识证明包装的「一人一身份」系统,也可能让我们逐渐走向一个所有活动都必须依附于单一公开身份的世界。在风险日益加剧的时代(例如无人机监控等),剥夺人们通过匿名性保护自身的选择权,将带来严重的负面影响。
即便你不公开自己的秘密值 s,没人能看到你各账户之间的公开关联,但如果有人强制你公开呢?政府可能会强制要求透露其秘密值,以便查看其所有活动。这并非空谈:美国政府已开始要求签证申请人公开自己的社交媒体账户。此外,雇主也能轻易将透露完整公开资料设为雇佣条件。甚至,个别应用在技术层面也可能要求用户透露其在其他应用上的身份,才允许注册使用(使用 app 登录默认执行此操作)。
同样,在这些情况下,零知识证明属性的价值荡然无存,但「一人一账户」这一新属性的弊端却依然存在。
我们或许可以通过设计优化来降低胁迫风险:例如,采用多方计算机制生成每个应用专属 ID,让用户与服务方共同参与其中。这样一来,若没有应用运营方的参与,用户便无法证明自己在该应用中的专属 ID。这会增加逼迫他人透露完整身份的难度,但无法彻底消除这种可能性,而且这类方案还存在其他弊端,比如要求应用开发者必须是实时活跃的实体,而非像被动的链上智能合约那样(无需持续干预)。
所有身份形式都存在边缘案例:
这些边缘案例在试图维持「一人一身份」属性的系统中危害最大,且它们与隐私毫无关联。因此,零知识证明对此无能为力。
在纯粹的密码朋克群体中,一个常见的替代方案是:完全依赖「财富证明」来防范女巫攻击,而非构建任何形式的身份系统。通过让每个账户产生一定成本,就能阻止有人轻易创建大量账号。这种做法在互联网上早有先例,例如 Somethingawful 论坛就要求注册账户支付 10 美元的一次性费用,若账号被封禁,这笔费用将不予退还。不过,这在实际操作中并非真正的加密经济模式,因为创建新账号的最大障碍并非重新支付 10 美元,而是获取新的信用卡。
理论上,甚至可以让支付具备条件性:注册账户时,你只需质押一笔资金,仅在账号被封禁这种极少数情况下才会损失这笔资金。从理论上讲,这能大幅提高攻击成本。
这种方案在许多场景中效果显著,但在某些类型的场景中却完全行不通。我将重点讨论两类场景,暂且称之为 「类全民基本收入场景(UBI-like)」和「类治理场景(governance-like)」。
所谓「类全民基本收入场景」,指的是需要向极广泛(理想情况下是全体)用户群体发放一定数量资产或服务,且不考虑其支付能力的场景。Worldcoin 正是系统性地践行这一点:任何拥有 World ID 的人,都能定期获得少量的 WLD 代币。许多代币空投也以更非正式的方式实现类似目标,试图让至少一部分代币落到尽可能多的用户手中。
就我个人而言,我不认为这类代币的价值能达到足以维持个人生计的水平。在一个由人工智能驱动、财富规模达到当前千倍的经济体中,这类代币或许能具备维持生计的价值;但即便如此,至少有自然资源财富为支撑的政府主导项目,仍会在经济层面占据更重要的地位。不过,我认为这类「小型全民基本收入(mini-UBIs )」能切实解决的问题是:让人们获得足够数量的加密货币,以完成一些基础的链上交易和在线购买。具体可能包括:
若加密货币在全球范围内得到广泛采用,这一问题便不复存在。但在加密货币尚未普及的当下,这可能是人们获取链上非金融应用及相关在线商品服务的唯一途径,否则他们可能完全无法接触到这些资源。
此外,还有另一种方式能实现类似效果,即「全民基本服务(universal basic services)」:为每个拥有身份的人提供在特定应用内发送有限数量免费交易的权限。这种方式可能更符合激励机制,且资本效率更高,因为每个受益于这种采用的应用程序都可以这样做,而无需为非用户付费;不过,这也伴随着一定的取舍,即普适性会降低(用户只能保证获得参与该计划的应用的访问权限)。但即便如此,这里依然需要一套身份解决方案,以防止系统遭受垃圾信息攻击,同时避免产生排他性,这种排他性源于要求用户通过某种支付方式付费,而这类支付方式可能并非所有人都能使用。
最后一个值得强调的重要类别是「全民基本保证金(universal basic security deposit)」。身份的功能之一是提供一个可用于追责的标的,而无需用户质押与激励规模相当的资金。这也有助于实现一个目标:降低参与门槛对个人资本量的依赖(甚至完全无需任何资本)。
试想一个投票系统(例如社交媒体平台上的点赞和转发):若用户 A 的资源是用户 B 的 10 倍,那么其投票权也会是 B 的 10 倍。但从经济角度看,每单位投票权给 A 带来的收益,是给 B 带来的 10 倍(因为 A 的体量更大,任何决策对其经济层面的影响都会更显著)。因此,总体而言,A 的投票对自身的益处,是 B 的投票对自身益处的 100 倍。正因如此,我们会发现 A 会投入多得多的精力参与投票、研究如何投票才能最大化自身目标,甚至可能会战略性地操纵算法。这也是代币投票机制中「巨鲸」能产生过度影响的根本原因。
更具普遍性且更深一层的原因在于:治理系统不应将「一人掌控 10 万美元」与「1000 人共持 10 万美元」赋予同等权重。后者代表着 1000 个独立个体,因此会包含更丰富的有价值信息,而非小体量信息的高度重复。来自 1000 人的信号也往往更「温和」,因为不同个体的意见往往会相互抵消。
这一点既适用于正式的投票系统,也适用于「非正式投票系统」,例如人们通过公开发声参与文化演进的能力。
这表明,类治理系统不会真正满足于「不论资金来源,同等规模的资金束都一视同仁」的做法。系统其实需要了解这些资金束的内部协调程度。
需要注意的是,若你认同我对上述两类场景(类全民基本收入场景和类治理场景)的描述框架,那么从技术层面而言,对「一人一票」这种明确规则的需求就不复存在了。
在这两种场景中,身份依然非常有用,但对其遵循「一人一身份」这类严格规则的要求,已不复存在。
从上述论点中,我们可以看到有两种压力从相反的两端限制了身份系统中获取多个身份的期望难度:
首先,不能对「能轻松获取的身份数量」设置一个清晰可见的硬性限制。如果一个人只能拥有一个身份,就无从谈起匿名性,且可能被胁迫泄露身份。事实上,即便是大于 1 的固定数量也存在风险:倘若所有人都知道每个人有 5 个身份,那么你可能会被胁迫泄露全部 5 个。
支持这一点的另一个理由是,匿名性本身很脆弱,因此需要足够大的安全缓冲空间。借助现代 AI 工具,跨平台关联用户行为变得轻而易举,通过用词习惯、发帖时间、发帖间隔、讨论话题等公开信息,仅需 33 bits 的信息量就能精准锁定一个人。人们或许可以用 AI 工具进行防御(例如,我曾匿名发布内容时,先用法语撰写,再通过本地运行的大语言模型翻译成英语),但即便如此,也不希望一次失误就彻底终结自己的匿名性。
其次,身份不能完全与财务挂钩(即获取 N 个身份的成本为 N),因为这会让大型主体轻易获得过大的影响力(进而导致小型主体完全丧失话语权)。Twitter Blue 的新机制就体现了这一点:每月 8 美元的认证费用过低,根本无法有效限制滥用行为,如今用户基本已对这种认证标识视而不见。
此外,我们或许也不希望资源量为 N 倍的主体,能够肆无忌惮地做出 N 倍的不当行为。
综合上述论点,我们希望在满足以下约束条件的前提下,尽可能容易地获得多个身份:(1)在类治理应用中限制大型主体的权力;(2)在类全民基本收入应用中限制滥用行为。
若直接借鉴前文中类治理应用的数学模型,我们会得到一个清晰的答案:如果拥有 N 个身份能带来 N² 的影响力,那么获取 N 个身份的成本就应当是 N²。巧合的是,这一答案对于类全民基本收入应用同样适用。
本博客的老读者或许会发现,这与早前一篇关于「 quadratic funding 」的博文中的图表完全一致,这并非偶然。
所谓「多元身份体系」,指的是不存在单一主导发行机构的身份机制,无论该机构是个人、组织还是平台。这一体系可通过两种方式实现:
Circles 身份图谱的最新快照。Circles 是目前规模最大、基于社交图谱的身份项目之一。
显性多元身份自然具备匿名性:你可以有一个匿名身份(甚至多个),每个身份都可以通过自己的行动在社区中建立声誉。一个理想的显性多元身份系统甚至可能不需要「独立身份(discrete identities)」的概念;相反,你或许会拥有一个由可验证的过往行为构成的模糊集合,并能根据每次行为的需要,以精细化方式证明其中的不同部分。
零知识证明将使匿名性更容易实现:你可以利用主身份来启动一个匿名身份,通过私下提供首个信号让新匿名身份获得认可(例如,通过零知识证明自己拥有一定数量的代币,从而能在 anon.world 发布内容;或者,通过零知识证明自己的推特粉丝具备某种特征)。可能还有更有效的使用零知识证明的方式。
隐性多元身份的「成本曲线」比二次曲线更陡峭,但仍具备大部分所需特性。大多数人拥有本文列举的部分身份形式,而非全部。你可以通过一定努力再获取一种身份形式,但拥有的身份形式越多,获取下一种的成本效益比就越低。因此,它为治理攻击和其他滥用行为提供了必要的遏制作用,同时确保胁迫者无法要求(且无法合理预期)你透露某一套固定的身份。
任何形式的多元身份体系(无论隐性还是显性)天然具有更强的容错性:手部或眼部残疾的人仍可能持有护照,无国籍者也仍可能通过某些非政府渠道证明自己的身份。
需要注意的是,若某一种身份形式的市场占有率接近 100%,且成为唯一的登录选项,那么上述特性就会失效。在我看来,这是那些过于追求「普适性」的身份系统可能会面临的最大风险:一旦其市场占有率接近 100%,就会将世界从多元身份体系推向「一人一身份」模式,而正如本文所述,这种模式存在诸多弊端。
在我看来,当前「一人一身份」项目的理想结局是与基于社交图谱的身份体系融合。基于社交图谱的身份项目面临的最大问题是难以扩展到海量用户。而「一人一身份」体系可用于为社交图谱提供初始支撑,创造数百万个「种子用户」,届时用户数量将足够多,足以从这一基础安全地发展出全球分布式社交图谱。
推荐阅读:
7 次人事调整、三个新建组织,以太坊的“自救”能否涅槃重生?
Ethereum Price Eyes $3,500! Analysts Predict AAVE and Remittix Could Deliver Huge Gains in 2025
Ethereum ($ETH) eyes $3,500 amid record ETF inflows, but analysts say AAVE and Remittix ($RTX) could...
Whales Are Quietly Repositioning, Here’s What Bitcoin’s $107K Price Isn’t Telling You
Bitcoin continues to show little upward momentum as it trades below the $110,000 mark. As of the tim...
DeFi Enters New Era as Injective Debuts High-Speed Testnet Making it the Only L1 With Unified VM Layer
Injective, a super-high-performance Layer 1 blockchain, has officially launched its greatly anticipa...