社区投稿| 以安全视角,深度剖析 Sui Staking 与 LSD

本篇技术研报由 MoveBit 研究团队的 Jason 撰写

#1 Sui Staking 介绍

1.1 Sui 网络概述

Sui 网络由一组独立的验证者运行,每个验证者在自己的机器或集群上运行独立的 Sui 软件实例。

Sui 采用**委托权益证明(DPoS)**来确定哪些验证者参与网络操作和享有投票权。这个系统通过激励验证者来真诚参与,他们通过分享交易费用、质押奖励以及在不当行为的情况下削减质押和质押奖励来获得回报。

Sui 网络的运行按时间划分为不重叠的、近似固定持续时间(目前为 24 小时)的时期(epoch)。在特定时期内,一组验证者及其投票权是固定的。然而,在时期边界,可能会发生重新配置,导致参与网络的验证者组合和其投票权发生变化。

1.2 Sui Staking 概述

如前所述,Sui 采用委托权益证明机制(Delegated Proof-of-Stake,DPoS)来保障网络的安全性和运行。这一模型允许 SUI 持有者将他们的 SUI 质押给验证节点,质押的代币在解除质押前不得转移或出售。验证节点的质押份额决定了他们在网络中的投票权重,质押越多,节点在网络运作中的影响力越大。

作为处理交易和执行共识的回报,验证节点根据收集的 Gas 费获得奖励。最高效率的验证节点能够处理更多交易,提高整个网络的效率,并因其质押而获得更大的奖励。

然而,表现不佳的验证节点可能因遭遇停机时间或其他技术问题而处理较少的交易,从而获得较小的质押奖励,甚至可能失去质押机会,最终退出网络运作。这一代币经济模型确保只有最优秀的验证节点才能够持续支持网络的安全和稳定运行。

1.3 运行节点要求

Sui 是一个无需许可的开放网络,任何人均可配置运行一个验证节点(Validator Node),但需满足如下条件:

验证节点运行要求

· 正确配置运营验证节点的软硬件环境

· 创建验证节点的质押池,并至少质押 3000 万个 SUI

· 长期至少质押 2000 万个 SUI

· 不能低于 1500 万个 SUI,否则将被淘汰

· 验证节点的投票权跟质押量挂钩,但单个验证节点最大拥有 10% 的投票权

验证节点的质押池创建好之后,当池中质押量超过 3000 万个 SUI 时,节点将在下一个 epoch 被网络自动激活开始验证工作。验证节点被激活后,需要长期保持高于 2000 万个 SUI 的质押量,一旦长期低于该水平,将有可能被清除。如果验证节点的质押量低于 1500 万个 SUI,将在下一个 epoch 被清除。

1.4 激励模型

在每个时期(epoch)结束时,Sui 网络会计算每个验证节点所获得的奖励,具体规则如下:

验证节点奖励

· 按 epoch 结算奖励,每个 epoch 为 24 小时

· 质押奖励(StakeRewards) = 股权补贴(StakeSubsidies) + Gas 费(GasFees)

· 拥有更多质押量的节点将获得更多奖励

· 节点惩罚

股权补贴(StakeSubsidies)旨在补贴网络的早期阶段,并由 10% 的 SUI 代币分配提供资金。此分配耗尽后,全部权益奖励将由通过常规网络运营收集的 Gas 费组成。

如果一个验证节点运营不善,出现服务问题,被多个其他节点举报,则可能会受到惩罚,奖励将会减少,并分配给其他节点。

1.5 用户质押

用户可通过钱包或其他 DAPP 选择信赖的验证节点,进行质押。下图为 Sui 官方钱包选择验证节点进行质押的操作示意图:

当用户质押 SUI 代币时,这些 SUI 对象会被包装到 StakedSui 对象中。StakedSui对象是对 SUI 代币的包裹(Wrapper),仍旧保存在用户地址账户下,受用户控制。质押后,将在下一时期(epoch)才开始激活,计算奖励。在用户解除质押时,可立即提取收益和本金。

