文章深入分析了Uniswap V2 Router智能合约中的addLiquidity函数,逐行解析其实现细节,包括参数、执行流程、LP代币铸造机制。同时,文章还探讨了流动性提供者(LP)的收益及其面临的潜在风险,如无常损失。
addLiquidity
本文深入探讨了Solidity智能合约中的溢出(overflow)和下溢(underflow)漏洞,包括静默溢出和转账手续费代币问题。文章通过真实的审计案例详细介绍了这些高危和中危漏洞的类型、影响及具体的缓解策略,并提供了一个实践练习。
这篇文章是为 Juicebox Buyback Delegate 审计准备的总结。它详细介绍了 Juicebox 协议的概览、核心与表面合约架构,包括 JBTokenStore, JBSplitsStore, JBPrices 等关键组件的功能。随后,文章深入探讨了回购合约、数据源合约和委托合约的概念,并具体分析了 JBXBuybackDelegate.sol 的主要外部函数及其实现逻辑。
该文章深入分析了去中心化借贷协议 Liquity,详细解释了其核心组成部分,包括 LUSD 和 LQTY 两种代币、Trove(抵押金库)的工作原理、借贷流程及费用计算,以及喂价机制和预言机的作用。文章通过引用智能合约代码片段,从技术实现层面阐述了协议的运作逻辑。
本文深入探讨了智能合约中的五种拒绝服务攻击,包括下溢、无界数组导致的Gas限制、重入保护修饰符的错误使用、外部预言机故障和恶意接收者。文章基于真实审计案例,提供了详细的代码示例、漏洞分析及修复建议,旨在帮助开发者理解和防范这些攻击。
这篇文章详细探讨了如何在以太坊智能合约中,通过使用内联汇编(Assembly)代码来显著优化Gas消耗。文章通过对比Solidity代码与对应汇编实现的Gas成本,展示了在哈希、循环、数学运算、存储操作及地址零地址检查等多个场景下的具体节省效果。
本文是Aave V3协议智能合约系列文章的第一部分,深入解析了Aave V3协议的核心机制。文章详细介绍了Aave协议的架构,并重点分析了Pool.sol合约中的supply()、withdraw()、borrow()、repay()这四个主要函数的工作原理和内部调用流程。
Pool.sol
supply()
withdraw()
borrow()
repay()
文章详细解释了Solidity中tx.origin和msg.sender的区别,强调了tx.origin易受网络钓鱼攻击的风险,并通过一个具体的攻击场景和代码示例展示了漏洞,并提供了使用msg.sender进行访问控制的解决方案。同时,文章也指出了tx.origin的有限合法用例。
tx.origin
msg.sender
本文探讨了如何通过理解以太坊虚拟机(EVM)来优化Solidity智能合约的Gas成本。主要介绍了四个方面的优化技巧:冷热存储访问的成本差异、归零存储的Gas退款机制、状态变量排序以实现存储槽打包以及uint256相比uint8更经济的原因,旨在帮助开发者编写更节省Gas的合约。
uint256
uint8
文章详细介绍了Solidity智能合约中的重入攻击原理及其运作方式。它通过代码示例深入分析了攻击流程,并提供了三种经过验证的最新防御方法:noReentrant修饰符、Checks-Effects-Interactions模式以及GlobalReentrancyGuard,旨在全面保护项目中的智能合约安全。