Rhinestone Automations 是一种链下服务,用于监控链上和链下事件,并在满足预定条件时触发智能账户执行。它包含触发器、自动化管理器、API 和 SDK 四个主要组件,通过 Smart Sessions 实现安全的用户授权,并可与 Executor Modules 结合实现更复杂的自动化功能,适用于 DeFi 自动化、高级保证金账户管理等多种场景。
智能账户允许用户授权第三方服务代表他们行事。我们在最近的 Smart Sessions 公告中已经介绍了这一点。这可以解锁我们广泛标记为“账户自动化”的产品类别。例如,一些 DeFi 产品可能属于此类——DCA、TWAP、自动再平衡和清算策略。为了实现这一点,开发者需要一种服务,可以在这些受信任的第三方和账户之间安全地传输数据,从而实现预期的链上执行。
隆重推出 Rhinestone Automations。
一种链下服务,用于监控事件(链上和链下),并在预定条件下触发智能账户执行。目前,Rhinestone Automations 支持基于时间和链上的事件。
构建自动化智能账户执行非常复杂。集成数据源、创建条件触发器、密钥管理、动态 userop 构建以及与所需交易基础设施的交互。Rhinestone Automations 解决了所有这些问题。
我们很高兴与开发者合作,为以下领域的新产品提供支持:
Rhinestone Automation 由四个主要组件组成:
根据提供的条件安排自动化的组件。触发器由两个要素组成:触发器数据,这是用户提供的任意数据集;以及触发器源,它是对服务的包装,用于监控相关数据源,以确定用户提供的条件何时为真。
目前,我们有预构建的“Rhinestone Triggers”,包括基于时间和链上的事件。但是,该服务的构建方式使得任何人都可以贡献自定义触发器。在 beta 期间,我们将维护这些触发器并接受客户请求。一旦退出 beta,我们将开放外部触发器。
一个协调层,可以创建触发器、删除触发器,并代表用户响应触发器执行。当触发器被触发时,自动化管理器通过编译相关的 calldata,将其转换为 userop,使用 session key 签名,然后将 userop 提交给 bundler 以便将其放在链上来响应。
一些自动化在初始配置时具有未知的变量。例如,我希望在 Z 条件下在 Y DeFi 库中重新平衡我 X% 的头寸。在执行此自动化时,交易价值取决于 X 以及自设置策略以来所赚取的底层代币价格和收益。因此,只有在执行时才能知道精确的执行。我们使用动态 calldata 构建器解决了这个问题,该构建器只能包含用户配置的函数选择器(由应用程序开发人员定义),以确保用户安全。如果动态 Calldata 构建器返回对不同函数的调用,则自动化将失败。
应用程序和自动化服务之间的通信层。它允许开发人员为用户创建自动化服务的 API 密钥,创建和删除触发器,以及创建和删除自动化。
一个 typescript 库,用于与 Rhinestone Automations API 和任何预构建的触发器交互。函数包括 API 用户管理(创建、更新、删除和获取 API 用户)和自动化管理(创建、删除、获取自动化、提供触发器数据和触发器源)。
有关更多详细信息,请参阅我们的文档。
为了使 Rhinestone Automations 正常工作,该服务需要能够代表用户签署自动交易。这引入了信任和安全问题。
有很多方法可以解决交易执行服务的签名要求,例如 co-signer 模型、MPC 或更集中的密钥管理解决方案。每种解决方案都有优点和缺点,我们不会对此进行讨论。对于 Rhinestone Automations,我们采用 Smart Sessions,这是一种高度可互操作和可组合的链上机制,用于用户提供的委托。使用 Smart Sessions 的优势在于,每个自动化都与一个范围严格的 session key 相关联。此解决方案是自我托管的,对可验证的链上委托系统(Smart Session Manager)的信任假设最小化。
Smart Sessions 具有可组合和可扩展的框架,允许开发人员混合和匹配现有组件(验证模块和策略)或构建定制组件以实现新颖的产品体验。例如,可以使用 passkey 或 ECDSA 验证器对委托进行签名,并且链上权限控制可以显式地控制自动执行的授权。
最终的好处是,这种架构允许开发人员利用 Rhinestone Automations 进行 session key 管理。假设开发人员要为其自动化构建后端。在这种情况下,他们需要开发监听事件和处理交易的服务,以及存储密钥材料和签署这些交易的系统。Rhinestone Automations 可以全面满足你的需求。
简单的自动化可以通过 session key(即 Smart Sessions)和自动化服务来实现。例如,计划的转移只需要一个 session key,自动化服务直接针对智能账户启动交易。
但是,更复杂的自动化可能需要具有多个步骤的自定义逻辑以及对返回值做出反应的能力。为此,我们建议使用 ERC-7579 执行器模块来扩展智能账户的逻辑,以执行更复杂的操作。一个简单的说明性示例是自动保存功能,该功能将收到的任何 ERC-20 的 10% 转换为 DAI 并存入 ERC-4626 库。
使用执行器模块构建复杂自动化有两个好处:
我们已经开发了一小部分执行器作为我们的 Core Modules 产品的一部分,以启动账户自动化的开发。
设置一个基本加粗经常性付款,其 session key 的范围限定为目标地址、代币类型、最大价值和速率限制(使用 Smart Sessions)和带有基于时间的触发器的 Automations 服务。
允许用户选择一组目标存储库,并使用简单的最大化函数来获得收益。权限通过 Smart Sessions(目标地址、受限函数和限制)处理,而执行器模块用于在需要时移动资金和交换代币。可以将 Automations 服务设置为:a) 安排经常性的公式化再平衡和/或 b) 监听数据预言机,这些预言机通知存储库 APY 和代币价格以进行有条件再平衡。
如今,有几种借记卡选项要求用户管理单独的智能账户(例如,Gnosis Pay)。问题在于,用户必须不断充值其专用的借记卡账户,以确保有足够的资金可用于交易。同样,使用 Smart Sessions,“计划转移”模块和 Rhinestone Automations,可以设置有条件的借记卡账户充值,以确保账户价值始终高于 X(例如,200 欧元)。
智能账户使用户能够以信任最小化的方式授权第三方服务代表他们进行交易,从而开启了一种新的 UX 增强型 web3 功能范例。但是,创建账户自动化和异步签名需要的不仅仅是一个 session key。集成数据源、创建条件触发器、密钥管理、userop 构建以及与所需交易基础设施的交互都可以通过 Rhinestone Automations 无缝管理。
要开始使用,请联系以获取 API 密钥和免费信用额度。
- 原文链接: blog.rhinestone.wtf/rhin...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!