本文介绍了账户抽象(Account Abstraction)在Flow区块链上的应用,讨论了如何解决用户在Web3中的体验和钱包管理的复杂性。文章详细说明了Flow帐户模型与以太坊的比较,涉及多重签名、社交恢复及无钱包入门等概念,使用户能够更轻松地进入Web3世界。
随着加密技术的不断发展,开发者们正在寻找方法,以便将大众继续引入 Web3。旨在解决许多当前用户体验和钱包限制的解决方案之一是 Account Abstraction(账户抽象)。Account Abstraction 旨在减少用户与 Web3 交互之间的摩擦。在本指南中,你将了解更多有关 Account Abstraction 的信息,它旨在解决的问题、在 Flow 上的工作方式,涵盖诸如 Flow 账户模型、账户链接等概念,并将其与在以太坊上的工作方式进行比较。
让我们开始吧!
顾名思义,Account Abstraction 旨在“抽象”掉许多钱包(也称为账户)的复杂性和管理,以使用户体验更简单。通常,今天想要在 Web3 中自我托管的用户必须记住并保护他们的私钥。这在你失去对私钥或种子短语的访问时可能是危险的。此外,在当前的自我托管钱包中,许多过程仍然可以改进,例如批量交易和为他人支付交易费用。Account Abstraction 旨在改善用户的用户体验,更有可能将下一波大众引入 Web3。
Flow 的账户模型旨在优先考虑用户对资产的拥有权和访问权限,同时确保强大的安全性。与其他区块链系统不同,Flow 通过从不同架构(例如以太坊账户和智能合约)获取有价值的见解,改造了传统的账户管理方式。该模型仍然基于智能合约,但具有显著的改进。例如,Flow 以其访问管理功能而独树一帜。它允许每个账户拥有多个密钥,而不是像以太坊和其他基于 EVM 的平台那样限制用户每个账户只有一个密钥。这种多密钥功能不仅通过在面临风险的情况下启用密钥轮换来提供更好的安全性,同时也使用户能够在多台设备上管理他们的账户,而不会面临密钥暴露的风险。
图片来源:Flow 账户抽象
上面的图展示了 Flow 的账户模型,以及你如何在任何设备上访问你的账户,每个设备都有其独特的密钥。
此外,Flow 还整合了密钥权重的概念。这意味着不同的密钥可以对账户具有不同程度的影响或权限,允许在执行某些操作之前可能需要多个签名的场景。此功能在 EVM 基础的平台上不存在,导致用户不得不诉诸于潜在昂贵和风险的智能合约钱包。Flow 还在其与多种加密签名算法的兼容性方面表现突出,使用户能够在广泛使用的配置或特定于加密的配置之间进行选择,从而确保在硬件和安全性上的更大灵活性。
图片来源:Flow 账户权重
上面的图展示了密钥权重及其如何被设计为需要 N 权重才能发送交易。要进一步了解 Flow 上的账户,你可以查看此 文档。
失去对数字钱包的访问可能会令人烦躁,但使用 Flow,你不必在安全性或拥有权上妥协。Flow 支持社交恢复,允许你利用朋友或服务来恢复你的 Flow 账户。
新的或当前的用户不必担心如果有人赞助他们就要支付Gas费。凭借交易中的支付者角色,应用程序、钱包或用户都可以支付交易费用。在今天的 Flow 生态系统中,大多数应用程序为其用户赞助交易费用。
无论你是与他人共同控制一个钱包,想要在交易发送之前确保一定的安全性,还是代表一个协议执行治理提案,授权者角色允许交易由多个密钥共同签名,既可以来自同一个账户,也可以来自不同账户。
你不必再等待一个交易获得确认后再发送另一个。通过交易中的提议者角色,应用程序或用户可以并行执行交易,或者控制交易的执行顺序。如果你希望同时在一个应用程序上提交多个购买,或者你正在与另一个应用程序互动,希望同时与另一个协议互动,这种概念也是非常有用的。
为了帮助解决我们今天在 Web3 中所面临的许多痛点,例如保存种子短语、管理钱包连接以及频繁批准链上交易,Flow 提供了一个名为 无钱包入门 的解决方案。
无钱包入门允许开发人员代表用户使用电子邮件或社交登录创建应用内部 Flow 账户。无钱包入门还允许用户使用传统支付方式(例如,借记卡、信用卡)进行支付,并通过代表用户签署交易来提供更无缝的应用体验。
已经实施这种入门流程的一些项目包括 Blocto,你可以轻松地通过电子邮件创建账户。然而,这一过程的一些缺点包括失去组合性,这取消了 Web3 为用户提供的许多好处。此外,无钱包入门使得用户更难将数字物品转移出应用程序,如果应用程序出现问题,物品可能会丢失。
在 Flow 中,账户链接 的核心概念就是共享对账户的控制。可以将其视为两个账户之间的特殊连接,其中一个可以对另一个授予特定权限。这种共享机制主要围绕 Flow 框架中的两种主要账户访问类型展开。第一种类型是 PublicAccount
。可以把它想象成一个展示窗口 - 让你看到像账户地址或余额等关键细节,但你无法对其内部进行任何更改。
另一方面,AuthAccount
拥有完全访问权限。你不仅可以查看与 PublicAccount
相似的所有细节,还可以进行更改,有点像拥有一个可以进入房间并能够重新安排物品的特殊钥匙。
现在,AuthAccount
的功能不仅限于查看和编辑。这种类型的账户可以创建并使用 能力。想象能力如同特殊通行证,让一个账户可以将特定操作或访问权委托给另一个账户。因此,当我们谈论账户链接时,正是这个能力特性在起作用。一个账户(父账户)可以创建这个特殊通行证并给予另一个账户(子账户)。这两个账户之间的连接是通过两个主要步骤形成的:首先,子账户创建这个通行证并提供给父账户,然后,父账户接受并声明这个通行证,从而将两个账户链接在一起。
图片来源:Flow 账户链接
但为什么要费心链接账户呢?想象有一个新用户想要加入 Flow 上的一个应用程序。通常,他们需要经历设置钱包的麻烦,这可能会让他们感到沮丧。通过账户链接,他们可以直接进入体验,而无需设置钱包。这种链接不仅局限于一个应用;用户可以在一个主账户下链接多个应用账户,简化他们的整体体验。而最重要的是,他们可以真正拥有并控制跨不同应用的数字资产,同时保持一切安全无缝。然而,和任何强大的工具一样,账户链接必须明智使用,以确保安全和信任。
在以太坊的区块链生态系统中,Account Abstraction 旨在消除外部拥有账户(EOAs)和智能合约账户之间的区别。通常,以太坊区块链用户必须管理私钥和公钥以访问和控制他们的账户。通过 Account Abstraction,这一对私钥和公钥的依赖被减少,转而使用智能合约来验证账户的身份和功能。
外部拥有账户(EOAs)可以发起交易,但不能包含代码,而智能合约账户包含代码,但不能自主发起交易。与 Flow 相比,每个账户可以包含多个智能合约,并且每个账户都有其存储,这可以被交易和脚本直接读取和写入。Flow 使用“资源”,确保拥有权,可以存储在账户的存储中或在账户之间发送。这使抽象更以用户为中心,专注于用户与各种去中心化应用进行交互的能力。Flow 的账户模型抽象掉了很多管理单独合约和用户账户的复杂性,让开发者更容易构建,用户更容易交互。
要深入了解以太坊的 Account Abstraction 设计,请查看以下指南:
QuickNode 自豪地支持 Flow 区块链,允许你创建一个 Flow 端点并快速开始构建。你可以在 这里 创建一个免费账户,并查看我们的 文档,按照分步指导与你的端点进行交互。
创建 Flow 端点后,你只需复制你的 HTTP 提供者 URL,并将其插入到你的 dApp 或脚本中。
要了解更多,请查看以下资源列表:
正如你所了解到的,Account Abstraction 旨在弥合传统互联网用户体验(Web2)与去中心化互联网(Web3)之间的差距,使其对更广泛的受众更加用户友好和可接近。
你了解了!你现在对 Flow 上的 Account Abstraction 有了更深入的理解,以及它如何旨在解决我们今天与用户钱包相关的许多挑战。
如果你有任何问题,可以随时在 Discord 上使用我们的专用频道或通过下面的表单提供反馈。通过关注我们的 Twitter 和我们的 Telegram公告频道,随时了解最新动态。
让我们知道 你是否有任何反馈或对新主题的请求。我们非常乐意听取你的意见。
- 原文链接: quicknode.com/guides/oth...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!