详解EIP-4361:什么是以太坊登录|Tokenview

这篇具有很好参考价值的文章主要介绍了详解EIP-4361:什么是以太坊登录|Tokenview。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当用户登录到web2服务时需要使用用户名或电子邮件地址和密码。然而以太坊登录(Sign-In with Ethereum)将会改变这一方式。
通常在登录“web2”服务时,我们需要使用用户名或电子邮件地址和密码。然后,该服务可以在他们的内部数据库中查找我们的用户名或电子邮件地址,看看相应的密码是否与我们提供的密码匹配。生成用于进一步身份验证的随机密钥,通常存储在cookie中。这种提交给【大登录】( 大登录 指的是在很多个互联网服务上使用同一个登录方式(例如:Facebook、Google、Weixin等))的方式往往依赖于大型互联网公司和电子邮件提供商,它们正是对用户身份拥有最终控制权的中心化实体。
以太坊登录(EIP-4361)的出现改变了这个规则,它为那些希望对自己的数字身份承担更多控制和责任的用户提供了一种新的自我托管选项。用户不再需要向一些大型中间商妥协,现在可以使用控制其区块链账户的同一个私钥直接登录 (不需要经过中间商)。大公司不再能剥夺用户访问服务的能力,也不能监视他们的行为。

使用以太坊登录有望回归用户权力。

什么是EIP-4361:使用以太坊登录?

它是以太坊账户建立会话(sessions)的链下认证。

以太坊登录(EIP-4361)描述了以太坊帐户如何通过签名由范围、会话详细信息和安全机制参数化的标准消息格式来验证链下服务。EIP-4361的目标是为中心化身份提供者提供一种自我托管的替代方案,提高基于以太坊身份验证的链下服务的互操作性,并为钱包供应商提供一致的机器可读消息格式,以实现更好的用户体验和同意管理。换句话说,EIP-4361的目的是希望通过使用web3服务(如钱包和dapps)常用的方法来改变我们登录web2服务的方式。

已经有许多服务支持使用消息签名验证以太坊帐户的工作流(workflows),例如建立一个基于cookie的web会话,该会话可以管理关于验证地址的特权元数据。这是一个标准化登录工作流和提高现有服务互操作性的机会,同时也为钱包供应商提供了一种可靠的方法,可以将签名请求识别为以太坊登录请求,以改善用户体验。

以太坊登录的工作原理如下:
1 该钱包为用户提供了一个结构化的明文消息或等效的接口,用于使用EIP-191签名数据格式进行签名。在签名之前,消息前缀是EIP-191中定义的为\x19Ethereum Signed Message:\n。该消息必须包含以太坊地址、请求签名的域、消息的版本、链标识符chain-id、用于范围的uri、依赖方(relying party)可接受的nonce和发出的时间戳。
2 然后将签名提交给依赖方,由依赖方检查签名的有效性和消息内容。
3 其他字段,包括过期时间、not-before、请求id、语句和资源,可以被合并为登录过程的一部分。
4 依赖方可以进一步获取与以太坊地址相关的数据,例如来自以太坊区块链(例如,ENS,账户余额,EIP-20/EIP-721/EIP-1155资产所有权),或其他可能或可能不被允许的数据源。
事例消息

以太坊登录(EIP-4361)为以太坊账户定义了一种开放的创意共享(CC)签名格式,用户登录不需要使用用户名和密码的组合,只需用自己的私钥对消息进行签名,就完成了。并且可以安全地验证任何基于网络的服务。EIP-4361是在以太坊基金会和ENS的直接支持下,由社区创建的。

以太坊登录对 Web 3 的重要性?