在 Sui 上,用户参与质押虽然很方便,但也有一些小的限制,具体如下:

质押限制

· 最小质押 1 个 SUI

· 未激活的 StakedSui 不允许提取

· 不支持部分提取 StakedSui

· 不支持单独提取收益

· 支持拆分和合并多个 StakedSui,但必须是同一质押池且同一激活周期的才行

▶示例: 用户在时期 n 质押 100 SUI 得到 1 个 StakedSui,在时期 n 是没法解除质押的;在时期 n+1 才激活,可随时解除质押,但没有收益;在时期 n+2 解除质押,可以获得其在时期 n+1 的质押收益。

1.6 小结

Sui 网络的质押体系有较大的创新,它和 Sui 的经济模型相辅相成, 从而确保了验证节点能够维持稳定的业务运营,同时使 Sui 网络也具备较低的 Gas 费,用户和 Token 持有者也能够在参与时负担得起。

#2 什么是 LSD

LSD 全称为 Liquidity Staking Derivatives ,即流动性质押衍生品

Liquid Staking Derivatives,是在区块链世界里帮助已被质押的数字资产释放流动性、提升交易性的一种工具,其价值取决于原生数字资产,是从已被质押的数字资产中衍生出来的一种资产类型。

2.1 参与质押形式

用户如果要参加一条链的质押活动,通常可分为直接参与间接参与两种方式,下面以 Sui、以太坊和 Aptos 网络举例,分别说明。

2.1.1 直接参与

用户直接将资产质押给验证节点,验证节点获得奖励后,再分给用户:

· 用户将 SUI 质押到节点,得到 StakedSui,StakedSui 是一个 NFT 凭证(不能参与 Lending、Swap 等 DEFI 应用),流通性较弱,用户使用 StakedSui 向节点提取本金和收益。

· 以太坊的一次质押,会要求用户最低质押 32 个 ETH,这有一定的门槛。

2.1.2 间接参与

用户将资产质押给合约协议,合约汇聚资金后,再去节点质押,得到收益后,节点先分给协议,协议再分给用户:

· 用户将 ETH 质押到 Lido 协议,得到 stETH,stETH 是一种 ERC20 代币,stETH 可用于流通,Lido 再将 ETH 质押到节点;提取时,用户将 stETH 提交给协议,再获得 ETH 和收益。

· 用户将 APT 质押到 Ditto 协议,得到 stAPTOS,stAPTOS 是一种同质化代币,stAPTOS 可用于流通,Ditto 再将 APT 质押到节点;提取时,用户将 stAPTOS 提交给协议,再获得 APT 和收益。

上面两种方式的区别在于,直接参与后,用户原本持有的 SUI 和 ETH 被锁定了,无法流通,只能等待提取后,获得本金和收益。而间接参与时,协议通常会给用户另外一种新代币,用于后面提取被质押的代币,新代币也能替代被质押的代币进行流通。

这里的 stETH 和 stAPTOS,是因为质押了 ETH 和 APT 而得到的,也是一种同质化代币,具备流通性,可以用于 Lending、Swap 等应用。这类代币通常叫做 LST(Liquid Staking Tokens),用于取代因为质押被锁定的 ETH 和 APT 进行流通,可额外为用户提供便利和收益。

因此,间接参与质押的方式,产生了一个新的赛道,即 LSD,目前非常火热,可以为用户带来多重收益。

2.2 LSD收益

持有 LST 可以获得多种收益,下面列举常见的 3 种形式。

2.2.1 持有 LST 代币

因为 PoS 区块链节点出块是有收益的,这些收益的多少,由节点所拥有的代币质押量决定的,一般节点都会将这些收益分发给质押者,质押者可以按质押量来获得奖励。合约协议会收集到节点给与的这些奖励,然后一般会通过更新 LST 代币的面值,或变更 LST 和底层质押代币的汇率,分发给用户。

