主页 > imtoken钱包下载注册教程 > 为什么“使用以太坊登录”是游戏规则的改变者这对 Web3 构建者意味着什么?

为什么“使用以太坊登录”是游戏规则的改变者这对 Web3 构建者意味着什么?

imtoken钱包下载注册教程 2023-03-13 05:09:07

Sign-In with Ethereum 改变了互联网用户选择的游戏规则。

以太坊经典和以太坊_以太坊公开密钥_sitebitcoin86.com 以太坊以太经典

用户现在可以使用控制其区块链账户的相同密钥登录,而不是提交“大登录”,而无需中间人。 这种方法很有前途,但不能保证重新平衡有利于用户的权力动态。 通过使用以太坊登录,我们开辟了一条道路,大公司无法再剥夺用户访问服务的能力,也无法监视他们的行为。

Login with Ethereum 是一个完全公开开发的身份验证开放标准以太坊公开密钥,通过与 dapp、应用程序、钱包、安全公司等社区成员的公开讨论获得信息。 您可以在 login.xyz 找到所有会议记录和笔记。 这种方法与科技巨头或政府提供商封闭式开发专有身份系统大相径庭,隐私和数字权利倡导者理所当然地抗议这种做法。

相比之下,Login with Ethereum (EIP-4361) 为以太坊帐户定义了一种开放的知识共享 (CC) 签名格式,以安全地验证任何基于 Web 的服务。 它是由社区在以太坊基金会和 ENS 的直接支持下建立的,去年年底 Spruce 被任命为领导者。 我很高兴讨论使用以太坊登录的重要性,以及它如何不仅仅是 Web3 中所有构建者的“连接钱包”。

连接钱包与登录

以太坊经典和以太坊_以太坊公开密钥_sitebitcoin86.com 以太坊以太经典

“连接钱包”按钮是当今 dapp 的主要访问方式。 单击按钮开始您的 Web3 和区块链交互之旅。

但是连接钱包可以让你告诉应用程序你知道你正在使用哪个帐户,并且它保证会停在那里。 更重要的是您的钱包需要知道您想使用哪个帐户与智能合约交互、发送加密货币,甚至通过 dapp 签署消息。 连接钱包是非常基本的——dapp 不会记住你的任何信息,它正在构建一个用于简单交互的前端。

当应用程序想要在更丰富的上下文中与用户交互时,例如加载他们的首选项或私人聊天消息,我们首先需要确保我们正在与帐户背后的实际密钥持有者交谈,而不是假装控制帐户的人. “Connected Wallet”不提供此保证,但 Login with Ethereum (SIWE) 提供。 换句话说,我们需要对用户进行身份验证以与他们建立会话以安全地读写他们的数据。 对于这个例子,我想介绍一下 Connected Carl 和 Session Sam:

sitebitcoin86.com 以太坊以太经典_以太坊经典和以太坊_以太坊公开密钥

Connected Carl 使用 dapps 并且有很多乐趣。 他可以在 Uniswap 上交易,在 Aave 上借款,甚至可以在 OpenSea 上购买 NFT,只需连接他的钱包。 有一段时间,Carl 一切顺利,直到有一天,他遇到了一个问题:他想让 dapps 记住一些关于他的东西,以便在他第三次、第四次和第五次使用它们时给他更好的体验.

Carl 正在考虑如果 Uniswap 自动导入他的清算偏好,他的体验会有多好,Aave 记住了他最喜欢的借贷市场,甚至 OpenSea 记住了他的名字而不是 0x2Fe1a3... 账户。 每次连接钱包时,卡尔都必须从第一个方格重新开始。

Session Sam 没有这个问题。 在使用 dapps 进行身份验证并建立会话后,将保存此信息。 即使 Sam 断开连接并再次进行身份验证,Sam 也会从他离开的地方继续,并且仍然记得应用程序中关于他的一切。 他的信息甚至可以保存在他控制的远程数据库中。

统一使用以太坊登录

在 Web3 中,您会发现许多现有服务提供某种形式的“使用以太坊登录”,但符合标准的并不多。 他们通常使用它与可以管理帐户特权元数据的用户建立基于 cookie 的会话。 例如,如果您想让用户能够在您的站点(例如 OpenSea)上自定义他们自己的配置文件,您应该在用户进行任何更改之前对用户进行身份验证,确保只有用户可以编辑他们自己的配置文件。 其工作流程如下:

sitebitcoin86.com 以太坊以太经典_以太坊公开密钥_以太坊经典和以太坊

连接钱包后的第一步是为用户提供人类可读的信息,以便他们知道他们正在进入什么状态。 在很多情况下,用户会看到“LOGIN”,一些关于“登录”的措辞不一致,有时甚至只是一个任意数字(“在这里,签署这组随机的疯狂字母和数字”)。 相反,我们可以根据现有实践、一些良好的安全实践以及在人类可读性和安全性之间取得平衡的严格语法来定义一组必填字段。 此外,钱包不必更改其现有界面和做法,至少可以继续为用户提供此信息。

我们可以首先获取所有这些令人困惑的“使用以太坊登录”消息以太坊公开密钥,并以公认的通用方式向用户呈现请求:

sitebitcoin86.com 以太坊以太经典_以太坊经典和以太坊_以太坊公开密钥

通用消息 - 通用接口

通过商定签名消息的格式,应用程序和钱包现在可以使用相同的语言。 当应用程序向用户发出签名请求时,钱包可以检查该请求,检查它是否符合 EIP-4361 消息,并让用户知道他们正在登录网站。

在这一点上,钱包可以呈现一个友好的程式化界面,让用户感觉良好,并消除对用户将要采取的行动的任何疑虑,而不是向用户呈现任意文本块进行签名。 用户现在只需单击确认对话框即可“登录”,因为钱包理解签名请求。 为了完全透明,规范规定整个消息和字段必须在其他子界面(例如详细视图)中仍然可用。

从 EIP-4361 消息中,我们现在得到了一个更清晰的界面:

以太坊公开密钥_sitebitcoin86.com 以太坊以太经典_以太坊经典和以太坊

该规范还为钱包引入了额外的安全要求,例如域绑定以防止网络钓鱼攻击和随机数以防止重放攻击,从而在整个体验过程中进一步保护用户。 例如,如果钱包找到有效的 SIWE 消息,但用户正在为 example.com 签名,但实际上是在 examie.com 上,则钱包可以警告用户以下内容:

以太坊公开密钥_以太坊经典和以太坊_sitebitcoin86.com 以太坊以太经典

超越认证

使用以太坊消息登录也可以解释为访问特定资源的授权,或委托会话密钥以增加 dapp UX 的功能和易用性。 例如,想象一个用户可以使用他们保留的数据丰富他们的会话的世界,而不是保存用户数据的应用程序? 如需更多信息,我们强烈建议您查看以下内容: