为什么使用以太坊登录对 Web 3 至关重要?
原标题:为什么「使用以太坊登录」具有革命性
撰文: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,而不是应用程序保存用户的数据。
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
您可能感兴趣
-
深入解析 Aave 内讧冲突,协议与前端的权力博弈作者: Chloe, ChainCatcher近期,Aave DAO 与 Aave Labs 间的争议曝光。前者负责治理协议,后者则是 Aave 产品的开发者。 这起争议的焦点在于最近宣布与 CoW
-
对话 NDV 创始人:科技圈家办成亚洲入场主力,当前已是熊市后段?采访:The Round Trip 编译&整理:Yuliya,PANews在比特币现货ETF获批、机构资金加速涌入,但全球宏观利率环境依旧高企的复杂背景下,加密市场的传统投资范式正面临深刻挑战。当“四
-
加密资产的另一种崛起长久以来我对两类加密资产的应用一直持比较冷漠的态度: 一是基于加密资产(比如稳定币)的支付; 二是在链上购买代币化的股票或者代币化的实物资产 (注:在这里,我特指人类而非AI使用加密资产的场景。对于A
-
Tiger Research:现在是买入的时机吗?两周前,我曾写道比特币可能尚未突破10万美元大关。价格短暂触及9.9万美元后回落,目前在9万美元下方横盘整理。 大多数人都在问同一个问题:“现在是买入的时机吗?”首先:是的。此时分批买入是合适的。但你
-
构建可用的真实世界收益理解真实世界收益 以及 R2 正在做的事情 一、为什么我们要重新理解「收益」 过去几年,链上世界对“收益”的理解被严重简化了。 很多用户习惯把注意力放在:APY 数字有多高 奖励发得快不快 能不能随时
-
MetYa 完成最新一轮 5000 万美元联合投资:在全球资产数字化浪潮中寻找长期确定性作者:Metya Official Editorial Team 资本回归基本面下的融资背景 近日,MetYa 完成新一轮 5000 万美元联合融资。本轮由港股上市公司世紀聯合控股集团(1959.HK
-
BitsLab 旗下 MoveBit 研究发布|Belobog:面向真实攻击的 Move 模糊测试框架
MoveBit 是一家专注于 Move 生态的区块链安全公司,通过率先使用形式化验证使 Move 生态成为最安全的 Web3 生态系统。作者:BitsLabMove 作为 Web3 开发者不容忽视的一
-
机器的经济秩序:智能体商业的全栈路径作者:0xjacobzhao本独立研报由 IOSG Ventures 支持,研究写作过程受 Raghav Agarwal@LongHash 与 Jay Yu@Pantera 相关研报启发,感谢 Lex
- 成交量排行
- 币种热搜榜
泰达币
比特币
以太坊
OFFICIAL TRUMP
USD Coin
Solana
First Digital USD
瑞波币
币安币
大零币
狗狗币
莱特币
Sui
波场
Avalanche
FIL
OKB
LUNC
SHIB
ZEN
ETC
CAKE
DOT
YGG