优惠论坛

标题: 为什么Web3需要ZK身份? [打印本页]

作者: 金色财经小编    时间: 2022-7-21 08:17

原文作者: 0xPARC

创作者:xinyang

审核者:DAOctor

原文: ZK Identity: Why and How (Part 1)

这篇文章是作为系列文章中的第一篇,介绍了为什么密码学的进步对于实现新的身份基元非常重要。在这篇文章中涵盖了“为什么”;下篇文章将解释“如何做”。

在线身份系统的设计在过去几年中一直是激烈辩论的主题。现代数字身份系统已经实现了新的和复杂的在线互动和社区。不幸的是,这些系统中的许多也有明显的弱点。

这些弱点许多可以归因于中心化身份系统设计的固有限制。首先,这些系统通常是围绕中心控制点建立的,因此也是中心故障点。现代电子商务、社交媒体和消息平台很容易受到来自强大行为者(如专制政府)的压力或干扰,或受到恶意黑客的技术攻击;当中心运营商被胁迫或被黑客攻击时,除中心运营商外的多方也会面临风险。其次,这些系统依赖于权力集中在运营商手中,他们不可能与所有用户完全一致(财务上、社会上或道德上)——例如,拥有多样化全球受众的私人社交媒体公司必须经常决定什么是不合理的审查行为,什么是符合公共安全利益的行为,尽管他们往往没有恰当的能力来进行判断。

去中心化和加密机制并不是神奇的灵丹妙药,但它们确实提供了一些有用的工具,而且它们扩大了数字身份系统的设计空间。随着我们更多的社会和经济生活转移到网上,设计安全、保护隐私和用户控制的身份系统将变得越来越重要。在这篇文章中,我们将论证新的加密基元,如 zkSNARKs,对构建具有这些特性的身份系统至关重要。

就其核心而言,zkSNARKs 是有用的,因为它们使数字系统的用户能够产生任意复杂的可信声明,而无需依赖受信方。所有的身份系统都是围绕着产生可信的身份和名誉声明的一些机制而建立的——通常是相当复杂的声明,附在一个受信任的权威机构,如政府或公司的证明上。通过将 zkSNARK 结构应用于关于身份和名誉的声明,我们可以重新构建数字身份系统,并将控制权和数据保管权交到用户手中。

可信的声明(claim)

由于 zkSNARKs 在精确的、以数学方式定义的”声明”上运作,我们必须首先精确地分解身份系统中涉及的声明的性质。

与一个完全未知和不信任的对手方做生意是很难的。常识告诉我们,随着交易方之间信任度的降低,合作的可能性也会降低;博弈论告诉我们,在一次性的囚徒困境中,最佳策略总是叛变。你更愿意从一个与你的社交圈紧密相连的亲密朋友那里购买一辆二手车,而不是从一个从外地赶来的不确认是否可信的58同城卖家那里购买,他甚至不会告诉你他的名字。

为了建立彼此之间的信任,我们需要能够提出可信的声明:关于我们身份和名誉的声明,让与我们交往的人觉得可信。如果上面的58同城卖家向你保证他“以前卖过很多车,每个人都喜欢我的车,请相信我”,这并不是一个真正可信的说法。但是,如果这种说法与你所知道的一个受欢迎的网站上经过验证的买家的五星评价结合在一起,就会感觉更可信。

可信声明的想法听起来理所应当,但建立一个产生可信声明的机制(在这个例子中,一个受欢迎的分类网站)并使之合法化,并不是一件容易的事。在传统模式中,我们通常的解决方案是将记录管理委托给一个可信的权威机构,这样他们就可以证明我们关于身份和名誉的声明,并赋予它们可信度。这个机构必须随着时间的推移(通常是在对抗性环境中)证明他们的合法性和可信度,并维护大规模生成和分发证明的基础设施。

至关重要的是,在大多数模型中,中心机构的证明是使声明可信的原因。这是一个有效的政府身份证,所以我是一个公民;这是我的追随者的准确名单,所以我是一个社会影响者;这些是一组经过验证的评论和评级,所以我是一个值得信赖的在线零售企业。

可信声明的另一个应用处在堆栈的更低层次。首先,你怎么知道与你互动的人或企业向你提出的是关于他们自己的声明,而不是冒用了其他人?很多系统需要依赖可信机构,这些机构承担着证明身份本身以外的更基本功能。一个 API 访问令牌,一个政府颁发的护照,或者当你访问一个网站时由证书颁发机构生成的签名链,都是对身份声明的证明。

有用的身份系统允许参与者提出非常广泛而复杂的可信声明。

隐私

几乎所有的身份系统本质上都需要隐私来实现预期的功能,这一事实使情况更加复杂。

