风险提示:央行等十部委发布《关于进一步防范和处置虚拟货币交易炒作风险的通知》, 请读者提高风险意识。

巧妙的合约设计,看看 stETH 如何按天自动发放收益?让你的 ETH 参与质押获取稳定利息

本文介绍了通过质押ETH来获取收益的背后逻辑,以及如何通过流动性质押衍生品(LSD)来解决传统质押中的门槛和流动性问题。stETH作为质押代币,可以在其他平台上交易、借贷或用于其他金融活动,同时Lido通过合约自动发放收益,避免了高额GAS费用。质押stETH存在风险,本文仅供技术研究参考,不构成投资建议。关于再质押的文章也可供深入了解。

ZAN Team
ZAN Team
热度 ...

原文作者:ZAN Team

原文来源:ZAN Team

笔者把自己为数不多的 ETH 兑换为 stETH 后,发现 stETH 每天都在自然增长,不断获取收益。但是却没有看到账户有交易产生,这是为什么呢?本文带大家一起来看看背后的巧妙设计,揭开收益发放的秘密。

合约

1 个 stETH 过去几天后已经有了一些收益

在这之前先介绍一下 stETH 赚取收益背后的逻辑,也就是以太坊的质押(Staking),已经了解这部分概念的读者可以直接跳到后面。

合约

最初的以太坊和比特币一样是通过工作量证明(Proof of Work,PoW)来作为它的共识机制,但是 PoW 因为耗电以及其它安全性和性能上发展的考虑,以太坊从 2022 年 9 月开始升级为权益证明(Proof of Stake,PoS)。


原本依靠算力挖矿来吸引矿工实现共识的以太坊,摇身一变,变成了依靠大家通过质押 ETH 获取投票权,通过投票来获取收益,从而激励大家通过 PoS 的方式来实现共识。


通过质押 32 个 ETH 可以加入以太坊网络,可以成为验证者,负责存储数据、处理交易以及向区块链添加新区块。只要运行将交易正确打包为新区块并检查其他验证者工作,就会获得 ETH 奖励,这样就相当于你可以通过质押的方式让 ETH 可以拥有相对稳定的收益。


但是这样的质押对于普通用户来说还是太麻烦,毕竟 32 个以太坊和一台要能够全年无休接入以太坊网络的专用计算机还是有一定的门槛的。而且质押 ETH 会使得丧失了这部分 ETH 的流动性。于是就有了流动性质押衍生品(Liquid Staking Derivatives,LSD),它旨在解决传统质押中的门槛和流动性问题,允许用户质押 32 个以下的 ETH,以及不需要自己拥有节点,而是把 ETH 委托给第三方质押,并获取相应的质押代币(如 Lido 的 stETH 或 Rocket Pool 的 rETH),这些流动性代币可以在其他平台上交易、借贷或用于其他金融活动,这样,用户既能更便捷参与到质押中获得奖励,又能保持资金的灵活性。

合约


所以 stETH 本质的逻辑就是把 ETH 给到 Lido,Lido 会用这些 ETH 去参与以太坊的 PoS 以获取收益,用户会得到对应的 stETH 作为凭证。接下来就是 Lido 要把收益发放给这些拥有 stETH 的地址。


我们可以看到 stETH 的收益每天都会自动更新,下图是我们测试的收益情况,对应每天都可以检查加密钱包验证相关内容。

合约


但是到这里我想熟悉智能合约开发的同学就会疑惑了:每天发放这么少的收益,可能收益都不够付 GAS 的。


确实,如果 Lido 按照最简单的做法来发放收益的话,那确实难以覆盖 GAS 的成本。从我们的直觉来看,要往如此众多的地址发送代币,GAS 是难以想象的。


但是确实 Lido 就实现了钱包中的 stETH 收益自动增长,而且我们并没有发现该地址有任何交易,这是怎么实现的呢?


我们找到了 Lido 的合约 https://etherscan.io/token/0xae7ab96520de3a18e5e111b5eaab095312d7fe84 追溯到合约的 balanceOf 方法:

关于【巧妙的合约设计,看看 stETH 如何按天自动发放收益?让你的 ETH 参与质押获取稳定利息】的延伸阅读

  • 长推:复盘精彩刺激的 $RCH 大战

    昨晚,$RCH与BTW进行了精彩的大战,项目方上线了产品并给LP添加了700ETH,但被聪明钱抢跑。随后,神盘出现,币价从0.2上涨到1u。项目方背景强大,有大机构背书,链上交易活跃。Sofa.org推出了两个产品,Earn和Surge,用户可以利用期权策略进行理财和预测未来走势。产品实力强大,能力超过web3团队。

  • 长推:$RCH 能不能到20亿?无预留、无权限、燃烧通缩、上所才是起点

    $RCH是新兴项目,初始加入池子的ETH价值300万,现市值7000万。若跌回1块,市值为2000万,上限无法预测。项目方烧了750ETH,加其他支出,合计400万。预计市值达15M,产品和资方有潜力,交易量高,无VC抛压和项目方币。预计上市后,市值5亿-40亿。

