文章 课程 首页 集训营
更多
  • 视频
  • 百科图谱
  • 问答
  • 提问
  • 专栏
  • 活动
  • 文档
  • 工作
  • 集市
  • 首页
  • 文章
  • 视频
  • 课程
  • 集训营
  • 工作
    • 工作
    • 问答
    • 活动
    • 文档
    • 集市
搜索
  • 登录/注册
Tiny熊
  • 文章
  • 专栏
  • 问答
  • 视频
  • 课程
  • 集市作品
  • 活动
  • 招聘
TA的视频 TA的合集
DEX 扩展:价格预言机、Uniswap演进、稳定币兑换与交易聚合
视频 AI 总结: 本视频主要介绍了去中心化交易所(DEX)的价格获取机制、Uniswap 各版本的演进逻辑以及交易聚合器的运作原理。核心观点在于:直接调用实时价格极易遭受闪电贷攻击,因此在合约开发中应使用时间加权平均价格(TWAP)或预言机(如 Chainlink)来确保安全性。 **视频关键信息:** 1. **价格获取的安全性:** * **实时价格风险:** 实时价格易受闪电贷操控,导致协议估值偏差,造成资产损失。 * **TWAP(时间加权平均价格):** 通过记录一段时间内的价格累积值,计算平均价格,有效抵御短期价格操纵。 * **预言机(Oracle):** 主流资产通常接入 Chainlink 等预言机服务,通过多数据源聚合、清洗和加权平均,提供更稳健的价格数据。 2. **Uniswap 版本演进:** * **V2:** 采用恒定乘积模型($x \times y = k$),存在滑点高、资金利用率低的问题。 * **V3:** 引入“集中流动性”概念,允许用户在特定价格区间提供流动性,极大提升了资金利用率,并使用 NFT 表示流动性头寸。 * **V4:** 引入“单例合约”架构和 Hook(Hook)功能,通过减少跨池转账降低 Gas 费,并支持动态手续费、KYC 等定制化功能。 3. **稳定币兑换与聚合器:** * **Curve 模型:** 针对稳定币设计,结合了恒定和(无滑点)与恒定乘积(保证流动性)的混合方程,通过动态放大系数(A)实现高效兑换。 * **交易聚合器(如 1inch, CowSwap):** 通过算法将大额交易拆分至多个池子或采用“意图交易”(荷兰拍卖)模式,为用户寻找最优成交路径,并提供 MEV 保护和无 Gas 交易体验。
10
0
0
12小时前
VibeCoding:Uniswap V2 闪电贷模拟套利
视频 AI 总结: 本视频主要讲解了基于 Uniswap V2 的闪电贷套利编程作业。内容涵盖了在本地环境部署两个具有价差的交易池,并编写智能合约实现“借入、兑换、还款”的完整套利流程。视频深入分析了 Uniswap 的路由机制、兑换路径及回调函数原理。此外,讲师还分享了通过研究协议早期版本来学习 DeFi 的方法,并探讨了套利行为对提升市场流动性和协议稳健性的积极作用。 **关键信息:** 1. **作业目标与场景**:通过部署两个相同的 Uniswap V2 池子并手动制造价差,模拟闪电贷套利的执行过程。 2. **技术实现原理**:利用 Uniswap V2 的 `swap` 函数,通过传递 `data` 参数触发 `UniswapV2Callee` 回调接口,从而在同一笔交易中实现资金的借出与归还。 3. **路由合约解析**:详细介绍了 Router 合约中的兑换路径(Path)逻辑、精确输入/输出的计算,以及对带有转账手续费代币(SupportingFeeOnTransferTokens)的处理。 4. **DeFi 学习建议**:建议从协议的早期版本入手研究(类比学习 Linux 早期内核),因为早期代码逻辑更核心、文档更清晰,避免被后期迭代产生的臃肿代码干扰。 5. **套利的生态意义**:套利和闪电贷被视为 DeFi 的重要特性(Feature)而非漏洞。它们有助于市场价格发现、提高流动性以及确保协议(如清算系统)的稳健性。
14
0
0
12小时前
深入DEX:滑点、三明治攻击、无常损失、闪电兑换
视频 AI 总结: 本视频深入讲解了去中心化交易所(DEX)的核心机制、潜在风险及高级交易策略。内容涵盖了滑点设置与三明治攻击的原理,解释了机器人如何利用交易透明度进行抢跑套利;介绍了 MEV 与 Flashbots 的捆绑交易机制;详细分析了 WETH 包装原理、流动性提供者的无常损失计算,以及利用交易原子性实现的闪电兑换(Flash Swaps)套利逻辑。最后,视频还通过实际案例警示了流动性池被大户或项目方掏空的风险。 关键信息: 1. **滑点与三明治攻击**:滑点是交易者对价格波动的容忍度。若滑点设置过高,攻击者会通过提高 Gas 费抢跑买入,待用户成交推高价格后立即卖出,从而赚取差价。 2. **MEV 与 Flashbots**:链上交易是公开的,机器人利用 Flashbots 的 Bundles(交易包)功能,通过贿赂节点确保多笔交易按特定顺序原子化执行。 3. **WETH 的作用**:原生 ETH 不符合 ERC20 标准,需通过 WETH 合约的 `deposit` 和 `withdraw` 方法进行 1:1 包装,以便在 Uniswap 等协议中使用。 4. **无常损失(Impermanent Loss)**:指在流动性池中提供代币与单纯持有代币之间的价值差。当价格发生单边大幅波动时,流动性提供者会面临资产缩水。 5. **闪电兑换(Flash Swaps)**:利用以太坊交易的原子性,用户可以先从池中借出代币进行跨平台套利,只要在同一笔交易结束前偿还本息即可实现“无本套利”。 6. **流动性池安全**:项目方或大户若持有大量代币筹码,可以在价格高位时一次性抛售,从而掏空池内的价值币(如 USDT/ETH),导致普通投资者受损。
23
0
0
1天前
VibeCoding:Uniswap 本地部署与接入到 Launchpad
视频 AI 总结: 本视频主要讲解了如何利用 AI 辅助开发与调试智能合约。内容涵盖了代币解锁(Vesting)合约的逻辑实现、Uniswap V2 源码的 Fork 与本地部署、以及解决合约编译版本兼容性与字节码超限问题。重点演示了将 Meme Factory 与 Uniswap V2 集成,通过将铸造费注入流动性池来构建一二级市场联动机制,并探讨了其中的套利逻辑与 AI 协作开发的“信任且验证”原则。 视频中提出的关键信息: 1. **Vesting 合约逻辑**:详细介绍了线性解锁、悬崖期(Cliff)的计算方式,以及在 Foundry 中使用 `warp` 模拟时间进行合约测试。 2. **Uniswap V2 核心机制**:强调了 `Create2` 计算 Pair 地址时,`creationCode` 的 Hash 值会随编译器环境变化而改变,部署时需同步更新 Library 中的 Hash 值。 3. **AI 辅助工程化**:演示了如何利用 AI 将旧版 Truffle 项目迁移至 Foundry 框架,并自动修复 Solidity 版本升级(如 0.8.x)带来的语法不兼容问题。 4. **合约部署优化**:针对 `Router02` 超过 24KB 限制的问题,通过开启编译器优化(Optimizer)和将硬编码改为常量来缩减字节码体积。 5. **流动性自动化集成**:设计了新的业务逻辑,将 Meme 铸造费(5% ETH + 5% Token)自动添加至 Uniswap 流动性池,为代币提供初始交易深度。 6. **一二级市场联动与套利**:新增 `buyMEME` 功能,允许用户在二级市场价格优于一级市场铸造价时进行购买,并分析了套利者如何通过交易维持两端价格平衡。
21
0
0
1天前
DeFi:Token发行与CEX、DEX 交易机制
视频 AI 总结: 本视频深入讲解了 DeFi 领域中 Token 发行与去中心化交易所(DEX)的核心机制。内容涵盖加密货币发展史、Token 经济模型设计(分配与锁仓)、以及 IEO/IDO 等发行方式。重点解析了以 Uniswap 为代表的 AMM 自动做市商原理($k=x \times y$ 公式)、流动性提供(LP)及交易滑点等关键概念,揭示了链上资产从发行到交易的完整生命周期与底层逻辑。 视频中提出了以下关键信息: 1. **DeFi 发展脉络**:回顾了从 2010 年比特币交易到 2017 年 ICO 热潮,再到 2020 年“DeFi Summer”及当前稳定币与传统金融融合的趋势。 2. **Token 分类与监管**:将代币分为功能型(Utility)和证券型(Security),并提到美国 SEC 对数字商品与证券的最新监管界定。 3. **Token 经济模型(Tokenomics)**:强调了代币分配、释放机制(如 Cliff 悬崖期和线性释放)以及价值捕获对社区建设和项目长久运行的重要性。 4. **资产发行方式**:介绍了 IEO(中心化交易所发行)、IDO(去中心化交易所发行)以及近期流行的 Bonding Curve(联合曲线)发行模式(如 Pump.fun)。 5. **DEX 与 AMM 机制**: * 对比了传统订单簿(Order Book)与自动做市商(AMM)的区别。 * 详细解释了 Uniswap V2 的恒定乘积公式 $k = x \times y$。 * 阐述了流动性提供者(LP)如何通过注入资金对获得手续费收益及 LP Token 凭证。 6. **交易核心概念**:讲解了滑点(Slippage)的产生原因(交易对池子深度的影响)以及如何通过设置最小获得量来防御价格波动风险。 7. **技术实现**:简要分析了 IDO 合约、锁仓合约及 Uniswap V2 核心合约(Pair、Factory、Router)的代码结构与逻辑。
31
0
0
2天前
合约安全:合约审计与监控
视频 AI 总结: 视频详细阐述了智能合约从开发到上线后的完整安全生命周期。核心内容包括:开发后的代码审计,强调文档、静态/动态分析工具、人工审查及审计报告的重要性;上线后的合约运行监控,涵盖大额资金变动、关键参数修改等,并介绍了Tenderly、Chainlink Automation等第三方服务;以及事故发生后的分析与响应,包括资金流向追踪(交易所、混币器)和交易重放。此外,视频还扩展讨论了链上安全随机数(Chainlink VRF)和链下数据获取(Chainlink Functions)的解决方案,并提及AI在安全流程中的应用。 关键信息: 1. **智能合约安全是一个过程**:涵盖开发、审计、部署、监控和事故分析等多个阶段。 2. **代码审计**: * 强调提供清晰的文档(项目目的、角色权限、外部依赖、潜在攻击面)。 * 审计费用通常按代码行数计算,代码规范性很重要。 * 审计工具包括静态分析(如Slither, Mythril)和动态分析(如Fuzzing)。 * 人工审查仍是必不可少的,AI无法发现所有问题。 * 审计报告会列出并分级(高、中、低、信息)所有发现的问题,项目方需根据报告进行修改并重新提交审查。 3. **合约运行监控**: * 需及时知晓并处理问题,监控关键指标如大额资金转移、关键参数修改。 * 监控方式可自建或使用第三方服务(如Tenderly的Webhook)。 * 自动化响应:通过脚本或第三方自动化服务(如Chainlink Automation, Gelato, Tenderly Web3 Actions)实现。 * Chainlink Automation通过`checkUpkeep`函数判断条件,满足时触发`performUpkeep`执行链上操作,支持条件触发和日志触发。 4. **事故分析与响应**: * 分析资金流向:追踪被盗资金去向,如交易所(可配合警方调查)或混币器(如Tornado Cash,通过ZK证明使追踪困难)。 * 交易重放:使用工具(如`cast run`)在本地重放攻击交易,分析执行细节和漏洞原因。 * 分析攻击来源:追踪攻击者Gas费用的来源,可能有助于识别身份。 5. **扩展安全解决方案**: * **安全随机数**:链上数据易被操纵。Chainlink VRF(Verifiable Random Function)提供不可预测、可验证、防篡改的链上随机数,通过节点私钥和用户种子生成,确保公平性。 * **链下数据获取**:智能合约无法直接访问链下数据。Chainlink Functions提供通用框架,允许合约通过Oracle节点执行JavaScript脚本和API请求,获取链下数据并回调至合约。 6. **AI在安全中的应用**:AI在测试、初步分析、报告梳理等方面发挥越来越重要的作用,甚至可以作为“中立”的判断依据。
20
0
0
3天前
VibeCoding: 合约挑战 - Delegatecall重入清空金库
视频 AI 总结: 本视频详细讲解了一个智能合约挑战作业的解题思路,核心内容是利用`Delegatecall`漏洞和重入攻击来清空目标合约(Vault)中的所有资金。通过分析合约结构和执行流程,揭示了如何绕过权限控制,最终实现资金盗取,从而满足挑战的`isSolved`条件。 关键信息: 1. **合约架构**:存在一个用户交互合约(Vault)和一个逻辑实现合约,Vault合约通过`Delegatecall`委托调用逻辑合约。 2. **攻击目标**:将Vault合约的余额清零。 3. **`Delegatecall`漏洞利用**:`ChangeOwner`函数在Vault合约上下文中执行时,其密码验证实际上是检查Vault合约的`slot 1`,即逻辑合约的地址。攻击者可将逻辑合约地址作为密码,修改Vault合约的Owner。 4. **攻击步骤**: * 利用逻辑合约地址作为密码,调用`ChangeOwner`将Vault合约的Owner修改为攻击者地址。 * 以攻击者身份调用`Open Withdrawal`,打开取款开关。 * 调用`Withdrawal`函数,并利用重入攻击机制,在一次取款操作中多次执行取款逻辑,清空合约内所有资金。 5. **涉及技术**:`Delegatecall`机制、Solidity存储槽位(slot)原理、重入攻击。
18
0
0
3天前
合约安全 - 熟悉常见漏洞
视频 AI 总结: 视频主要探讨Web3安全的重要性,强调区块链合约不可篡改性导致安全问题比Web2更严重,且缺乏回滚机制。内容涵盖合约漏洞、前端/后端安全、网络钓鱼、社交工程(如假冒合作、钓鱼网站、恶意软件下载)等多种威胁。为应对这些挑战,视频提出多项关键策略,包括进行多方审计(如Bug Bounty和竞赛)、精简合约功能、完备测试、制定应急预案,并详细讲解了重入攻击、Gas爆炸、意外以太币、签名重放/抢跑、整数溢出和精度损失等常见合约漏洞及其防范方法。 关键信息: 1. **Web3安全的重要性与挑战:** * 区块链合约不可篡改是其特性,但导致一旦出现漏洞,损失巨大且无法回滚(与Web2银行系统可回滚不同)。 * 安全威胁不仅限于合约本身,还包括前端、后端、网络钓鱼、社交工程(如假冒项目合作、钓鱼网站、恶意钱包下载、OpenAI等高权限工具泄露私钥风险)。 2. **安全防范策略:** * **审计:** 进行多方审计,包括Bug Bounty(漏洞赏金)和竞赛(Contest)模式,根据项目资金量增加审计投入。 * **精简合约:** 最小化合约功能,减少外部依赖,降低代码复杂度。 * **完备测试:** 采用静态分析和动态分析,并利用AI工具辅助分析合约安全。 * **预案预演:** 制定应急响应计划,减少攻击发生后的损失,如设置“关闭开关”以快速止损。 * **避免中心化依赖:** 识别并加固中心化环节的薄弱点。 * **复用代码:** 避免“造轮子”,尽量复用经过验证的现有代码。 3. **常见合约漏洞及防范:** * **重入攻击 (Reentrancy Attack):** 攻击者在提款操作中反复调用提款函数,掏空合约资金。防范方法包括使用`nonReentrant`修饰符或遵循“检查-影响-交互”(Checks-Effects-Interactions)模式。 * **Gas 爆炸 (Gas Bomb):** 恶意调用导致循环或数据处理量过大,使Gas消耗线性或指数增长,导致交易无法执行。应避免Gas消耗随数据量增长的函数,或限制参数长度。 * **意外的以太币 (Unexpected Ether):** 合约余额因`selfdestruct`(销毁合约)或矿工将手续费接收地址设为合约地址而增加,但`totalDeposit`等内部变量未更新,导致合约状态不一致,影响正常提款。 * **签名重放/抢跑 (Signature Replay/Front-running):** 签名可能被重复使用(重放攻击)或被他人截获并抢先执行(抢跑攻击)。需注意签名的唯一性和时效性。 * **整数溢出/下溢 (Integer Overflow/Underflow):** 在`unchecked`块中进行加减操作时,数值超出`uint`类型范围导致错误结果。 * **精度损失 (Precision Loss):** 在除法运算中,由于Solidity不支持浮点数,导致精度丢失,尤其在处理小数值时。建议使用`wei`单位并由前端处理显示。 * **EOA与合约检查问题 (EOA vs. Contract Check):** 在合约构造函数中检查`extcodesize`来判断调用者是否为EOA会失效,因为此时合约代码尚未部署。
22
0
0
4天前
Vibecoding: 升级合约添加离线签名上架
视频 AI 总结: 视频主要讨论了智能合约的升级与新功能实现。首先,将ERC721 NFT合约改造为可升级版本,利用OpenZeppelin Upgrades库,将构造函数替换为初始化函数。其次,重点介绍了NFTMarket合约的V2升级,引入了“离线签名上架”功能。卖家只需一次性授权NFTMarket,并通过链下签名完成上架,买家购买时由后端提供签名进行验证,显著减少了链上交易次数。视频还分析了AI实现的代码,并讨论了可升级合约中存储布局(如mapping和array中的结构体)的变量添加规则,强调了向后兼容性的重要性。 关键信息: 1. **ERC721 NFT合约升级为可升级版本:** * 使用OpenZeppelin Upgrades库,继承`Upgradeable`合约。 * 将原构造函数逻辑迁移到`initialize`函数中。 * 部署脚本需使用`Upgrades.deployProxy`来部署代理合约。 * 原合约中的`immutable`变量需要改为普通变量,因为构造函数不再用于初始化。 2. **NFTMarket V2升级:引入离线签名上架功能:** * **V1痛点:** 卖家上架NFT需要两次链上交易(`Approve Token ID` + `List`),效率低。 * **V2方案:** * 卖家只需一次性调用`SetApprovalForAll`授权NFTMarket合约。 * 卖家通过链下签名(包含Token ID、价格、Deadline等信息)完成上架,签名存储在后端数据库。 * 买家购买时,前端从后端获取该签名,并调用NFTMarket的`buy`方法。 * 合约在`buy`方法中验证签名的有效性,通过后执行NFT转移。 * **优点:** 显著减少卖家链上交易次数,提升用户体验,并可通过Deadline实现自动下架。 3. **AI实现代码分析与改进建议:** * AI在实现NFTMarket V2时,直接修改了现有`permitBuy`函数的签名结构,导致与V1版本不兼容。 * **建议:** 应创建新的函数(如`permitBuyV2`)来处理新逻辑,以保持向后兼容性,避免破坏现有用户的使用方式。 4. **可升级合约的存储布局考量(面试题):** * **`mapping`中`struct`添加变量:** 只能在`struct`的**末尾**添加新变量,不能在中间添加,否则会导致数据错位。 * **`array`中`struct`添加变量:** 通常**不允许**在`array`中的`struct`添加变量,因为会导致整个数组的数据错位。特殊情况(如字节对齐未填满)下可能允许,但不推荐。 * **存储槽位预留:** 过去使用`gap`变量预留存储槽位,现在推荐使用命名空间(namespace)方式管理存储。
14
0
0
4天前
可升级合约:原理与实践
视频 AI 总结: 智能合约部署后不可修改,这给错误修复和功能扩展带来了挑战。传统的解决方案是“合约迁移”,即部署新合约并引导用户转移,但这涉及复杂的余额快照、Merkle Tree 验证及用户信任危机。更优的方案是“可升级合约”,通过将逻辑与数据分离,代理合约(Proxy)存储状态,实现合约(Implementation)存储逻辑,并通过 `delegatecall` 委托执行。升级时只需更改代理合约指向新实现合约的指针,数据得以保留。 视频中提出的关键信息: 1. **合约不可变性问题:** 智能合约部署后无法修改,导致 bug 修复和功能迭代困难。 2. **合约迁移方案:** * **流程:** 编写新合约,通知用户迁移,在特定区块高度(如攻击前)快照用户余额。 * **技术细节:** 利用 RPC 节点查询历史区块数据,通过 Merkle Tree 辅助用户自行领取新合约代币。 * **缺点:** 迁移复杂,用户参与度低,项目面临信任危机,需与交易所等生态伙伴协调。 3. **可升级合约方案(Proxy Pattern):** * **核心思想:** 将合约的逻辑(代码)与数据(状态)分离。 * **实现机制:** 引入一个代理合约(Proxy)存储数据,并使用 `delegatecall` 将所有调用委托给一个实现合约(Implementation)执行其逻辑。 * **升级方式:** 通过修改代理合约中指向实现合约的地址,使其指向新的实现合约,从而实现逻辑升级,而数据保持不变。 4. **可升级合约面临的挑战及解决方案:** * **存储布局冲突:** `delegatecall` 在代理合约的上下文执行,若实现合约的变量布局与代理合约不一致,可能导致数据损坏。 * **旧方案:** 使用 `gap` 变量预留存储槽位。 * **新方案(OpenZeppelin):** 采用命名空间(Namespace)结构体,通过哈希计算变量槽位,确保基类变量不与派生类变量冲突,且新变量只能在末尾添加。 * **函数选择器冲突:** 代理合约中的升级函数(如 `upgradeTo`)可能与实现合约中的业务函数具有相同的函数选择器,导致业务函数被拦截。 * **透明代理(Transparent Proxy):** 区分管理员和普通用户。管理员调用升级逻辑,普通用户通过 `fallback` 委托给实现合约。 * **UUPS 代理:** 升级逻辑内置于实现合约中,所有调用通过 `fallback` 委托给实现合约处理。UUPS 目前更常用。 * **初始化问题:** 构造函数在可升级合约中无效(它初始化的是实现合约,而非代理合约的数据),需使用 `init()` 方法进行初始化,并防止多次初始化。 * **大规模部署升级(信标代理 Beacon Proxy):** 对于由工厂合约创建的大量代理合约,可以通过引入一个信标合约来统一管理所有代理的实现合约地址,实现一次性升级所有相关代理。 5. **实际应用:** 开发者可利用 OpenZeppelin 等工具库和插件(如 Hardhat/Foundry 的升级插件)简化可升级合约的开发和部署。 6. **注意事项:** 用户通常与代理合约交互,但需理解逻辑合约的变量修改不影响代理合约(除非存储布局被破坏)。
17
0
0
2026-03-28 10:27
  • ‹
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • ...
  • 43
  • 44
  • ›
Tiny熊
Tiny熊
0xD682...E8AB
贡献值: 22895 学分: 988125
登链社区发起人 通过区块链技术让世界变得更好而尽一份力。
2288 关注 1311 粉丝
关于
关于我们
社区公约
学分规则
Github
伙伴们
DeCert
ChainTool
GCC
UpChain
合作
广告投放
发布课程
联系我们
友情链接
关注社区
Discord
Twitter
Youtube
B 站
公众号

关注不错过动态

微信群

加入技术圈子

©2026 登链社区 版权所有 | Powered By Tipask|
粤公网安备 44049102496617号 粤ICP备17140514号 粤B2-20230927 增值电信业务经营许可证

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

提醒

检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
编辑封面图
封面预览

创建课程

编辑封面图
建议尺寸: 1920*1080
编辑封面图
封面预览