# 零知识证明与数字身份:多维困境与潜在解决方案随着零知识证明技术在数字身份系统中的广泛应用,我们似乎正在迎来一个保护隐私的新时代。各类基于零知识证明的数字护照项目正在开发面向用户的软件包,让用户无需透露身份细节就能证明自己的合法性。采用生物识别技术和零知识证明的World ID用户数量已突破1000万。台湾地区和欧盟等政府也开始在数字身份项目中重视零知识证明技术。表面上看,零知识证明技术在数字身份领域的广泛应用似乎是去中心化加速主义(d/acc)的一大胜利。它有望在不牺牲隐私的前提下,保护社交媒体、投票系统及互联网服务免受机器人操控。然而事实真的如此简单吗?基于零知识证明的身份系统是否仍存在风险?本文将探讨以下几个观点:1. 零知识证明包装(ZK-wrapping)确实解决了许多重要问题。2. 但零知识证明包装的身份系统仍存在风险,这些风险主要源于对"一人一身份"属性的严格维护,与生物识别或护照等具体实现方式关系不大。3. 另一种极端做法是使用"财富证明"来防范女巫攻击,但这在大多数应用场景中是不够的。我们需要某种"类身份"的解决方案。4. 理论上的理想状态是获得N个身份的成本为N²。5. 这种理想状态在实践中难以实现,但"多元身份"方案与之相近,是最现实的解决方案。多元身份可以是显性的(如基于社交图谱的身份),也可以是隐性的(多种类型的零知识证明身份并存,且没有任何一种类型占据绝对主导地位)。## 零知识证明包装的身份如何运作?以World ID或基于零知识证明护照的身份为例,用户手机上存储一个秘密值s,链上全球注册表中有一个公开哈希值H(s)。用户登录应用时,会生成一个特定于该应用的用户ID,即H(s, app_name),并通过零知识证明验证这个ID与注册表中某个公开哈希值源自同一个秘密值s。这确保了每个公开哈希值针对每个应用只能生成一个ID,同时不会泄露某一应用专属ID与哪个公开哈希值相对应。实际设计可能更复杂,如World ID中应用专属ID包含应用ID与会话ID的哈希值,使同一应用内的不同操作也可相互解除关联。基于零知识证明护照的设计也可采用类似方式构建。这种身份验证方式相比传统方法有显著优势:无需向服务提供商透露完整的法定身份信息,更符合计算机安全的"最小权限原则"。然而,尽管零知识证明包装技术解决了许多问题,但仍有一些问题未得到解决,甚至可能因"一人一身份"的严格限制而加剧。## 零知识证明本身无法实现匿名性假设一个零知识证明身份平台完全按预期运行,严格执行上述逻辑,甚至找到了方法让非技术用户长期保护其私密信息而不依赖中心化机构。但同时,我们也要考虑一个符合现实的假设:应用程序可能不会主动配合隐私保护,而是采用看似"最大化用户便利性"实则偏向自身政治和商业利益的设计方案。在这种情况下,社交媒体应用可能会为每位用户分配唯一的应用专属ID,且由于身份系统遵循"一人一身份"规则,用户只能拥有一个账户。这与当前用户可以轻松注册多个账户的"弱身份"系统形成对比。现实中,匿名性的实现通常需要多个账户:一个用于常规身份,其他用于各类匿名身份。因此,在这种模式下,用户实际获得的匿名性可能低于当前水平。这种情况可能导致我们逐渐走向一个所有活动都必须依附于单一公开身份的世界。在风险日益加剧的时代,剥夺人们通过匿名性保护自身的选择权将带来严重的负面影响。## 零知识证明本身无法保护你免受胁迫即使你不公开自己的秘密值s,没人能看到你各账户之间的公开关联,但如果有人强制你公开呢?政府可能会强制要求透露其秘密值,以便查看其所有活动。这并非空谈:美国政府已开始要求签证申请人公开自己的社交媒体账户。此外,雇主也可能将透露完整公开资料作为雇佣条件。甚至某些应用在技术层面可能要求用户透露其在其他应用上的身份才允许注册使用。在这些情况下,零知识证明的价值荡然无存,但"一人一账户"这一新属性的弊端却依然存在。我们可以通过设计优化来降低胁迫风险,例如采用多方计算机制生成每个应用专属ID,让用户与服务方共同参与其中。这样一来,若没有应用运营方的参与,用户就无法证明自己在该应用中的专属ID。这会增加逼迫他人透露完整身份的难度,但无法彻底消除这种可能性,而且这类方案还存在其他弊端,如要求应用开发者必须是实时活跃的实体,而非像被动的链上智能合约那样无需持续干预。## 零知识证明本身无法解决非隐私类风险所有身份形式都存在边缘案例:- 基于政府发行的身份(包括护照)无法覆盖无国籍人士,也不包含尚未获得此类证件的人群。- 这类基于政府的身份体系会给多重国籍持有者赋予独特特权。- 护照签发机构可能遭遇黑客攻击,敌对国家的情报机构甚至可能伪造大量虚假身份。- 对于那些相关生物特征因伤病受损的人而言,生物识别身份会完全失效。- 生物识别身份很可能会被仿制品蒙骗。若生物识别身份的价值变得极高,我们甚至可能会看到有人专门培养人体器官,只为"批量制造"这类身份。这些边缘案例在试图维持"一人一身份"属性的系统中危害最大,且它们与隐私毫无关联。因此,零知识证明对此无能为力。## 依靠"财富证明"防范女巫攻击并不足以解决问题在纯粹的密码朋克群体中,一个常见的替代方案是:完全依赖"财富证明"来防范女巫攻击,而非构建任何形式的身份系统。通过让每个账户产生一定成本,就能阻止有人轻易创建大量账号。这种做法在互联网上早有先例,例如Somethingawful论坛就要求注册账户支付10美元的一次性费用,若账号被封禁,这笔费用将不予退还。理论上,甚至可以让支付具备条件性:注册账户时,你只需质押一笔资金,仅在账号被封禁这种极少数情况下才会损失这笔资金。从理论上讲,这能大幅提高攻击成本。这种方案在许多场景中效果显著,但在某些类型的场景中却完全行不通。我将重点讨论两类场景,暂且称之为"类全民基本收入场景(UBI-like)"和"类治理场景(governance-like)"。### 类全民基本收入场景中对身份的需求所谓"类全民基本收入场景",指的是需要向极广泛(理想情况下是全体)用户群体发放一定数量资产或服务,且不考虑其支付能力的场景。Worldcoin正是系统性地践行这一点:任何拥有World ID的人,都能定期获得少量的WLD代币。许多代币空投也以更非正式的方式实现类似目标,试图让至少一部分代币落到尽可能多的用户手中。就我个人而言,我不认为这类代币的价值能达到足以维持个人生计的水平。在一个由人工智能驱动、财富规模达到当前千倍的经济体中,这类代币或许能具备维持生计的价值;但即便如此,至少有自然资源财富为支撑的政府主导项目,仍会在经济层面占据更重要的地位。不过,我认为这类"小型全民基本收入(mini-UBIs)"能切实解决的问题是:让人们获得足够数量的加密货币,以完成一些基础的链上交易和在线购买。具体可能包括:- 获取ENS名称- 在链上发布哈希以初始化某个零知识证明身份- 支付社交媒体平台费用若加密货币在全球范围内得到广泛采用,这一问题便不复存在。但在加密货币尚未普及的当下,这可能是人们获取链上非金融应用及相关在线商品服务的唯一途径,否则他们可能完全无法接触到这些资源。此外,还有另一种方式能实现类似效果,即"全民基本服务(universal basic services)":为每个拥有身份的人提供在特定应用内发送有限数量免费交易的权限。这种方式可能更符合激励机制,且资本效率更高,因为每个受益于这种采用的应用程序都可以这样做,而无需为非用户付费;不过,这也伴随着一定的取舍,即普适性会降低(用户只能保证获得参与该计划的应用的访问权限)。但即便如此,这里依然需要一套身份解决方案,以防止系统遭受垃圾信息攻击,同时避免产生排他性,这种排他性源于要求用户通过某种支付方式付费,而这类支付方式可能并非所有人都能使用。最后一个值得强调的重要类别是"全民基本保证金(universal basic security deposit)"。身份的功能之一是提供一个可用于追责的标的,而无需用户质押与激励规模相当的资金。这也有助于实现一个目标:降低参与门槛对个人资本量的依赖(甚至完全无需任何资本)。### 类治理场景中对身份的需求试想一个投票系统(例如社交媒体平台上的点赞和转发):若用户A的资源是用户B的10倍,那么其投票权也会是B的10倍。但从经济角度看,每单位投票权给A带来的收益,是给B带来的10倍(因为A的体量更大,任何决策对其经济层面的影响都会更显著)。因此,总体而言,A的投票对自身的益处,是B的投票对自身益处的100倍。正因如此,我们会发现A会投入多得多的精力参与投票、研究如何投票才能最大化自身目标,甚至可能会战略性地操纵算法。这也是代币投票机制中"巨鲸"能产生过度影响的根本原因。更具普遍性且更深一层的原因在于:治理系统不应将"一人掌控10万美元"与"1000人共持10万美元"赋予同等权重。后者代表着1000个独立个体,因此会包含更丰富的
零知识证明身份系统的困境与解决方案探讨
零知识证明与数字身份:多维困境与潜在解决方案
随着零知识证明技术在数字身份系统中的广泛应用,我们似乎正在迎来一个保护隐私的新时代。各类基于零知识证明的数字护照项目正在开发面向用户的软件包,让用户无需透露身份细节就能证明自己的合法性。采用生物识别技术和零知识证明的World ID用户数量已突破1000万。台湾地区和欧盟等政府也开始在数字身份项目中重视零知识证明技术。
表面上看,零知识证明技术在数字身份领域的广泛应用似乎是去中心化加速主义(d/acc)的一大胜利。它有望在不牺牲隐私的前提下,保护社交媒体、投票系统及互联网服务免受机器人操控。然而事实真的如此简单吗?基于零知识证明的身份系统是否仍存在风险?本文将探讨以下几个观点:
零知识证明包装(ZK-wrapping)确实解决了许多重要问题。
但零知识证明包装的身份系统仍存在风险,这些风险主要源于对"一人一身份"属性的严格维护,与生物识别或护照等具体实现方式关系不大。
另一种极端做法是使用"财富证明"来防范女巫攻击,但这在大多数应用场景中是不够的。我们需要某种"类身份"的解决方案。
理论上的理想状态是获得N个身份的成本为N²。
这种理想状态在实践中难以实现,但"多元身份"方案与之相近,是最现实的解决方案。多元身份可以是显性的(如基于社交图谱的身份),也可以是隐性的(多种类型的零知识证明身份并存,且没有任何一种类型占据绝对主导地位)。
零知识证明包装的身份如何运作?
以World ID或基于零知识证明护照的身份为例,用户手机上存储一个秘密值s,链上全球注册表中有一个公开哈希值H(s)。用户登录应用时,会生成一个特定于该应用的用户ID,即H(s, app_name),并通过零知识证明验证这个ID与注册表中某个公开哈希值源自同一个秘密值s。这确保了每个公开哈希值针对每个应用只能生成一个ID,同时不会泄露某一应用专属ID与哪个公开哈希值相对应。
实际设计可能更复杂,如World ID中应用专属ID包含应用ID与会话ID的哈希值,使同一应用内的不同操作也可相互解除关联。基于零知识证明护照的设计也可采用类似方式构建。
这种身份验证方式相比传统方法有显著优势:无需向服务提供商透露完整的法定身份信息,更符合计算机安全的"最小权限原则"。然而,尽管零知识证明包装技术解决了许多问题,但仍有一些问题未得到解决,甚至可能因"一人一身份"的严格限制而加剧。
零知识证明本身无法实现匿名性
假设一个零知识证明身份平台完全按预期运行,严格执行上述逻辑,甚至找到了方法让非技术用户长期保护其私密信息而不依赖中心化机构。但同时,我们也要考虑一个符合现实的假设:应用程序可能不会主动配合隐私保护,而是采用看似"最大化用户便利性"实则偏向自身政治和商业利益的设计方案。
在这种情况下,社交媒体应用可能会为每位用户分配唯一的应用专属ID,且由于身份系统遵循"一人一身份"规则,用户只能拥有一个账户。这与当前用户可以轻松注册多个账户的"弱身份"系统形成对比。现实中,匿名性的实现通常需要多个账户:一个用于常规身份,其他用于各类匿名身份。因此,在这种模式下,用户实际获得的匿名性可能低于当前水平。
这种情况可能导致我们逐渐走向一个所有活动都必须依附于单一公开身份的世界。在风险日益加剧的时代,剥夺人们通过匿名性保护自身的选择权将带来严重的负面影响。
零知识证明本身无法保护你免受胁迫
即使你不公开自己的秘密值s,没人能看到你各账户之间的公开关联,但如果有人强制你公开呢?政府可能会强制要求透露其秘密值,以便查看其所有活动。这并非空谈:美国政府已开始要求签证申请人公开自己的社交媒体账户。此外,雇主也可能将透露完整公开资料作为雇佣条件。甚至某些应用在技术层面可能要求用户透露其在其他应用上的身份才允许注册使用。
在这些情况下,零知识证明的价值荡然无存,但"一人一账户"这一新属性的弊端却依然存在。
我们可以通过设计优化来降低胁迫风险,例如采用多方计算机制生成每个应用专属ID,让用户与服务方共同参与其中。这样一来,若没有应用运营方的参与,用户就无法证明自己在该应用中的专属ID。这会增加逼迫他人透露完整身份的难度,但无法彻底消除这种可能性,而且这类方案还存在其他弊端,如要求应用开发者必须是实时活跃的实体,而非像被动的链上智能合约那样无需持续干预。
零知识证明本身无法解决非隐私类风险
所有身份形式都存在边缘案例:
这些边缘案例在试图维持"一人一身份"属性的系统中危害最大,且它们与隐私毫无关联。因此,零知识证明对此无能为力。
依靠"财富证明"防范女巫攻击并不足以解决问题
在纯粹的密码朋克群体中,一个常见的替代方案是:完全依赖"财富证明"来防范女巫攻击,而非构建任何形式的身份系统。通过让每个账户产生一定成本,就能阻止有人轻易创建大量账号。这种做法在互联网上早有先例,例如Somethingawful论坛就要求注册账户支付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个独立个体,因此会包含更丰富的