Flow区块链上的账户抽象——综合概述

  • QuickNode
  • 发布于 2025-01-17 11:24
  • 阅读 36

本文介绍了账户抽象的概念,以及如何在Flow区块链上实现账户抽象,包括Flow的账户模型,账户链接,以及与以太坊的账户抽象的比较。账户抽象旨在简化Web3的用户体验,降低用户与区块链交互的门槛。

概述

随着加密技术的不断发展和增长,开发者们正在寻找方法,以便能够持续地将大众引入 Web3。账户抽象(Account Abstraction)是旨在解决当前许多 UX 和钱包局限性的解决方案之一。账户抽象旨在减少用户与 Web3 交互时的摩擦。在本指南中,你将了解更多关于账户抽象的信息,它旨在解决什么问题,它如何在 Flow 上工作,涵盖了像 Flow 账户模型、账户链接等概念,然后将其与它在以太坊上的工作方式进行比较。

让我们开始吧!

你需要的知识

你将学到的

  • 了解账户抽象
  • 账户抽象如何在 Flow 上工作
    • Flow 账户模型
    • 账户链接 & AuthAccount
  • 账户抽象如何在以太坊上工作 (ERC-4337)

什么是账户抽象?

正如其名称本身所表达的那样,账户抽象旨在“抽象”掉钱包(又名账户)的许多复杂性和管理,以使 UX 对用户来说更简单。通常,今天想要在 Web3 中进行自我托管的用户必须记住并保护他们的私钥。如果你丢失了对私钥或助记词的访问权限,这可能会很危险。此外,对于今天的自我托管钱包,许多流程仍然可以改进,例如批量处理交易和代表他人支付交易费用。账户抽象旨在改善用户的这种 UX,使其更有可能将下一波大众引入 Web3。

Flow 上的账户抽象

Flow 账户模型

Flow 的账户模型旨在优先考虑用户的资产所有权和访问权限,同时确保强大的安全性。与其他区块链系统不同,Flow 通过从不同的架构(例如,以太坊账户和智能合约)中提取有价值的见解,改进了传统的账户管理方式。此模型仍然围绕智能合约,但具有重大改进。例如,Flow 以其访问管理功能而著称。与以太坊和其他基于 EVM 的平台限制用户每个账户仅使用一个密钥不同,Flow 允许每个账户使用多个密钥。这种多密钥功能不仅可以通过在出现风险时启用密钥轮换来提高安全性,而且还使用户可以从多个设备管理其账户,而不会冒密钥泄露的风险。

Accounts Flow

图片来源: Flow Account Abstraction

上图展示了 Flow 的账户模型,以及如何在任何设备上访问你的账户,每个设备都包含其自己唯一的密钥。

此外,Flow 集成了密钥权重的概念。这意味着不同的密钥可以对账户具有不同程度的影响或权限,从而可以实现某些操作需要在执行前需要多个签名的情况。EVM 平台上没有此功能,导致用户求助于可能昂贵且有风险的智能合约钱包。Flow 在与各种加密签名算法的兼容性方面也很出色,允许用户在广泛使用的设置或特定于加密的设置之间进行选择,从而确保在硬件和安全性方面具有更大的灵活性。

Account Weights

图片来源: Flow Account Weights

上图展示了密钥权重以及如何将其设计为需要 N 个权重才能发送交易。要更深入地了解 Flow 上的账户,请查看此文档

社交恢复

丢失对数字钱包的访问权限可能会让人感到压力,但在 Flow 上,你不必牺牲安全性或所有权。Flow 支持社交恢复,允许你利用你的朋友或服务来恢复你的 Flow 账户。

赞助交易费用

如果有人赞助他们,新的或当前的用户不必担心支付 gas 费。通过交易中的付款人角色,应用程序、钱包或用户都可以支付交易成本。在今天的 Flow 生态系统中,大多数应用程序代表其用户赞助交易费用。

多重签名交易

无论你是与他人一起控制钱包,并且希望在发送交易之前获得一些安全性,还是代表协议执行治理提案,授权者角色都允许交易由多个密钥共同签名,这些密钥可以来自同一账户或不同的账户。

并行交易

你不再需要等待一个交易被确认后才能发送另一个交易。通过交易中的提议者角色,应用程序或用户可以并行执行交易或控制执行交易的顺序。如果你想同时在应用程序上提交多个购买,或者如果你正在与另一个应用程序交互并且想要同时与另一个协议交互,那么这个概念也很有用。

无钱包入门

为了解决我们今天在 Web3 中遇到的许多痛点,例如保存你的助记词、管理钱包连接以及频繁批准链上交易。Flow 提供了一个名为 无钱包入门的解决方案。

