主页 > imtoken支持bcc > 以太坊账户登录:改变游戏规则#1

以太坊账户登录:改变游戏规则#1

imtoken支持bcc 2023-02-10 05:17:32

译文来自:登联翻译项目[1] 译者:翻译组[2] 校对:小熊[3]

使用以太坊登录将改变互联网上用户选择的登录方式。 用户可以使用控制其区块链帐户的相同密钥登录,而不是提交到没有中介的大登录。 译者注:大登录是指在众多互联网服务(例如:Facebook、Google、微信等)上使用同一种登录方式。

以太坊登录 - 游戏规则改变者。

用户现在可以使用控制其区块链帐户的相同密钥登录,而不是在没有中介的情况下提交到 Big Login [4]。 这种方法有望回归用户权力。 通过 Ethereum Login,我们开辟了一条道路:大公司不能再剥夺用户访问服务的能力,也不能监视他们的行为。

Sign-In with Ethereum 是一个完全公开的认证标准,它是在与社区成员(包括 dapps、应用程序、钱包、安全公司等)的公开讨论中形成的。您可以在 login.xyz[5] 找到所有会议记录和笔记。 这种方法与科技巨头或政府供应商对专有身份系统的封闭式开发形成鲜明对比,后者受到了隐私和数字权利倡导者的抗议[6]。

相比之下,以太坊登录 (EIP-4361) [7] 为以太坊账户定义了一种开放的知识共享 (CC) 签名格式,以安全地验证任何基于 Web 的服务。 它是由社区在以太坊基金会和 ENS 的直接支持下创建的。 我很高兴讨论 Ethereum Login 意味着什么,以及比 Connect Wallet 对 Web3 的所有构建者意味着什么。

连接钱包与登录

连接钱包按钮是当今进入 dapps 的主要方式。 单击此按钮开始一个人进入 Web3 和区块链交互的旅程。

但是,Link Wallet 允许您告诉应用程序您要从哪个帐户领取,仅此而已。 更多的是让钱包知道你想使用哪个账户与智能合约交互、发送加密货币,甚至通过 dapps 签署消息。 连接钱包是非常基本的——该应用程序不会跟踪您的任何信息,它只是创建一个前端显示以进行简单的交互。

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

Connected Carl 使用 dapp,感觉不错。 他可以在 Uniswap 上交易,在 Aave 上借钱,甚至在 OpenSea 上购买 NFT,只需连接他的钱包。 Carl 有一段时间一切顺利,直到有一天,他遇到了一个问题:他想让 dapps 记住他,以便他第三次、第四次、第五次使用它们时,给他更好的体验。

卡尔在想,如果 Uniswap 可以自动导入他的流动性偏好,Aave 可以记住他最喜欢的借贷市场,甚至 OpenSea 可以记住他的名字而不是 0x2Fe1a3... 的账户,他的体验会好很多。 但每次他连接钱包时以太坊买币游戏,一切都从头开始。

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

与以太坊统一登录

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

连接钱包后的第一步是给用户一条可读的信息,让他们明白他们在做什么。 提示给用户的签名信息是LOGIN,或者一些与登录不一致的措辞,有时甚至是任意数字(比如提示用户用一组随机的魔术字母和数字来签名)的情况已经很多了。 事实上,我们可以根据现有的做法,定义一组必要的字段,一些好的安全措施,以及严格的语法来在人类可读性和安全性之间取得平衡。 此外,钱包无需更改其现有界面和做法即可继续向用户提供此信息。

我们可以首先获取所有这些混乱的“使用以太坊登录”信息,并使用它以可接受的通用方式向用户发出请求。

通用消息 - 通用接口

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

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

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

该规范还对钱包引入了额外的安全要求,例如域绑定以防止网络钓鱼攻击和随机数设置以防止重放攻击,并在整个体验过程中进一步保护用户。 例如,如果钱包发现一条有效的 SIWE 消息,但用户登录的是 example.com,但实际上是在 examie.com,则钱包可以警告用户这种情况。

超越认证

使用以太坊登录也可以解释为授予对特定资源的访问权限,或授予会话密钥以增加 dapp 用户体验的功能和易用性。 例如,想象一个世界,用户可以使用他们持有的数据填充他们的会话,而不是持有用户数据的应用程序? 对此,推荐查看这篇文章:

在这篇文章之后,我将再写一篇文章,介绍使用以太坊登录为 Web2 带来的好处。

但现在您可以使用以太坊登录:login.xyz[9]!

请随时关注我们继续支持以太坊登录。 如果您有兴趣参与,请加入我们的 Discord 服务器:

此翻译由 Duet Protocol[10] 赞助。

原版的:

参考

[1]

登联翻译计划:

[2]

翻译团队:

[3]

小熊:

[4]

很棒的登录:

[5]

登录.xyz:

[6]

受到隐私和数字权利倡导者的抗议:

[7]

以太坊登录(EIP-4361):

[8]

使用以太坊登录:

[9]

以太坊登录:login.xyz:

[10]

二重奏协议: