ioPay 上的账户抽象 —— DePIN 钱包

Account Abstraction on ioPay - the DePIN Wallet

ioPay(由 IoTeX 团队打造)非常激动地宣布账户抽象(Account Abstraction)功能正式上线!这使得 ioPay 成为市场上规模最大、经过实战检验的多链 AA 钱包。本篇博客将带您了解为什么 AA 如此重要、IoTeX 在 AA 领域的工作、ioPay 的具体实现,以及如何在 ioPay 上设置您的 AA 钱包。

为什么 AA 很重要

账户抽象是一个用来描述区块链网络架构发生根本性转变的术语。传统上,区块链账户只是与控制资金的私钥相关联的简单地址。然而,账户抽象引入了一种更复杂的模型,在这种模型中,账户不仅是资金的容器,还能够执行复杂的代码。本质上,账户抽象将资金管理和代码执行的角色分离开来,从而实现更加动态和强大的智能合约。这一转变使开发者能够通过在合约执行和交互方面提供更大的灵活性来创建创新型应用。就 ioPay 而言,AA 极大地简化了账户创建和账户恢复的流程。更不用说,AA 还为 ioPay 打开了许多此前根本无法实现的新功能大门。账户抽象的优势包括:

  1. 增强的灵活性:账户抽象在设计智能合约时为开发者提供了更强的灵活性。通过这种方法,开发者可以将资金控制与合约执行逻辑分离,从而构建更加动态和模块化的应用程序。
  2. 降低 Gas 成本:Gas 费用一直是区块链生态系统中的一个重大问题,阻碍了去中心化应用的可扩展性和普及。账户抽象有潜力通过优化智能合约的执行来降低 Gas 成本。这种优化是通过允许合约在无需多次交易的情况下执行来实现的,从而节省了计算资源。
  3. 改进的可升级性:传统智能合约一旦部署通常是不可变的,这使得修复漏洞或添加新功能变得十分困难。账户抽象引入了“合约可升级性”的概念,使开发者能够在不影响其功能的情况下更新和改进合约。这一特性对于长期维护和演进去中心化应用至关重要。
  4. 创新的用例:账户抽象为开发者解锁了一个全新的可能性领域,为创新用例铺平了道路。这包括去中心化金融(DeFi)、非同质化代币(NFT)等领域的应用。资金与代码执行的分离使得创建以往难以实现的更复杂、功能更丰富的应用成为可能。
  5. 提升的安全性:账户抽象引入的关注点分离可以增强智能合约的安全性。通过将资金管理与代码执行隔离开来,潜在的漏洞和攻击面得以减少,使恶意行为者更难以利用漏洞进行攻击。

IoTeX 模块化基础设施:DePIN 创新的推动者

IoTeX 是一个模块化的 Web3 基础设施平台,将智能设备和现实世界的数据连接到区块链。IoTeX 的中间件解决方案 W3bstream 提供对现实世界数据的计算和验证,将其带上链,同时提供构建者实现大规模采用所需的模块化和可定制性。作为 DePIN(去中心化物理基础设施网络)基础设施的领先提供商,IoTeX 为用户促成了来自设备以及链上/链下活动的新型奖励,将个人设备转变为共享经济体,并将“万物的数据”代币化。 IoTeX 背后拥有一支由 60 多名研究科学家和工程师组成的全球团队,结合其兼容 EVM 的一层区块链、链下计算中间件以及开放硬件,将数十亿智能设备、机器、传感器以及去中心化应用连接到物理世界和数字世界之中。当然,任何 DePIN 项目的关键组成部分之一就是移动钱包。因此,IoTeX 团队投入了大量时间打造 ioPay,使其成为首选的 DePIN 钱包(包括将DePINscan 集成到钱包中)。

loTeX Modular Infra as DePIN Innovation Enabler

IoTeX 一直站在众多高科技探索的最前沿,努力推动区块链和链下计算的可能性边界。AA 技术是 IoTeX 一直走在前列的另一个领域,早在 2023 年 9 月就获得了以太坊基金会的资助。具体来说,该资助是针对 ERC-4337 以及 IoTeX 在零知识账户抽象钱包方面所做的工作。

Empowering Innovation: ERC-4337


借助 zk-SNARK 证明技术,IoTeX 构建了一个可以通过密码授权的账户抽象钱包。zk-SNARK(零知识简洁非交互式知识论证)是一种密码学证明系统,使一方能够向另一方证明某个陈述为真,而无需透露该陈述有效性之外的任何额外信息。zk-SNARK 已被用于各种区块链应用,例如在专注隐私的加密货币 Zcash 中,使得交易能够在区块链上被验证和记录,而无需透露发送方、接收方的身份或涉及的交易金额。术语 zk-SNARK 有时被口语化地用来指代任何零知识证明系统,但严格来说,zk-SNARK 特指一种具有简洁证明大小、且证明方与验证方之间无需交互的特定零知识证明系统。