对于Web3的所有建设者来说,以太坊登录比连接钱包(Connect Wallet)的意义要大得多。连接钱包是当前进入Web3 dapps 的主要方式。通过连接钱包,用户就可以开始和区块链进行交互,但连接钱包并没有使应用程序记录你的任何信息,只是为简单的交互创建了一个前端显示。而以太坊登录允许用户和应用程序之间建立会话(session),可以进行更为丰富的情景互动,安全地读写他们的数据。
我们用Connected Carl (使用连接的 Carl)和Session Sam(使用会话的 Sam)这两个例子来进行阐释。
“Connected Carl ”使用dapp。他可以在Uniswap上进行交易,在Aave上进行借贷,甚至在OpenSea上购买NFT,只需要连接他的钱包。一段时间,Carl的事情进行得相当顺利,直到有一天,他遇到了一个问题:他希望这些dapp能记住他,以便在他第三次、第四次、第五次使用这些dapp时,能给他更好的体验。
Carl在想,如果Uniswap能自动导入他的流动性偏好,Aave能记住他最喜欢的借贷市场,甚至OpenSea能记住他的名字而不是0x2Fe1a3…的账户,他的体验会好很多。但每次连接他的钱包时这些都要从头开始。
“Session Sam”就没有这个问题。在与dapps进行认证并建立会话后,这些信息被保存下来。即使Sam断开连接并再次认证,萨姆也会从他离开的地方继续,并且在应用程序中仍然记得关于他的一切。他的信息甚至可以保存在他控制的一个远程数据库中。

连接钱包的功能非常简单,仅仅是通知一下dapp,让它知道你正在使用的是哪个账户, dapp 也对你 毫无记忆,只是为简单的交互搭建了一个平台。但以太坊登录对用户进行身份验证,以便与他们建立一个 session,你和dapp之间进行的种种情境交互,会被安全地读写记录。

创建以太坊登录界面

钱包创建以太坊登录界面如下:
1 钱包实现者必须在默认情况下和签名之前向用户显示以太坊登录签名请求中的以下术语:域、地址、语句和资源。其他现有术语也必须在默认或通过扩展接口签署之前提供给用户。
2 钱包实现者向用户显示明文消息时,应该要求用户在签名前滚动到文本区域的底部。
3 钱包实现者可以通过将ABNF术语解析为接口中使用的数据元素来构建自定义的登录以太坊用户界面。上面的显示规则仍然适用于自定义界面。
在用户体验上,钱包可以呈现一个友好的风格化的界面,让用户体验更佳。例如通常给用户提示的签名信息是 LOGIN。相较而言,“使用以太坊登录”的信息较为杂乱,但我们可以把它用一种公认的通用方式来向用户提出请求。有了一个商定的签名信息格式之后,应用程序和钱包就可以说同样的语言。当应用程序向用户提出签名请求时,钱包就可以检查该请求,检查它是否适合作为EIP-4361消息,并让用户知道他们正在签署进入一个网站(由此也可以得到一个更简洁的界面)。
该规范还为钱包引入了额外的安全要求,如防止网络钓鱼攻击的域名绑定和防止重放攻击的nonce设置,用户在整个体验过程中得到进一步保护。例如,如果钱包发现一个有效的以太坊登录信息,但用户签署的是example.com,但实际上是在exampie.com,钱包可以警告用户这种情况。

解析ENS数据

EIP-4361与以太坊名称服务(ENS)巧妙集成。依赖方或钱包还可以对ENS数据进行解析,因为这可以通过显示与地址相关的人性化信息来改善用户体验。如果一个地址有一个主ENS名称,服务可以查找这个主ENS名称并基于它解析数据。例如,可以将自己的首选用户名、头像、电子邮件地址或其他任意信息存储在ENS名称中。这样就可以控制自己的数据,并且不需要web2服务来存储关于用户的这些信息。这可能会导致未来使用经过身份验证、签名的EIP-191消息登录到身份验证的应用程序成为标准,完全消除电子邮件/密码组合。
可解析的ENS数据包括:
主ENS名称。
ENS头像。
ENS文档中指定的任何其他可解析资源。
如果对ENS数据进行解析,实施人员应采取预防措施,以保护用户隐私和同意,因为作为解析过程的一部分,他们的地址可能被转发到第三方服务。文章来源地址https://www.toymoban.com/news/detail-740119.html

到了这里,关于详解EIP-4361:什么是以太坊登录|Tokenview的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 不同类型的以太坊区块链及其部署:区块链类型:公有链,联盟链,私有链、安装部署以太坊。

    根据区块链网络类型分类:私有链、联盟链、共有链。 主网:指在现实生活中使用的公有链,例如:比特币、以太坊。 测试网络:不消耗真正的以太币。如:eth、pyethAPP、Geth, Quorum:一致性协议采用:基于Raft的一致性协议和Istanbul BFT协议。(在支持拜占庭容错的环境下应该

    2024年02月04日
    浏览(30)
  • 区块链之以太坊

    对于以太坊中可能出现的replay attack对于账户中的每一笔交易都加上一个nonce值来记录这是第几次交易,然后将nonce值和交易一起进行签名,之后如果有人重放这笔交易,经过验证发现nonce值对应的交易已经执行过一次了,就不再执行了。所以全节点也应该保存每个节点的nonce值

    2024年02月13日
    浏览(29)
  • 以太坊区块链快速入门

    1.什么是以太坊? 以太坊是由社区驱动的技术,为加密货币以太币(ETH)和成千上万的去中心化应用程序提供动力。 属于所有人的银行服务 现实生活中不是每个人都能使用金融服务。但是只要您有网络,就可以访问基于以太坊的借贷和储蓄产品。 更好的隐私保护 使用以太坊

    2024年01月20日
    浏览(32)
  • 区块链技术以太坊简介

    区块链技术(也称之为分布式账本技术) ,是一种互联网数据库技术,其特点是去中心化,公开透明,让每一个人均可参与的数据库记录 ❤️💕💕关于区块链技术,可以关注我,共同学习更多的区块链技术。个人博客http://nsddd.top 我们通常说的区块链都是指的是 公链 ,私

    2024年01月16日
    浏览(31)
  • 区块链以太坊 - ethers教程

    上一篇文章我们讲到了使用以太坊官方的web3.js第三方工具和以太坊的truffle框架,以及利用nodejs的express框架实现对以太坊智能合约方法的调用。在这一篇文章中,我们将学习使用以太坊的另一种第三方工具ethers和以太坊的hardhat框架来编译部署合约,并且也实现对以太坊智能合

    2024年01月21日
    浏览(36)
  • 区块链工作原理(区块链治理系统、比特币、以太坊、智能合约)

    每个国家或者城市都有自己的一套治理系统来创建、更新和执行法律。区块链也都有自己的治理系统。总的来说,区块链治理可分为两类: On-Chain Governance Off-Chain Governance 链上治理是一个管理和实施加密货币区块链变化的系统。在这种类型的治理中,制定变化的规则被编码到

    2024年02月02日
    浏览(48)
  • 谈谈区块链入门技能(二):以太坊区块链浏览器如何使用?

    上一期我们介绍了比特币浏览器如何使用,本期我们来谈一谈什么是以太坊以及以太坊浏览器如何使用。 什么是以太坊? 以太坊是一个合作运行的、全球性的、透明的数据库。通过共同努力,来自世界各地的参与者维护了以太坊地址的公共记录,其中包括用户帐户和智能合

    2024年01月18日
    浏览(35)
  • 以太坊区块链网络部署及验证实验

    国科大2023秋季学期计算机网络实验,简单记录一下实验流程 在 Ubuntu 上安装 Go 1.19 版本可以通过以下步骤进行: 1.1 下载 Go 1.19 首先,打开终端。从 Go 语言的官方网站下载最新版本。使用 wget 或 curl 命令下载 Go 1.19 的 tarball。 确保下载链接是最新的,可以在 Go 语言官方下载

    2024年02月04日
    浏览(66)
  • 区块链技术学习笔记(14) 以太坊账户

    比特币系统中采用的是基于交易的账本,在这个模式下并不会显式记录每个账户上会存在多少钱,而是根据UTXO推断余额,既计算拥UTXO中有私钥的币总和,隐私保护较好,使用并不太方便(在交易的时候要证明每一个币的来源,并且在一次交易收到的币UTXO,消费的时候必须全

    2024年02月19日
    浏览(34)
  • 区块链基础原理和以太坊工作原理

    当我们谈论区块链的基础原理时,我们指的是一种分布式账本技术,它采用去中心化的方式记录和验证交易。区块链的核心概念包括分布式账本、区块、共识机制和加密算法。 1.分布式账本: 2.区块链是一种分布式账本,它将数据存储在多个计算机节点上,而不是集中存储在

    2024年02月20日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包