使用以太坊钱包登录 Web2 服务?你的数字身份由你自己控制。
来源 | spruceid
译者按:Spruce 是一家开源软件公司,专注于去中心化身份和数据,从“不是你的密钥,不是你的币''进化到”不是你的密钥,不是你的身份“。此前,ENS 和 Spruce 宣布合作关系,Spruce 发文表示 Sign-in with Ethrereum 将使用户能够使用他们的以太坊账户而不是由大企业所有的账户访问 Web2 网络服务。
<img src="https://blog.spruceid.com/content/images/size/w2000/2021/09/Frame-5--2-.png" alt="https://blog.spruceid.com/content/images/size/w2000/2021/09/Frame-5--2-.png" style="zoom:40%;" />
关于推动使用以太坊登录的工作,我们最初的目标是创建一个规范和参考实现,旨在为用户使用以太坊账户登录到传统 Web2 服务时提供一个端对端的身份认证流程,并使用 ENS 作为主要的用户控制数据聚合器。
这将允许以太坊用户基于密钥提供自己的数字身份,而不是依赖于诸如谷歌、Facebook 或亚马逊等此类中心化身份提供商。我们将进一步描述依赖方如何在保护用户隐私的同时实现检索和验证有关用户身份的信息,例如电子邮件账户、电话号码以及社交媒体账户。
目前,如果用户想要登录网站,他们需要从几家大型互联网公司中选择一家,以作为其数字身份的身份提供商 (identity providers, IdPs)。OAuth 2.0 和 OpenID Connect 的设计者最初打算产生一个完整的身份提供商生态系统供用户选择,而不仅仅是几个统一的实体。这些大型身份提供商通过简化终端用户和开发者的身份验证来控制用户的身份标识,这意味着它们还控制对关键服务 (包括银行、支付和社交网络) 的访问 (它们甚至还拥有可见特权)。这种中介结构限制人们直接访问线上服务大体上类似于中心化银行限制用户直接访问金融市场。
兼容以太坊的钱包越来越普及,如 MetaMask 每月活跃用户超过 500 万。现在有一个新的方式来为登录 Web2 服务提供直接的身份验证:即使用直接来自用户的 Web3 钱包和 ENS 的消息前面和声明聚合,而不是借助传统的中介。
这些声明不仅可以用于登录过程,还可以将现有的 Web2 账户更广泛地转变为加密货币的应用。
使用以太坊登录,用户将能够:
而 Web2 服务托管将能够:
就工作流如何运作而言,依赖方将首先向用户呈现登录要求,包括不同身份验证类型需要来自 ENS 的哪些声明、防止重播的随机数以及唯一的站点身份标识。在这种情况下,ENS 域所有权可以作为基本的反女巫机制。
然后,用户通过 WalletConnect 签名执行基于以太坊的身份验证,该签名被发送到依赖方。此步骤将使用支持用户选择相关声明的数据模式,允许用户规定依赖方应查询哪些声明 (即应该用于建立会话的有关其帐户的选定事实)。这些事实通过 ENS 作为 TXT 记录按值或按引用 (即 URL) 检索。
接着,依赖方使用声明查询方法检索和验证以太坊账户的相关声明,如 ENS 地址、电子邮件验证、社交媒体账户链接或验证 (例如,通过 Uniswap Sybil),以及用户和服务器都支持的任何其他声明。
那么用户就可以像平常一样访问该服务并与之交互,并能够提供自己的数字身份,而不是受中心化身份提供商的支配。我们相信这将是用户控制和管理网络交互的伟大进步。
关于隐私的说明。我们将首先关注那些已经习惯于将他们的以太坊地址与他们的公共形象关联并理解其含义的Web3 用户,例如许多在 Twitter 上自豪地将他们的 NFTs 作为他们的个人资料图片 (pfp) 展示的人。我们认为,隐私应当是实现适当的信息流动,而不是绝对保密。随着不同用户群体 (如主流网络用户) 对隐私的要求发生变化,我们使用隐私工具的方法也必须改变,例如在每次交互的基础上使用新衍生的以太坊地址,或结合零知识的隐私技术来减少关联性。)
ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ethereum.cn,若需长期转载,请联系eth@ecn.co进行授权。
本文首发于:https://news.ethereum.cn/Ecosystem/sign-in-with-ethereum-proposed-architecture
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!