AA Details

如果您想体验 IoTeX 获得零知识账户抽象资助的 MVP(最小可行产品),可以通过以下链接进行测试:https://zk-wallet-demo.iotex.io。这个 Linktree 展示了 IoTeX 迄今为止在 AA 方面的所有工作。凭借 IoTeX 在账户抽象领域积累的专业知识,在 ioPay 中实现这一功能便顺理成章地成为了下一步。

ioPay 对账户抽象的实现

ioPay 一直非常注重安全性和用户体验,而账户抽象的实现进一步增强了这两方面。ioPay 目前支持 Gmail AA 登录。在不久的将来,ioPay 计划实现其他 AA 认证方式。在将此功能构建到 ioPay 中的过程中,团队利用 P256 来验证钱包交易,并使用基于电子邮件的 DKIM 协议来恢复用户账户。DKIM(域名密钥识别邮件)是一种电子邮件认证方法,它使用数字签名让邮件接收者知道该邮件是由域名所有者发送并授权的。一旦接收方确认邮件带有有效的 DKIM 签名,就可以确认邮件内容未被篡改。因此,我们可以在链上合约中验证 DKIM 签名用户,并恢复用户的 ioPay 账户。P256 使用 secp256r1 椭圆曲线,这是一种被广泛接受的密码学标准,可以应用于 EVM,为交易/智能合约创建安全的身份验证和签名机制。目前大多数现代设备和应用都依赖“secp256r1”椭圆曲线。例如:

  1. 苹果的安全隔区(Secure Enclave):苹果硬件中存在一个独立的“可信执行环境”,它可以对任意消息进行签名,并且只能通过生物识别来访问。
  2. Webauthn:Web 身份验证(WebAuthn)是万维网联盟(W3C)发布的一项网络标准。WebAuthn 旨在标准化一种使用公钥密码学对 Web 应用和服务进行用户身份验证的接口。几乎所有现代网页浏览器都在使用它。
  3. Android 密钥库(Keystore):Android Keystore 是一种管理私钥和签名方法的 API。在使用 Keystore 作为应用签名方法时,私钥不会被处理。此外,这一过程可以在微芯片的“可信执行环境”中完成。
  4. 密钥密(Passkeys):Passkeys 利用了 FIDO 联盟和 W3C 标准,用密码学密钥对取代了密码,这些密钥对同样可以用于椭圆曲线密码学。由于 IoTeX 网络已经支持在“secp256r1”椭圆曲线上执行签名验证的预编译合约,因此基于苹果的安全隔区和 Android Keystore、以恒定的 Gas 成本为基础,构建 ioPay AA 钱包的验证逻辑是合乎逻辑的。通过利用设备的安全隔区/密钥库和生物识别技术,我们可以实现高度安全的 AA 钱包。为鼓励用户使用这些新的 AA 钱包,在限定时间内,IoTeX 每天为使用 ioPay AA 钱包的用户提供 2 个 IOTX,用于支付 Gas 费用。如果 ioPay 用户持有 MachineFi NFT,则每天可获得 10 个 IOTX 用于支付 Gas 费用,作为 MachineFi NFT 持有者的额外权益。

如何在 ioPay 中设置 AA 钱包

步骤 1)下载 ioPay,然后点击创建 AA 钱包。

点击创建 AA 钱包。

步骤 2)输入一个 Gmail 邮箱地址

输入一个 Gmail 邮箱地址

步骤 3)您会收到一封包含唯一验证码的邮件

步骤 4)恭喜信息 + 用户获得 2 个 IOTX 奖励,以此激励用户使用此新功能。(对于从未使用过 Iotex 的新用户来说非常棒,因为他们可以获得原生代币)

恭喜信息 + 用户获得 2 个 IOTX 奖励,以此激励用户使用此新功能。(对于从未使用过 Iotex 的新用户来说非常棒,因为他们可以获得原生代币)

步骤 5)用户返回主页,即可执行任何交易或使用任何利用 AA 钱包的 dApp。

用户返回主页,即可执行任何交易或使用任何利用 AA 钱包的 dApp。

6)用户每天每人可获得 2 个 $IOTX(普通 AA 用户),如果他们同时持有 MachineFi NFT,则每天每人可获得 10 个 $IOTX。

用户每天每人可获得 2 个 $IOTX(普通 AA 用户),如果他们同时持有 MachineFi NFT,则每天每人可获得 10 个 $IOTX。