无钱包入门使开发人员能够代表用户使用电子邮件或社交登录在应用程序内创建 Flow 账户。无钱包入门还允许用户使用传统支付方式(例如,借记卡、信用卡)进行支付,并通过代表用户签署交易来获得更无缝的应用程序体验。

一些已经实施了这种类型的入门的项目包括 Blocto,你可以通过使用电子邮件轻松创建一个账户。但是,此过程的一些缺点包括失去可组合性,这带走了 Web3 使用户能够实现的许多好处。此外,无钱包入门使用户更难将数字项目移出应用程序,并且如果应用程序遇到问题,项目可能会丢失。

账户链接

就其核心而言,Flow 中的账户链接概念在于共享对账户的控制权。将其视为两个账户之间建立特殊连接的一种方式,其中一个账户可以对另一个账户拥有特定的权限。这种共享机制围绕着 Flow 框架内的两种主要类型的账户访问展开。第一种类型是 PublicAccount。将其视为一个显示窗口——它让你查看关键详细信息,例如账户的地址或余额,但你无法对里面的内容进行任何更改。

另一方面,AuthAccount 具有完全访问权限。你不仅可以查看所有细节,类似于 PublicAccount,还可以进行更改,有点像拥有一把房间的特殊钥匙以及重新布置房间的权限。

现在,AuthAccount 的力量不仅仅在于查看和编辑。这种类型的账户可以创建和使用Capabilities。将 capabilities 想象成特殊的通行证,可让账户将某些操作或访问权限委派给另一个账户。因此,当我们谈论账户链接时,发挥作用的就是这种 capability 功能。一个账户(父账户)可以创建此特殊通行证并将其授予另一个账户(子账户)。这两个账户之间的这种联系分两个主要步骤形成:首先,子账户创建此通行证并将其提供给父账户。然后,父账户接受并声明此通行证,实际上就是链接了这两个账户。

Linking Account

图片来源: Flow Account Linking

但是,为什么要经历所有这些链接账户的麻烦呢?考虑一个想要加入 Flow 上应用程序的新用户。通常,他们需要经历设置钱包的麻烦,这可能会让他们望而却步。通过账户链接,他们可以直接进入体验,而无需设置钱包。这种链接不会只停留在一个应用程序;用户可以将多个应用程序账户链接在一个主账户下,从而简化他们的整体体验。最重要的是什么?他们可以真正拥有和控制他们在不同应用程序中的数字资产,同时保持一切安全和无缝。但是,与任何强大的工具一样,必须明智地使用账户链接,以确保安全和信任。

以太坊与 Flow 上的账户抽象

在以太坊区块链生态系统的背景下,账户抽象旨在消除外部所有账户 (EOA) 和智能合约账户之间的区别。通常,以太坊区块链用户必须管理私钥和公钥才能访问和控制其账户。通过账户抽象,通过使用智能合约来验证账户的身份和功能,从而减少了对私钥和公钥的依赖。

外部所有账户 (EOA) 可以发起交易,但不能包含代码,而智能合约账户包含代码,但不能自行发起交易。与 Flow 相比,每个账户可以包含多个智能合约,并且每个账户都有其存储空间,可以直接通过交易和脚本进行读取和写入。Flow 使用“资源”,这些资源保证所有权,并且可以存储在账户的存储空间中或在账户之间发送。这使得抽象更加以用户为中心,专注于用户与各种 dapps 交互的能力。Flow 的账户模型抽象了管理单独的合约和用户账户的许多复杂性,从而使开发人员更容易构建,用户更容易交互。

要更深入地了解以太坊的账户抽象设计,请查看以下指南:

使用 QuickNode 在 Flow 上构建

QuickNode 自豪地支持 Flow 区块链,并允许你创建一个 Flow 端点并开始快速构建。在此处创建一个帐户 这里 并查看我们的文档,以获取有关如何与你的端点交互的分步指南。

创建 Flow 端点后,你需要做的就是复制你的 HTTP Provider URL 并将其插入到你的 dApp 或脚本中。

Flow Endpoint on QuickNode

更多资源

要了解更多信息,请查看以下资源列表:

总结

正如你所了解的,账户抽象旨在弥合传统互联网用户体验 (Web2) 和去中心化互联网 (Web3) 之间的差距,使其对更广泛的受众更友好且更易于 접근.

这里有它!你现在已经更深入地了解了 Flow 上的账户抽象,以及它如何旨在解决我们今天在用户钱包中面临的许多挑战。

如果你有任何疑问,请随时使用我们在 Discord 上的专用频道,或使用下面的表格提供反馈。通过在 Twitter 和我们的 Telegram 公告频道 上关注我们,了解最新信息。

我们 ❤️ 反馈!

如果你对新主题有任何反馈或要求,请告诉我们。我们很乐意听到你的声音。

  • 原文链接: quicknode.com/guides/flo...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。