原文标题:《详解EIP-4361:什么是以太坊登录?》
原文来源:?TokenviewLabs??
Part1:什么是EIP-4361?
Part2:以太坊登录对Web3的重要性?
Part3:创建以太坊登录界面?
Part4:解析ENS数据Part5:Tokenview科普时间
正文开始
当用户登录到web2服务时需要使用用户名或电子邮件地址和密码。然而以太坊登录将会改变这一方式。
通常在登录「web2」服务时,我们需要使用用户名或电子邮件地址和密码。然后,该服务可以在他们的内部数据库中查找我们的用户名或电子邮件地址,看看相应的密码是否与我们提供的密码匹配。生成用于进一步身份验证的随机密钥,通常存储在cookie中。这种提交给)的方式往往依赖于大型互联网公司和电子邮件提供商,它们正是对用户身份拥有最终控制权的中心化实体。
以太坊登录的出现改变了这个规则,它为那些希望对自己的数字身份承担更多控制和责任的用户提供了一种新的自我托管选项。用户不再需要向一些大型中间商妥协,现在可以使用控制其区块链账户的同一个私钥直接登录(不需要经过中间商)。大公司不再能剥夺用户访问服务的能力,也不能监视他们的行为。
使用以太坊登录有望回归用户权力。
"500px">
Part.1
什么是EIP-4361?
什么是EIP-4361:使用以太坊登录?
它是以太坊账户建立会话的链下认证。
以太坊登录描述了以太坊帐户如何通过签名由范围、会话详细信息和安全机制参数化的标准消息格式来验证链下服务。EIP-4361的目标是为中心化身份提供者提供一种自我托管的替代方案,提高基于以太坊身份验证的链下服务的互操作性,并为钱包供应商提供一致的机器可读消息格式,以实现更好的用户体验和同意管理。换句话说,EIP-4361的目的是希望通过使用web3服务(如钱包和dapps)常用的方法来改变我们登录web2服务的方式。
已经有许多服务支持使用消息签名验证以太坊帐户的工作流,例如建立一个基于cookie的web会话,该会话可以管理关于验证地址的特权元数据。这是一个标准化登录工作流和提高现有服务互操作性的机会,同时也为钱包供应商提供了一种可靠的方法,可以将签名请求识别为以太坊登录请求,以改善用户体验。
以太坊登录的工作原理如下:
该钱包为用户提供了一个结构化的明文消息或等效的接口,用于使用EIP-191签名数据格式进行签名。在签名之前,消息前缀是EIP-191中定义的为\x19EthereumSignedMessage:\n
。该消息必须包含以太坊地址、请求签名的域、消息的版本、链标识符chain-id、用于范围的uri、依赖方可接受的nonce和发出的时间戳。
然后将签名提交给依赖方,由依赖方检查签名的有效性和消息内容。
其他字段,包括过期时间、not-before、请求id、语句和资源,可以被合并为登录过程的一部分。
依赖方可以进一步获取与以太坊地址相关的数据,例如来自以太坊区块链(例如,ENS,账户余额,EIP-20/EIP-721/EIP-1155资产所有权),或其他可能或可能不被允许的数据源。
事例消息
Dfinity创始人:以太坊Layer 2解决方案会使用户面临对手方安全风险:Dfinity及其互联网计算机的创始人Dominic Williams抨击了Polkadot和以太坊提出的第二层扩展解决方案,认为其提供了一种脱节的用户体验。Williams断言,二层云会给以太坊用户带来摩擦点,并使他们面临对手方的安全漏洞,他强调以太坊超过一半的节点是由亚马逊网络服务托管的。此外,Williams也抨击了Polkadot即将推出的分片式平行链生态系统,将其中继链比喻为在不同的区块链之间进行调解的 \"集中式收费枢纽\"。他还批评其对分片的设想未能确保 \"智能合约之间的可替换性\"。(Cointelegraph)[2021/6/9 23:23:32]
以太坊登录为以太坊账户定义了一种开放的创意共享签名格式,用户登录不需要使用用户名和密码的组合,只需用自己的私钥对消息进行签名,就完成了。并且可以安全地验证任何基于网络的服务。EIP-4361是在以太坊基金会和ENS的直接支持下,由社区创建的。
Part.2
以太坊登录对Web3的重要性?
以太坊USDC发行量突破220亿美元,创历史新高:据Debank最新数据显示,以太坊USDC发行量已突破220亿美元,创历史新高,本文撰写时为22,104,415,264美元,24小时活跃地址数为25,176,24小时转账金额达到5,944,124,845美元。[2021/6/3 23:08:32]
对于Web3的所有建设者来说,以太坊登录比连接钱包的意义要大得多。连接钱包是当前进入Web3dapps的主要方式。通过连接钱包,用户就可以开始和区块链进行交互,但连接钱包并没有使应用程序记录你的任何信息,只是为简单的交互创建了一个前端显示。而以太坊登录允许用户和应用程序之间建立会话,可以进行更为丰富的情景互动,安全地读写他们的数据。
我们用ConnectedCarl和SessionSam这两个例子来进行阐释。「ConnectedCarl」使用dapp。他可以在Uniswap上进行交易,在Aave上进行借贷,甚至在OpenSea上购买NFT,只需要连接他的钱包。一段时间,Carl的事情进行得相当顺利,直到有一天,他遇到了一个问题:他希望这些dapp能记住他,以便在他第三次、第四次、第五次使用这些dapp时,能给他更好的体验。
动态 | MetaMask正在研究以太坊交易费用的解决方案:以太坊钱包MetaMask正在努力开发以太坊交易费的解决方案。理想情况下,该解决方案将允许DApp代表用户支付这些费用,这将增强用户体验。MetaMask最近完成Generalized MetaTransaction竞赛,旨在找到这个解决方案。目前,以太坊用户通过DApp或其他服务付费发送ETH,减少网络中的垃圾邮件交易需要这笔费用。在很多情况下,第三方可能愿意支付用户的交易费。这种第三方交易费支付模式称为Meta-Transaction。MetaMask的理想解决方案应该代表用户使用Meta-Transaction来支付这些成本,这将提供更实惠的用户体验。(FXStreet)[2020/1/31]
Carl在想,如果Uniswap能自动导入他的流动性偏好,Aave能记住他最喜欢的借贷市场,甚至OpenSea能记住他的名字而不是0x2Fe1a3...的账户,他的体验会好很多。但每次连接他的钱包时这些都要从头开始。
「SessionSam」就没有这个问题。在与dapps进行认证并建立会话后,这些信息被保存下来。即使Sam断开连接并再次认证,萨姆也会从他离开的地方继续,并且在应用程序中仍然记得关于他的一切。他的信息甚至可以保存在他控制的一个远程数据库中。
连接钱包的功能非常简单,仅仅是通知一下dapp,让它知道你正在使用的是哪个账户,dapp也对你毫无记忆,只是为简单的交互搭建了一个平台。但以太坊登录对用户进行身份验证,以便与他们建立一个session,你和dapp之间进行的种种情境交互,会被安全地读写记录。
Part.3
创建以太坊登录界面
钱包创建以太坊登录界面如下:
钱包实现者必须在默认情况下和签名之前向用户显示以太坊登录签名请求中的以下术语:域、地址、语句和资源。其他现有术语也必须在默认或通过扩展接口签署之前提供给用户。钱包实现者向用户显示明文消息时,应该要求用户在签名前滚动到文本区域的底部。
钱包实现者可以通过将ABNF术语解析为接口中使用的数据元素来构建自定义的登录以太坊用户界面。上面的显示规则仍然适用于自定义界面。
在用户体验上,钱包可以呈现一个友好的风格化的界面,让用户体验更佳。例如通常给用户提示的签名信息是LOGIN。相较而言,「使用以太坊登录」的信息较为杂乱,但我们可以把它用一种公认的通用方式来向用户提出请求。有了一个商定的签名信息格式之后,应用程序和钱包就可以说同样的语言。当应用程序向用户提出签名请求时,钱包就可以检查该请求,检查它是否适合作为EIP-4361消息,并让用户知道他们正在签署进入一个网站。该规范还为钱包引入了额外的安全要求,如防止网络钓鱼攻击的域名绑定和防止重放攻击的nonce设置,用户在整个体验过程中得到进一步保护。例如,如果钱包发现一个有效的以太坊登录信息,但用户签署的是example.com,但实际上是在exampie.com,钱包可以警告用户这种情况。
Part.4
解析ENS数据EIP-4361与以太坊名称服务(ENS)巧妙集成。
依赖方或钱包还可以对ENS数据进行解析,因为这可以通过显示与地址相关的人性化信息来改善用户体验。如果一个地址有一个主ENS名称,服务可以查找这个主ENS名称并基于它解析数据。例如,可以将自己的首选用户名、头像、电子邮件地址或其他任意信息存储在ENS名称中。这样就可以控制自己的数据,并且不需要web2服务来存储关于用户的这些信息。这可能会导致未来使用经过身份验证、签名的EIP-191消息登录到身份验证的应用程序成为标准,完全消除电子邮件/密码组合。可解析的ENS数据包括:主ENS名称。ENS头像。ENS文档中指定的任何其他可解析资源。如果对ENS数据进行解析,实施人员应采取预防措施,以保护用户隐私和同意,因为作为解析过程的一部分,他们的地址可能被转发到第三方服务。
Part.5
什么是EIP?
以太坊治理中使用的一个重要过程是以太坊改进提案的提议。EIPs是指定以太坊潜在新功能或流程的标准。以太坊社区内的任何人都可以创建EIP。例如,EIP-721的作者都没有直接参与以太坊的协议开发。假设某个EIP被批准、测试和实施,它将被安排为网络升级的一部分。由于网络升级的协调成本很高,因此EIP通常会捆绑在一起进行升级。网络升级激活后,EIP将在以太坊网络上线。
此前我们介绍过以太坊上海升级即将激活的四个EIP系列,分别包括EIP-3651(降低访问COINBASE地址的gas开销);EIP-3855(新增操作码PUSH0);EIP-3860(给initcode的大小设限,并引入给这个字段的gas计量)以及EIP-4895(信标链推式提款作为系统操作)。点击回顾。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。