隐私是很重要的,因为道德和意识形态的原因,有时是有争议的;但更根本的是,作为一个简单的系统设计问题,它往往是必要的。例如,几乎所有的身份系统都依靠秘密数据的概念来产生可信的身份声明——密码、社会安全号码、私人钥匙、信用卡密码、账户恢复问题等等。出于明显的原因,这些数据必须被保密。此外,用完全透明的数据产生可信声明的过程可能有负外部性,或者至少是复杂的外部性;隐私保障可以防止这些。例如,如果你不得不出示你的整个财务历史,只是为了在一个在线市场上购买或出售物品——银行报表、信用卡交易、贷款支付,以及其他工作——对手可以使用这些信息来进行与原始交易无关的超范围互动(负面例子包括广告,甚至骚扰和勒索)。隐私“沙盒”提供一次性互动,很好地定义和限制其范围,这样我们就可以从简单和可理解的构件中建立更复杂的系统。

在需要隐私的传统系统中,我们不得不把更多的权力下放给中心机构——在这样的系统中,中心机构存储私人数据,并对关于这些数据的可信声明作保,而这些声明几乎不可能被验证。

密码学的作用

到目前为止,我们所讨论的所有关于可信声明生成和身份系统的模型都涉及一个中心化的行为者。正如我们所讨论的,我们有很多理由想寻求一个不依赖强大的记录者或管理者的系统。

但我们面临很明显的问题:我没有你的数据,我怎么能相信你的说法?如果你把你的数据发给我,我怎么知道这些数据是有效的?如果你想对私人数据作声明,我们又该怎么办?这正是密码学发挥作用的地方。

从我们的角度来看,在过去的五十年里,大部分的应用密码学(和共识)都是一个逐步扩大的项目,即在各种资源限制和隐私条件下,在没有可信的权威的情况下,可以做出哪些可信的声明。

从历史角度看,进展是缓慢的——这些加密基元中的每一个都定义了一种新的、范围严格的声明,其结构是高度明确的。然而,在过去的几年里,这种情况已经改变了。

今天令人振奋的是,由于 SNARKs 的存在,我们现在有了有效地提出任意可信声明的机制。由于 zkSNARKs 的零知识属性,我们还可以完全按照我们的喜好调整声明的隐私保证。

下面是几个例子,说明你可以用 zkSNARK 做出什么样的声明,这在以前是不可能的。

这些声明可以被组合、组成,甚至以任意复杂的方式进行编程。

虽然所有这些在理论上都是可能的,但我们仍有很长的路要走。为下一代应用制作一套强大的 ZK 身份识别工具,需要在性能、可靠性、开发者经验和应用设计模式方面做出实质性的改进。在下一篇文章中,我们将讨论我们对未来道路的理解。

补遗:身份中包含什么?

为了了解密码学在哪些方面可以用于建立一个身份系统,将身份系统的概念分解为其关键组成部分是很有用的。

在分析一个特定的身份系统时,我们可以问以下一些问题。

物理世界:身份往往与法律上的人格相关。换句话说,身份的原子单位是个人,或公司。

网络空间:身份可以是谷歌/脸书/推特账户;与证书机构相关的公钥/私钥对;一些基于以太坊的代币的持有人(可能不与具体地址挂钩!);以及其他。

物理世界:一个有效的证明可能看起来像国家颁发的身份证或营业执照。政府最终拥有持有有效身份证明所带来的特权的权力:例如,政府可以撤销你的护照。

网络空间:一个有效的证明可能是 FB 提供的 OAuth 令牌,或一个有效的数字签名(或签名链)。各种服务提供商对各种证明拥有权力:例如,Twitter 可以禁止你的账户。

物理世界:辅助数据由政府机构和官僚机构、私人服务提供者(银行、信用评分机构)和私交(你的个人网络)共同持有。

网络空间:在中心化模式中,辅助数据由大型科技公司持有。在去中心化模式中,辅助数据由你控制的客户端软件(浏览器、个人网络服务器)以及去中心化存储网络(例如,区块链中的历史交易数据或智能合约状态)共同持有。

物理世界:信用评分报告、背景调查、社会推荐信、就业信、证书和荣誉以及头衔。

网络空间:NFT所有权,账户年龄和早前活动,证明网络,Reddit 或其他论坛点赞数。

其中一些概念相互融合:身份、名誉和身份证明是密切相关的,而且不容易分割。例如,在一些系统中,身份的原子单位甚至被定义为“中心机构可以提供有效证明的”——一个不存储在Facebook 数据库中的 Facebook 账户的概念是不存在的。

一般来说,我们在这组系列文章中使用的身份指的是一个实体(一个人、一个组织、一个机器人)的持久性标签,并代表该实体的法律人格、公钥、账户ID等。我们用名誉来指关于实体过去行为的声明(“Alice 总是遵守她的诺言”,“Bob 总是按时支付他的信用卡账单”,“舒适的家 总是在其 Airbnb 房源上使用准确的图片”)。

来源:金色财经






欢迎光临 优惠论坛 (http://tcelue.cc/) Powered by Discuz! X3.1