让 Web3 认证拥有和 Web2 一样丝滑体验的技术路径

目录

前言

让 Web3 认证拥有和 Web2 一样的体验

ERC 4337 以太坊账户抽象

Web3Auth

UniPass 


前言

在 Web2 中,我们可以通过 1password、google 密码管理等程序帮助管理密钥。但助记词和私钥的使用大多比较强调离线备份,或者存放在硬件钱包里,或者采用更加安全的多签等技术。这些对于专业用户来说还好,对于 Web3 用户来说就有一些难度了。

我们是否可以像 Web2 那样保管密钥?不需要抄写,不需要硬件。即安全,又可以快速的恢复?

对于不同的使用需求,可以有不同的密钥管理策略,大额资产可以使用专业级安全方案。社交应用就使用一些便捷的方法,这样的角色授权分离,也让我们在使用不同应用时不至于过多的担心安全和隐私问题。

让 Web3 认证拥有和 Web2 一样的体验

前面提到的很多问题,以及相对应的解决方案,我们目前看有一些 Web3 项目已经在试图解决。

如果想让 Web3 的使用体验与 Web2 类似,个人认为需要合约钱包的大范围应用,这会实现目前很多不能实现的体验。比如恢复密钥、无费用交易、多账户风险隔离等等。

ERC 4337 以太坊账户抽象

ERC4337 是以太坊关于账户抽象的一个提案。它的提出主要目的是在不更改共识层协议的情况下,将用户账户升级为合约账户,这样做会带来非常多的好处。

目前,以太坊的账户类型分为外部账户(EOA)和合约账户。ERC4337 的账户抽象方案,提出将两种账户类型减少为一种,即只保留合约账户。

ERC4337 实现的账户抽象方案,可以为用户带来以下体验提升:

  • 支持社交恢复

:这个方案支持用户为钱包账户设置多个守护者,可以在丢失密钥的情况下帮助恢复钱包密钥。守护者可以是用户拥有的其他安全钱包、家人或朋友,甚至是第三方机构。

这个功能可以让用户的钱包账户更加安全,避免由于不理解助记词/私钥原理,或保管不善而导致的意外丢失。可以像 Web2 一样管理应用的账户,在发现不安全因素或丢失密钥时,对钱包账户的密钥进行找回和重置。

  • 支持代建账户/代付手续费

:这一功能可以让应用帮助用户支付创建账户的 gas 费,也可以帮助用户代付交易手续费。甚至使用任意的 ERC20 代币支付交易手续费。简单说用户不需要自己入金就可以完整的体验 Web3 应用。

这对普通用户来说非常有效,他们不需要支付创建账户的费用,甚至一些交易也不需要付费。这可以实现 0 门槛用户引流,并为用户建好安全的 Web3 钱包。对于游戏和社交类应用,尤其好用。

  • 支持账户升级

:账户抽象的钱包是由智能合约控制,因此可对合约功能进行升级,可实现用户高度可自定义的能力,比如简化/个性化签名算法等。

对于 ERC4337 的实现,Vitalik 给出了一个路线图,其中包括:

短期:

  • 让 ERC-4337 投产,支持将 EOA 升级为智能合约账户
  • 支持 ERC4337 账户的易用的浏览器插件钱包
  • 实施对 Layer 2 友好的功能,短期在 Layer 2 中推广 ERC4337 应用

中期:

  • 实施 Verkle 树,降低 gas 成本
  • 添加可选的 EOA 到 ERC4337 的转换
  • 添加 crLIst 逻辑

长期:

  • 考虑强制实行 EOA 转换,和单一的 ERC4337 账户

Web3Auth

Web3Auth 提供了一种与 Web2 类似的社交认证方法,可以让 Web3 认证保持与 Web2 一致的使用体验。

Web3Auth 是一项 toB 的应用,需要应用程序自主集成和配置后,用户才能体验到相应的认证体验,包括:

  • 主流社交帐户登录和无密认证

:用户可通过 Google、Twitter、GitHub 和其他 OAuth 提供商进行注册。用户还可以通过发送电子邮件的方式,进行无密码设置的注册流程。

  • 支持 Web3 钱包与密钥管理

:可授权用户使用自主选择的钱包或密钥管理。比如用户可以使用他们现有的钱包登录或选择密钥管理(导入助记词),并将其直接连接到应用程序。

Web3Auth 可以为用户提供类似 Web2 的注册和认证体验,只需要通过第三方社交认证即可完成。

同时,Web3Auth 还支持非托管的公钥基础设施(SSS 2/3 Shamir's Secret Sharing),这种方式极大方便了不懂管理密钥的用户,同时做到既是非托管钱包(用户完全自主掌握资产),又无需用户自行保管密钥。

如果觉得这种非托管方式不够安全,用户也可选择采用自己常用的钱包进行链接登录,比如 ledger、phantom 等。浏览器插件钱包 keplr 就是用 Web3Auth 扩展,用户可自行体验。

UniPass 

UniPass 是多链统一加密身份应用,提供基于电子邮件的非托管社交恢复钱包解决方案。可以通过无密钥的方式控制用户的加密身份。还可以通过加密方式验证多链地址甚至社交帐户。

在前端功能上,UniPass 与 Web3Auth 类似,都有提供社交认证、社交恢复钱包等功能。相对已实现功能,UniPass 的 2022 年产品规划中提到的能力,与本文锁期望的去中心化身份演进有很多契合之处,其中包括:

  • Web3 身份聚合

:基于密码学实现多链多账户的聚合。通过这种聚合方式,可以将用户在不同链上不同地址的行为聚合到一个身份 ID 中,实现信任的传递。简单说就是可以最大程度提升用户的链上行为评分。

  • Web2 身份验证

:在智能合约中提供验证电子邮件地址、Twitter 账户、Discord 账户的能力,从而在 Web3 中原生提供 Web2 身份信息。

你可能感兴趣的:(区块链)