✨ gate Post Novo Ano Giveaway - Mostre a sua Bandeira Crypto 2025 e Ganhe $200 em Recompensas!
💰 Selecione 10 pôsteres de alta qualidade, cada um receberá uma recompensa de $10
Como participar:
1️⃣ Seguir Gate.io_Post
2️⃣ Post com a hashtag #2025CryptoFlag# , partilha a tua bandeira cripto de 2025 e as razões
3️⃣ A publicação deve ter pelo menos 60 palavras e receber pelo menos 3 curtidas
Exemplos de postagens:
🔹 Objetivos de investimento: Quais são seus objetivos criptográficos para 2025?
🔹 Estratégia de Negociação: Que estratégias adotará em 2025?
🔹 Crescimento pessoal: Que novos conhecim
Design de contrato engenhoso, vê como o stETH distribui automaticamente a renda diariamente?
Depois que o autor converteu sua pequena quantidade de ETH em stETH, ele descobriu que stETH crescia naturalmente a cada dia e continuava a gerar lucros. Mas não vejo nenhuma transação na minha conta. Por quê? Este artigo irá guiá-lo através do design engenhoso por trás dele e revelar o segredo da distribuição de receitas.
1 stETH já obteve alguns ganhos nos últimos dias
Antes disso, vamos primeiro apresentar a lógica por trás do ganho de renda do stETH, que é a aposta do Ethereum. Os leitores que já entendem essa parte do conceito podem pular diretamente para o final.
O Ethereum original, como o Bitcoin, usava Prova de Trabalho (PoW) como mecanismo de consenso, mas devido ao consumo de energia e outras considerações de segurança e desenvolvimento de desempenho do PoW, o Ethereum começará a partir de setembro de 2022. Comece a atualizar para Prova de Participação (PoS ).
Ethereum, que originalmente dependia da mineração de poder de computação para atrair mineradores e alcançar o consenso, passou a depender de todos para obter direitos de voto através do penhor de ETH e obter renda através da votação, motivando assim todos a alcançar o consenso através do PoS.
Ao apostar 32 ETH, você pode ingressar na rede Ethereum e se tornar um validador, responsável por armazenar dados, processar transações e adicionar novos blocos ao blockchain. Contanto que você execute a transação e empacote-a corretamente em um novo bloco e verifique o trabalho de outros validadores, você receberá recompensas em ETH, o que equivale a permitir que você tenha uma renda relativamente estável através do staking de ETH.
No entanto, tal promessa ainda é muito problemática para usuários comuns, afinal, ainda existem certos limites para 32 Ethereums e um computador dedicado que pode acessar a rede Ethereum 24 horas por dia, 7 dias por semana. Além disso, penhorar ETH fará com que a liquidez desta parte da ETH seja perdida. Portanto, existem os Derivativos de Staking Líquido (LSD), que visam resolver os problemas de limite e liquidez no staking tradicional, permitindo que os usuários penhorem menos de 32 ETH e não precisem possuir nós próprios, mas em vez disso, o ETH é confiado a terceiros. para penhor e os tokens de penhor correspondentes (como stETH de Lido ou rETH de Rocket Pool) são obtidos. Esses tokens de liquidez podem ser negociados, emprestados ou usados para outras atividades financeiras em outras plataformas. Desta forma, os usuários podem ambos É mais fácil participar em apostar e obter recompensas, mantendo a flexibilidade dos fundos.
Portanto, a lógica essencial do stETH é dar ETH ao Lido. O Lido utilizará esses ETH para participar do PoS do Ethereum para obter renda, e os usuários receberão o stETH correspondente como voucher. O próximo passo é o Lido distribuir o dinheiro arrecadado para esses endereços com stETH.
Podemos observar que a receita do stETH é atualizada automaticamente todos os dias. A imagem abaixo é a situação da receita do nosso teste, que corresponde ao conteúdo relacionado à verificação da carteira criptografada que pode ser verificada todos os dias.
Mas neste ponto, penso que os estudantes que estão familiarizados com o desenvolvimento de contratos inteligentes ficarão confusos: com tão pouca renda sendo distribuída todos os dias, a renda pode não ser suficiente para pagar o GAS.
Com efeito, se o Lido distribuir os rendimentos pelo método mais simples, será difícil cobrir o custo do GÁS. Do nosso ponto de vista intuitivo, é inimaginável que o GAS envie tokens para tantos endereços.
Mas é verdade que o Lido percebeu o crescimento automático da receita stETH na carteira e não encontramos nenhuma transação neste endereço. Como isso é conseguido?
Encontramos o contrato do Lido e o rastreamos até o método balanceOf do contrato:
balanceOf é um método que está em conformidade com a especificação ERC20, e a carteira usa esse método para obter quantos tokens o usuário possui.
Podemos ver que o método getPooledEthByShares é chamado aqui no contrato stETH. O parâmetro de entrada deste método é mapear (endereço => uint256) compartilhamentos privados;. Quanto stETH isso representa para o usuário? Obviamente não, caso contrário os dados de cada endereço precisariam ser atualizados todos os dias. Embora seja possível atualizar os tokens de todos os endereços em uma transação simplesmente chamando o método no contrato para atualizar as ações, mas obviamente o consumo de GAS também é o mesmo. enorme.
Até agora todos devem ter adivinhado como o contrato é implementado. Vamos continuar examinando o método getPooledEthByShares.
Você pode ver que o resultado final retornado é o shareAmount no endereço multiplicado por _getTotalPooledEther() e dividido por _getTotalShares.
_getTotalPooledEther representa quanto stETH existe no total (se stETH para ETH for 1:1, também representa quanto ETH existe) e _getTotalShares representa quantos compartilhamentos existem. Desta forma, quanto stETH cada endereço possui é calculado dinamicamente.
Por exemplo, se houver agora um total de 1.000 ações (Shares, que é o número retornado pelo método _getTotalShares), das quais o endereço A possui 100 ações (correspondente ao shareAmount acima). Essas 1.000 ações correspondem ao valor retornado por 1.000 stETH (ou seja, _getTotalPooledEther). Então, de acordo com este cálculo, o endereço A corresponde a 100 stETH. Então Lido pega o total de 1000 ETH para penhorar e obtém a renda de 1 ETH. Depois disso, a atualização correspondente _getTotalPooledEther é 1001, ou seja, o total inicial de 1000 stETH aumentou para 1001, então o endereço A recém-calculado tem 100 \ * 1001/1000 = 100,1 stETH.
**Simplificando, se as ações de propriedade de cada endereço permanecerem inalteradas e o stETH correspondente às ações aumentar, então o stETH aumentará naturalmente quando calculado. **
Vamos continuar analisando o código. A lógica em _getTotalPooledEther será afetada pelo método handleOracleReport, e este método atualizará os dados relevantes no contrato. A chamada específica é chamar regularmente submitReportData por meio do contrato para atualizar os dados (submitReportData chamará handleOracleReport do contrato Lido):
Podemos perceber que há chamadas para atualização de conteúdos relevantes todos os dias, por isso, embora não possamos ver transações em nosso endereço que geram receita, o valor ainda muda a cada dia.
Na verdade, isso reflete uma característica do contrato inteligente Ethereum ERC20, que é que o número de tokens pertencentes a esses contratos ERC20 não é codificado no endereço, mas retornado pelo método de contrato, portanto, pode haver casos em que a conta não tiver alguma transação. O número de tokens também pode mudar. Por um lado, isso torna o contrato ERC20 mais flexível, mas por outro lado, também traz muita confusão para muitos amigos que não estão familiarizados com o contrato.Espero que este artigo possa ajudar todos a entender mais os contratos inteligentes e interagir com contratos inteligentes com mais segurança.
Além disso, embora você possa obter rendimentos de participação aparentemente estáveis ao prometer ETH à stETH, ainda existem riscos possíveis.Este artigo é apenas uma referência de pesquisa técnica para o contrato de penhor e não constitui qualquer conselho de investimento.
Além disso, publicamos anteriormente um artigo sobre “re-staking”.Os leitores interessados podem continuar lendo para saber mais.