生息资产,安全何为:Solv Guard 将套娃风险关进笼子里?
有了 Solv Guard,妈妈再也不用担心我玩 DeFi 套娃了。
撰文:Peng SUN,Foresight News
说起这一轮 DeFi,你第一印象是什么?那当然套娃!套娃!套娃!
但套娃是表象,资产发行层的范式改变才是里子。以往我们玩 DeFi,流动性资产都是 ETH 等底层原生资产。但今天流动性资产已经被套了一层,stETH、USDe、puffETH、rzETH 等等新发行的资产数不胜数。用时髦的话来说,它们被称为收益生息资产,底层资产则用于给以太坊提供经济安全,也可以通过其他金融来源获取收益。但安全问题总悬在心头,每个协议都可以发行新资产,但原生资产却只能通过多签钱包、中心化第三方进行管理,单点故障依然存在。
可以说,这个问题是今天新兴主流 DeFi 协议与用户的困境。那么,是否有什么通用安全解决方案可以适用于整个行业同类型的 DeFi 协议?目前,唯一方案就是全链收益和流动性协议 Solv Protocol 团队开发的通用安全机制 Solv Guard。今天,笔者就从 DeFi 资管嬗变史出发,抽丝剥茧,对其做一深入解读。
一、DeFi Summer:纯算法控制资产
2020 年的 DeFi Summer 俨然是 Crypto 的神话。Uniswap、Bancor、Aave、Compound 以及 MakeDAO 等为 DeFi 发展奠定了基础,AMM 与「流动性挖矿」让传统金融见识到了 Crypto 的革命性与合理性。如果从用户收益与资管角度来看,那么 AMM 与流动性挖矿的背后则是单一流动性资金池,用户必须手动与每个矿池进行交互,在多个平台上进行存取款。在这种情况下,由于每个矿池都是独立的,用户很难将资金迅速分配至收益率最高的地方,矿池的孤立也导致用户操作较为复杂,潜在收益有限。
面对这些问题,Yearn 给行业带来了收益聚合器(俗称「机枪池」),用户可通过收益聚合器这一智能合约将资产自动分配至多个流动性资金池,以优化收益。收益聚合器说到底是一种被动资产管理模式,在这一时期,无论是 Swap、借贷还是机枪池,资金安全与收益率仍然受限于基础池的限制。换言之,收益聚合简化了用户的资产管理,但底层矿池的逻辑没有迭代。
二、以太坊 PoS 时代:收益生息与主动资产管理
随着以太坊从 PoW 转向 PoS,ETH 质押给 DeFi 增加了新的模式与玩法。以 Lido 为例,2020 年 12 月 1 日以太坊信标链正式上线,同月 Lido 也正式上线。以太坊 PoS 机制下,运行一个节点必须要质押至少 32 枚 ETH,但 Lido 旨在让那些手上不足 32 枚 ETH 的用户也能够参与质押,Lido 负责将分散的资金组合成 32 枚 ETH 质押到信标链上,最大化地提高以太坊主网安全。Lido 还要解决 PoS 带来的流动性不足问题,由于 ETH 质押后会削减了资金利用效率,部分用户不愿质押,这不利于以太坊的主网安全。Lido 允许用户质押 ETH 后换取生息资产 stETH,由此解决安全与流动性问题。
Lido 的出现推动了一种新的资产管理模式,即「主动资产管理」。也就是说,用户不再与资金池或被动收益聚合器交互,而是由专业资产管理者负责用户资产管理。这种模式在传统金融中无处不在,而融合了收益生息的 Lido 将它在 DeFi 世界推进了一大步。Lido 可以理解为是一种 CeDeFi,因为用户将资产交给了中心化组件,半中心化半去中心化方式可以给到用户更高质量的收益来源。不过,Lido 近期也将在主网部署 Simple DVT 模块,将实现质押方式的去中心化。可以说,经过 3 年的发展,这种主动提供资管服务的质押生息模式已经成为 DeFi 世界的主流:
去年底,这种质押生息模式被铁顺的 Blast 扩大,仅凭一个多签就在短短一个月时间内笼络 10 亿美元的资金体量。
Restaking 赛道更不用说,单是以太坊上的 Restaking 体量已经达到了 148 亿美元,大多数项目从一开始就采用多签管理。
比特币再质押基础设施 BounceBit 流动性托管依托「场外结算」将信任交给 Ceffu、MainNet Capital、Antalpha、Fireblocks 等第三方。
去中心化稳定币协议 Ethena 依托「场外结算」将信任交给了 Cobo、Ceffu、copper 第三方托管。
做美债 RWA 的 Ondo Finance 更不必说,其采用标准的基金结构,资金同样交给了受监管的合格托管人 Clear Street 等等。
......
三、从 Compound 到 Solv Guard:资产如何管理?
我们先分析一下 DeFi 协议的资产层发生了哪些变化,因为收益生息模式给 DeFi 资产层带来了结构性改变。
在 DeFi Summer 时代,DeFi 协议都是依靠纯算法控制智能合约,用户随时可将资产赎回,持有、赚取的都是底层原生资产。但这些都已经无法满足用户的收益需求,在规模化之后,各个 DeFi 协议的收益已经趋同,差异化则越来越小。另一方面,纯算法的 DeFi 协议更多是一种静态合约,无法应对复杂的生息模式。具体来说,收益生息资产呈双层架构,底层资产是 BTC、ETH、USDT 等原生代币,上层资产则是 stETH、USDe、LRT 代币等等生息资产。这种结构下,由于应对用户更多的收益需求,收益来源在不断扩大,因此相较于传统 DeFi 协议的收益来源只有质押、挖矿等等基础收益,主动资产管理下底层流动性资金池的差异会越来越大。生息资产作为流动性层,其与底层资产之间的价格就存在锚定关系,赎回周期也有所不同。
基于这种新的双层资产结构,我们也就会遇到新的交易对手方风险。本质上,「主动资产管理」是将用户的资金进行再利用,并发放一个锚定代币作为流动性资产。在这个过程中,尽管资金都有一个较为安全的管理方式,譬如多签、场外结算、中心化监管方,但依然存在中心化缺口。打个比方,用户 A 将资金发送给协议 B,B 再将这些资金用于 Restaking、托管给第三方、场外结算方式在 CEX 中买卖等等,在这里资金的使用权限完全交给了项目方与托管方。换言之,这些采用 CeFi 与 DeFi 结合的主流 DeFi 协议在资管方面均存在「资产管理者」这个交易对手方风险。
那么,这个问题就转化成了对「资产管理者」进行监督与限制问题。市面上有哪些可行的策略呢?目前,笔者见到的唯一方案就是全链收益和流动性协议 Solv Protocol 构建的通用安全机制 Solv Guard,它专为不同资金池的个人交易策略定制而设计,对资产管理者实施一套定制化的权限操作范围,譬如资金目的地、用途、操作权限等等,能够有效避免资金在不透明的情况下被滥用。
这个想法和逻辑也不仅仅是 Solv 凭空想出来的,DeFi Summer 时代的 Compound 其实是最初提出者。熟悉 Compound 的朋友都知道,Compound 的 cToken 机制就是最早的生息资产,而 Compound 治理模块也针对 cToken 机制可能会带来风险提出了一套安全方案。在 Compound v2、v3 中,我们都能够在其合约代码中见到「Pause Guardian」这个组件。它只有在出现未知漏洞时才会激活,职能就一件事,禁用铸造、借贷、转账与清算功能。相当于是个「裁判」,发生突发情况就暂停比赛,而且它没有恢复比赛的权利。在去年硅谷银行破产导致的 USDC 脱锚事件中,它就暂时禁用了 Compound v2 中的 USDC 存款功能。
Compound 想到了给资产提供了一个安全限制,但没有单独把这一块拎出来做。Solv 做的事情就是把 Compound 这套安全权限机制抽象出来,因为 DeFi 已经进化到了主动资产管理时代,生息资产将成为下一代 DeFi 基石,这种情况下收益来源不只是单一矿池,传统金融等等都将纳入这个体系。面对这种需求,Solv Guard 要做的是成为适用于所有类似模式和协议的通用安全机制。
四、Solv Guard 运行机制、功能与特点
长篇大论讲了那么多背景,终于可以来到正题了。下面我们就来讲讲 Solv Guard 为什么是通用安全机制,它是什么运行的,有哪些功能与特点?
如果要给 Solv Guard 一个定位,那就是介于底层资产与用户资产之间的中间层,给智能合约额外加了一层安全机制。它是一个工具,也是一个产品,可作为广泛采用的行业标准安全组件。
运行机制
在运行机制上,Solv Guard 目前基于智能合约钱包 Safe 而构建。Safe 天然就具备多签能力,而这种多签能力则是 Solv Guard 安全机制的组成部分,它要做的就是将 Safe 的多签限制在指定范围内。
在实际运行中,Solv Guard 给每一个 Vault 配置一个 Vault Guardian,该 Vault Guardian 会指定目标地址与目标地址权限,Safe 和 Solv Guard 会检查交易是否有效,若有效则允许该操作。
如下图所示,配置权限只需要配置三个要素:允许哪些合约、允许哪些函数操作、合约函数是否需要 ACL。拆分开来就是,你可以去限定谁有权操作这笔资金,这笔钱要转给哪个合约地址、投资哪些标的、什么时候谁有权收回。
以 Uniswap 为例,比如资产管理者要将我们的资金放到 Uniswap 中提供 LP 来赚取手续费,那么这个手续费就是我们的收益来源。那我们该如何定义 Solv Guard?首先就是要限定谁有权投资与赎回这笔资金,然后要限定 Uniswap 智能合约地址,因为资金是要流向 Uniswap 的;如果要提供 ETH/USDT 流动性,那就要限定这个 LP 池子的合约地址以及 ETH、USDT 合约地址,并且只给 ETH、USDT 两种代币进行授权,管理者则无法操作其他代币。
当然,资管方也可以用我们的钱去买美国国债、其他标的或是做合约交易等等。Solv Guard 内置的 Authorization 现已支持 uniswap V3、GMX V2、Compound、Lido、Ethena、PancakeSwap 等等。
治理机制
与 Compound 的 Pause Guardian 一样,Solv Guard 也设置了一套治理机制,实现了治理权与使用权的分离。
从下图可见,Solv Vault Guardian 负责执行,但治理权交给了 Governor,Governor 由可以由社区、资管方等控制,并且可以增加 TimeLock 以保证用户的知情权和选择权。Governor 权限包括升级 Guardian,如果合约漏洞导致资金无法取出,则可以升级 Guardian;增加或移除 Authorization;允许或禁止原生代币转移及白名单地址管理;转移 Governor 权限;Authorization 如果涉及需要管理的权限,则自动继承 Guardian Governor;永久关闭治理权限等等。
下一步发展
应该说,到目前为止,Solv Guard 是最早受到 Compound 启发,同时又得益于 Safe 钱包固有的安全模式,从而很快得到了应用。
下一步,Solv Guard 将进一步拓展到通用的智能合约开发,形成一个智能合约安全的标准框架,给全系列智能合约提供安全增强。例如:新版 Solv Vault 将不再依托 Safe 多签钱包,但仍然使用 Guard 的框架来保护智能合约的资产处理流程,在整体上提高合约安全性,并保持灵活的安全策略定义。未来可以促成 Compound 等流行的智能合约也采用或参考 Solv Guard,让智能合约安全控制更加标准化、透明化。
ERC-3525
回到收益生息资产,笔者不得不提 ERC-3525,因为 Solv Guard 整个框架与 ERC-3525 关系很大。ERC-3525 是一个由 Solv Protocol 核心成员提出的半同质化代币标准,融合了 ERC-20、ERC-721、ERC-1155 等特性于一体,尤为适用货币、证券、票证、债券、期权、期货、保险策略等等,具有很强的可组合性。
ERC-3525 结构分为 id、value、slot 和 address,每一个 slot 下可以有很多 id,每一个 id 也都有着不同的 value。通俗理解就是,每一个 slot 就是一个主账户,下面有不同的子账户,子账户之间可以相互转账。
* 关于 ERC-3525,推荐阅读《被低估的 ERC-3525,迈向 Web3 Mass Adoption 之路?》
Solv Guard 目前主要支持的就是 ERC-3525 协议发行的资产,因为 ERC-3525 可以通过一个合约来管理无数个底层资产(ERC20 等)。前文已经提及主动资产管理模式下的资产呈双层结构,那么在统一流动性层之下的底层资产则会进入无数个资金池,那么只要把 slot 定义为资金池,通过一个 ERC-3525 智能合约就可以管理无数个资金池。对于不同的用户请求,譬如不同用户有着不同的赎回周期,那么 ERC-3525 可以通过一个合约完成不同任务的管理。
综合来看,ERC-3525 非常适合主动资产管理与收益生息资产,代码开发成本要更低,安全性也要更强。不过,Solv 并不要求所有的项目方都使用 ERC-3525 协议,它也兼容 ERC20。
结论
读到这里,你会发现 Solv 团队在制定一个通用的行业安全标准与框架,而这并非无中生有。相反,这是基于 DeFi 资管发展史而抽象出的一个刚需的产品化套件。毕竟,收益生息资产确实在成为 DeFi 主流范式,我们既不能消解中心化第三方对于 DeFi 的意义,也不能完全把信任完全交给中心化第三方,但可以做的就是把类似模式 / 协议的资金管理方套进「Solv Guard」这个笼子里,增加一个安全层,为整个 DeFi 生态系统提供安全保障。