2.2.2 循环借贷

持有 LST 代币后,可用其参加一些借贷应用,获取收益,下面是一个示例:

· 在 LIDO 质押 ETH 换取 wstETH;

· 将 wstETH 存入 AAVE 并借入 ETH;

· 循环上述操作(只要借出利息小于质押收益,就可以进行循环借贷套利)。

2.2.3 AMM DEX 提供流动性获取收益

持有 LST 代币后,可用其参加一些 DEX 应用,获取收益,下面是一个示例:

在 Curve 上的 stETH:ETH 交易对,提供 stETH 流动性,获取流动性奖励。

2.3 LSD 项目案例

以太坊网络上有多个 LSD 项目,下面是 3 个知名的项目,其中 Lido 项目尤为知名,可以说是由其带火了整个 LSD 赛道。

· Lido

· Rocket Pool

· Frax

#3 Sui LSD 项目审计要点

基于 Sui 的质押体系,可以开发很好的 LSD 应用。Sui 官方也非常重视 LSD 赛道的建设,并在今年 9 月成功举行了流动性质押黑客松(Sui Liquid Staking Hackathon),吸引了生态大量开发者关注,相信在不久的将来,Sui 上的 LSD 项目必将蓬勃发展。

MoveBit 作为一家安全公司,在 Move 生态持续深耕,非常关注 Sui 的 LSD 赛道,**目前已经完成了两个 Sui 上 LSD 项目的审计,对 LSD 项目的安全性有较深研究。**一个项目的智能合约代码,除了具备通用的审计点外,针对 LSD,我们总结了一些专用审计点,下面我们将着重阐述。

💎LSD 审计要点

· 质押节点选择-为最大化收益,协议需要选择高可靠高回报率的验证节点进行质押。

· 收益计算、汇率更新-协议的收益计算规则应尽量公开透明,数学运算精度损失确保最小化,汇率更新应尽量实时,延迟小。

· 资产安全-须确保协议管理的资产安全,各角色对资产的访问,有严格权限控制,用户仅能提取自己质押的资产和收益,协议管理员仅可管理资产,如操作资金质押或解除质押,但无权转移资产。

· LST 是否存在滥发的行为-须确保 LST 的增发和销毁,要和用户质押和解除质押保持同步,无不当增发或销毁情况。

· 收益的发放应公平公正-协议获得收益后,在分发给用户时,须确保正确和公平地分发,如质押时间久的用户,应获得更多的收益。

· 资金回撤和重新质押的支持-当监测到质押的节点出现问题(如被网络移除)后,需要支持将质押到该节点的资金撤回和重新选择节点质押。

**这些审计要点有助于确保 Liquidity Staking Derivatives 项目的智能合约在安全性和稳定性方面达到更高标准,从而减少潜在的风险和漏洞。**审计是项目开发过程中至关重要的一环,应该在发布合约之前进行。

#4 总结

Sui 网络具备优秀的经济模型和独具创新的质押体系,这些元素为 LSD 应用创造了坚实的基础,为用户和开发者提供了卓越的机会,相信 LSD 应用领域将在未来迎来激动人心的变革和创新。

参考资料

[1] : Validators | Sui Docs

[2] : Sui Validator nodes | Sui Docs

[3] : Sui's Delegated Proof-of-Stake System | Sui Docs

[4] : 那些或许你并不知道的SUI质押硬核知识


关于 Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac

官网英文Twitter中文TwitterDiscord英文电报群中文电报群

相关推荐
XiaoLeisj29 分钟前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
励志成为嵌入式工程师1 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉2 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer2 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq2 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
记录成长java3 小时前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet
前端青山3 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
hikktn4 小时前
如何在 Rust 中实现内存安全:与 C/C++ 的对比分析
c语言·安全·rust
睡觉谁叫~~~4 小时前
一文解秘Rust如何与Java互操作
java·开发语言·后端·rust
音徽编程4 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust