使用以太坊登录:中心化身份提供商的替代方案

ChinaDeFi

    电子邮件/密码登录的时代即将结束。
    
    通常在登录“web2”服务时,我们需要使用用户名或电子邮件地址和密码。然后,该服务可以在他们的内部数据库中查找我们的用户名或电子邮件地址,看看相应的密码是否与我们提供的密码匹配。生成用于进一步身份验证的随机密钥,通常存储在cookie中。
    一个新的规范EIP-4361:用以太坊登录,希望通过使用web3服务(如钱包和dapps)常用的方法来改变我们登录web2服务的方式。
    它是如何工作的?
    EIP-4361描述了使用签名消息的现有web2服务的身份验证方法。用户可以使用自己的私钥(带有相应的地址)进行身份验证,而不是使用用户名和密码的组合。例如,可以使用自己的私钥对这样的消息进行签名:
    
Example.com wants you to sign in with your Ethereum account:
    0x4bbeEB066eD09B7AEd07bF39EEe0460DFa261520
    URI: https://example.com/login
    Version: 1
    Chain ID: 1
    Nonce: 12345
    Issued At: 2021-11-01T12:25:24Z
    

    
    在MyCrypto上签署身份验证消息。
    EIP-4361使用增强的Backus-Naur表单(ABNF)为这些身份验证消息定义了一种标准化格式,想要登录的服务可以对这些消息进行验证。该格式遵循EIP-191规范,该规范已经得到许多钱包的广泛支持。登录不需要密码,只需用私钥对消息进行签名,就完成了。服务器可以验证消息并生成密钥存储在cookie中。
    使用ENS分散数据
    EIP-4361与以太坊名称服务(ENS)巧妙集成。如果一个地址有一个主ENS名称(也称为反向记录)集,服务可以查找这个主ENS名称并基于它解析数据。例如,可以将自己的首选用户名、头像、电子邮件地址或其他任意信息存储在ENS名称中。ENS还允许用户指定其他网络的地址,如比特币和莱特币:
    
    与ENS名称相关的一些可能的字段。
    这样就可以控制自己的数据,并且不需要web2服务来存储关于用户的这些信息。这可能会导致未来使用经过身份验证、签名的EIP-191消息登录到身份验证的应用程序成为标准,完全消除电子邮件/密码组合。
    
    这个模型本质上是一个去中心化的、100%正常运行的、用户数据所有的“Gravatar”。数据不是由一个私有实体持有,而是发布到以太坊区块链供应用程序使用。用户将在多个应用程序中拥有一个身份,所有应用程序都通过用户的签名钱包进行身份验证。
    Source:https://blog.mycrypto.com/sign-in-with-ethereum-an-alternative-to-centralized-identity-providers/