首页 > 资讯 > 为什么使用以太坊登录对Web3至关重要?
路安  

为什么使用以太坊登录对Web3至关重要?

摘要:原标题:为什么「使用以太坊登录」具有革命性撰文:Rocco用户不再需要向一些大型中间商妥协,现在可以使用控制其区块链账户的同一个私钥直接登录 (不需要经过中间商)。通过 SIWE,我们开辟了另一条道路

原标题:为什么「使用以太坊登录」具有革命性

撰文:Rocco

用户

用户不再需要与一些大型中间商妥协,现在他们可以使用控制区块链账户的相同私钥直接登录 (不需要通过中间商)。通过 SIWE,我们开辟了另一条道路,大公司不再剥夺用户访问服务的能力,也不再监控他们的行为。

SIWE 是通过和 完全公开的认证标准dapp、app、公开讨论钱包、安全公司等社区成员。你可以在网站上 login.xyz 在上面找到所有的会议记录和笔记。这种方法与科技巨头或政府供应商的专有身份系统的封闭式开发非常不同。 (被隐私和数字权力倡导者抗议)。

相比之下,Sign-In with Ethereum (EIP-4361) 为以太坊账户定义了一种开放的知识共享(creative commons,CC) 签名格式安全验证任何基于网络的服务。SIWE 以太坊基金会和 由社区建设ENS 直接支持, Spruce 从去年年底开始负责这个项目。我很高兴在这里讨论 「使用以太坊登录」 的意义,以及 Web3 如何超越所有建筑商的 ?「连接钱包」的。

连接钱包 vs. 用以太坊登录

用户

「连接钱包」 这个按钮现在是 dapp 的主要功能。点击此按钮,用户开始使用 Web3 与区块链互动的旅程。

通过连接钱包,应用程序可以知道你使用哪个账户;然而,仅此而已。你的钱包更容易知道你想用哪个账户与智能合同互动,发送加密货币,甚至通过 dapp 签名信息。连接钱包的功能非常简单 - dapp 对你 「毫无记忆」,为简单的交互搭建平台。

当应用程序想要与用户进行更丰富的情境交互时(contextual interactions) 在加载用户偏好或隐私聊天信息时,我们首先需要确保我们与账户背后的实际私钥持有人交谈,而不是假装控制账户的人。「连接钱包」但 SIWE 是的。换句话说,我们需要验证用户的身份,以便与他们建立 session,然后安全地读写他们的数据。为了说明两者的区别,我举了以下两个例子 - 连接钱包 Carl 和建立 session 的 Sam:

(译者注:Session 是一种解决方案,用于在客户端和服务器端之间保持状态。其基本思路是: 客户端第一次访问时,服务器端生成 session id 回到客户端,当然服务器端也会把这个 session id 在内存中,客户端得到这个 session id 之后,这个 将在后续的每个请求中使用session id 传回服务器,让服务器查询自己的内存,知道客户端已经访问过了。Session 可用于实现用户登录认证。 由服务器端生成session id 传回客户端后,通常会保存在 cookie 中,所以 Session-based 认证也叫 Cookie-Based 认证。

用户

Carl 使用 dapp 并且有很好的体验。他可以在 Uniswap 交易, Aave 借钱,甚至 OpenSea 上购买 NFT。这些操作只需要连接他的钱包。Carl 的操作一直很顺利,直到有一天,他遇到了这样的问题:他希望 dapp 能记住他的一些情况,以便在他第三次、第四次和第五次使用这些 dapp 能给他更好的体验。

Carl如果 Uniswap 可自动导入他的优先清算权,Aave 能够记住他最喜欢的借贷市场,甚至 OpenSea 能记住他的名字而不是 0x2Fe1a3... 这样的账户,他的经历会好很多。Carl 每次连接他的钱包,都要从头开始。

Sam 不会有这样的问题。Dapp 已认证并建立 session 之后,将保存相关信息。即使 Sam 断开连接,重新认证,session 也会在他离开时继续,应用程序仍然记住与他有关的一切。他的信息甚至可以保存在他控制的远程数据库中。

使 SIWE 一元化

纵观 Web3 在这个领域,你会发现许多现有的服务提供某种形式的 「Sign-In with Ethereum」,但是没有多少能达到标准。它们通常用于与用户建立基于 的基础cookie 的 session,该 session 可以管理与该账户相关的专有元数据。例如,如果您想在您的网站上定制用户权限的个人档案 如 )OpenSea ),您应该在用户可以做出任何更改之前验证他们的身份,以确保只有用户才能编辑自己的个人文件。工作流程如下:

用户

连接钱包后的第一步是为用户提供人类可读信息,以便他们能够理解他们进行了什么交互。在许多情况下,用户看到 「LOGIN」 (登录) 单词,或者一些让你登录的单词,有时甚至只是任何数字 (在这里,签随机疯狂的字母和数字集合)。相反,我们可以根据现有的实践确定一组必要的字段,设置许多良好的安全措施,以及在人类可读性和安全运行之间平衡的严格语法。此外,钱包不需要改变它们现有的界面和实践,至少可以继续为用户提供这些信息。

首先,我们可以接受所有这些混乱的 「SIWE」 信息,并以可接受的一般方式向用户提交请求:

用户

共享信息 -共享界面

在签名信息格式达成一致后,应用程序现在可以说与钱包相同的语言。当应用程序向用户提交签名请求时,钱包可以检查请求是否与 相同EIP-4361 (SIWE) 信息一致,让用户知道他们在登录一个网站。

在这一点上,钱包可以呈现一个友好的程式化的界面,让用户体验更佳,并且不对用户将要采取的行动产生任何怀疑。而不是给用户一个任意的文本块来签名。用户现在只需点击一个确认对话框来 「登录」,因为钱包可以 「理解」签名请求。完全透明,EIP-4361 规范声明所有信息和字段仍必须在其他子界面 (如详细视图) 中使用。

从 EIP-4361 在信息中,我们可以得到一个更清晰的界面:

用户

该规范还为钱包引入了额外的安全要求,如引入域绑定,以防止钓鱼攻击;引入 nonces 为了防止重放攻击,用户在整个过程中得到了进一步的保护。例如,如果钱包发现了有效的 SIWE 信息,但用户对 example.com 签名 (但实际上是 exampie.com),钱包可以警告用户情况:

用户

除身份验证外

SIWE 信息也可以理解为授权访问特定资源或对 session 委托私钥提高 dapp UX 的功能性和易用性。例如,想象一下,在这样的世界里,用户可以使用他们保留的数据来丰富自己的 session,保存用户数据而不是应用程序。

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。