当用户正在部署和提取流动性时,stToken 和空闲流动性都可以处于「已承诺」状态。 现在,A,B 和 C 开始发出交易,以将其闲置流动资金投入不同的策略以获取收益,如图 3 所示。它们还可以从已分配的协议中撤出其流动资金。 出块节点在 Rollup 区块链上汇总这些交易。每当这些小额交易汇总到数额足够大,交易手续费相对占比较低,或等待一定时间后,Rollup 中的出块节点就会在 Rollup 链中生成一个区块。出块节点不仅将每个用户帐户状态的状态根(state root)发布到第 1 层,而且还将整个池的汇总「资金分配方案」发布到不同连接的 DeFi 收益协议之间进行重新平衡。在此特定示例中,资金分配方案为「将 $300 分配给策略 0,将 $500 分配给策略 1」。 出块节点是一个逻辑概念,最终将成为去中心化的 Celer 状态守护者网络 (SGN),以确保能够对抗审查并增加 Rollup 链的安全性。 从资金分配方案生成到真的资金移动的延迟:ZK 和 Optimistic Rollup 之间的选择在生成区块并将状态根哈希和资金分配方案发布到链上之后,会在直到实际发生资金流动为止前有一个延迟。值得注意的是,Layer2.finance 极大的拓展了第二层和第一层之间简单的信息接口,即把「谁有多少钱」这样简单的存取资金的状态,扩展为更通用的「指令接口」来表达资金分配方案,即「将多少资金分配给哪些协议”」。这本质上是二层对一层的函数调用。 在使用 Layer2.finance 的 Optimistic Rollup 时,延迟是确保在转移资金之前最终确定总资金分配建议的挑战时间窗口。与取款不同,这里不会有第三方从系统中拿走资金,且由于在汇总期间的长延时与挑战证明的简单性,这里的挑战期可以从数周缩短为数小时。 使用 ZK Rollup 时,状态根有效性不需要挑战期,所以资金移动延迟取决于区块时长。 在 1.0 版本中,我们选择使用 Optimistic Rollup 以简化并加快迭代速度。 将来我们会计划迁移到 ZK Rollup,以在协议成熟后缩短执行延迟。 资金分配方案的执行当延迟结束,资金分配将在链上执行。 我们定义了一个名为「Strategy Adapter」(可插拔策略策略)的通用抽象层,而不是直接与每个不同的 DeFi 协议进行交互。 它们和 yEarn 的 vault 具有类似的概念。该层用于三个目的:
|