合约

balanceOf 是符合 ERC20 规范的方法,钱包就是通过该方法获取用户有多少 token 的。


我们可以看到 stETH 的合约中这里调用了 getPooledEthByShares 方法。该方法入参是 mapping (address => uint256) private shares;。这代表用户有多少 stETH?显然不是,不然每天都需要更新每个地址的数据,虽然这样也可以做到只要调用合约中的方法来更新 shares 来实现一次交易就能更新所有地址的 token,但是显然这样做 GAS 的消耗同样也是巨大的。


想必到这里大家已经要猜到合约是怎么实现的了,我们继续来看 getPooledEthByShares 方法。

合约

可以看到最终返回的结果是用地址中 sharesAmount 乘以 _getTotalPooledEther() 再除 _getTotalShares。


_getTotalPooledEther 代表总共有多少 stETH(按照 stETH 兑 ETH 为 1:1 的话也代表有多少 ETH),_getTotalShares 代表有多少份额。这样一算每个地址有多少 stETH 就是动态计算出来的了。


举例说如果现在一共有 1000 个份额(Shares,也就是 _getTotalShares 方法返回的数量),其中 A 地址有 100 份(对应上面的 sharesAmount)。这 1000 个份额对应 1000 个 stETH(也就是 _getTotalPooledEther)返回的数量。那么按照这个计算,A 地址就对应有 100 个 stETH。那 Lido 拿这总得 1000 个 ETH 去质押获取到 1 个 ETH 的收益后对应更新 _getTotalPooledEther 为 1001,也就是最初总共 1000 个的 stETH 变多变成 1001 个了,那么新的计算出来 A 地址就拥有了 100 * 1001 / 1000 = 100.1 个 stETH。


简单点说就是每个地址拥有的股份不变,股份对应的 stETH 变多了,那么一计算自然 stETH 就变多了。


我们继续看代码, _getTotalPooledEther 中的逻辑是会受到 handleOracleReport方法影响,而这个方法则会更新合约中的相关数据。具体的调用是会通过 https://etherscan.io/address/0x852deD011285fe67063a08005c71a85690503Cee 合约定期调用 submitReportData 更新数据(submitReportData 中会调用 Lido 合约的 handleOracleReport):

合约


我们可以看到每天都会有调用更新相关内容,这就是为什么虽然我们无法看到我们的地址中有发放收益的交易,但是金额依然每天在变化的原因。


这背后其实体现了以太坊 ERC20 智能合约的一个特点,就是这些 ERC20 的合约拥有多少代币并不是写死在地址上的,而是合约方法返回的,所以可能会出现账号虽然没有任何交易,但是代币的数量也可能发生变化。这一方面让 ERC20 合约更灵活,但是另外一方面也给很多对合约不熟悉的朋友带来了很多困惑,希望本文可以帮助大家更多的理解智能合约,更安全的和智能合约交互。


另外,虽然通过把 ETH 质押为 stETH 能够获得看似稳定的质押收益,但是依然有可能的风险存在,本文只作为对质押合约的技术研究参考,不构成任何投资建议。


另外之前我们发布了一篇关于『再质押』的文章 为什么「再质押」占领了社交媒体? ,感兴趣的读者可以继续阅读,深入了解更多内容。

免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:ZAN Team,如有侵权请联系删除。转载或引用请注明文章出处!

标签:

分享至
https://www.chainlook.cn/toutiao/1710204632.html

下一篇:

20 个 Dune 分析看板,助你快速捕捉链上动向

Dune是一款提升研究水平的一体化alpha工具,提供20个仪表板,包括分析持有人活动、代币概览、空投和钱包、链上数据、Solana上的memecoin交易、DeFi用户活动等功能。访问链接可获取更多数据,包括钱包持有代币和活动、链统计数据等。NFT趋势动态,访问链接15-20可了解最新动态,包括智能钱包查找器、钱包余额仪表板、L1&L2比较仪表盘、最佳GMX交易者仪表板、钱包查找器和Layerzero用户排名仪表盘。访问以上链接可了解更多区块链动态。

免责声明:
链观CHAINLOOK作为区块链技术应用与Web3行业研究的智库媒体,旨在为中国区块链专家、学者们提供最新的行业资讯信息与数据样本,用于区块链技术研究与创新。本站所发布的文章仅代表作者的个人观点,不代表链观CHAINLOOK官方立场,本站所发布的区块链行业研究报告与数据分析成果是通过人工智能算法对数据内容进行分析与归纳生成,不代表任何投资暗示与建议,链观CHAINLOOK不承担法律责任。

风险提示:
虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,链观CHAINLOOK坚决反对各类代币炒作,请读者提高风险意识,理性看待区块链技术应用及市场风险。

© 链观CHAINLOOK All Rights Reserved. 京ICP备18054193号-5