登录 后可观看高清视频
如何更安全的使用预言机
205次播放
2025-08-25
视频 AI 总结: 该视频主要讲解了在智能合约中使用预言机时需要注意的安全问题,重点对比了 Chainlink 和 Pyth 两种预言机的特性和安全考量。视频强调了避免使用易被操控的现货价格,并详细列举了使用 Chainlink 和 Pyth 时必须进行的安全性检查,例如 Chainlink 的数据有效性验证、时间戳检查,以及 Pyth 的价格更新机制和价格验证。视频旨在帮助开发者和审计人员在智能合约开发中更安全地使用预言机。
视频中提出的关键信息:
- 避免使用现货价格:现货价格容易被操纵,不应作为智能合约的数据来源。
- Chainlink 安全检查:
- 必须使用
latestRoundData
而不是latestAnswer
。 - 考虑使用
try-catch
块处理 Chainlink 调用可能出现的 revert 情况。 - 验证返回数据的有效性,包括价格大于零、时间戳大于零。
- 检查数据是否过期,设置合理的
stale feed threshold
。 - 在 Layer 2 区块链上使用 Chainlink 时,需要考虑 Sequencer 的状态。
- 不要假设稳定币的价格始终为 1 美元。
- 注意不同 Price Feed 的小数位数可能不同。
- 必须使用
- Pyth 安全检查:
- Pyth 是 push-based 预言机,需要用户主动更新价格。
- 使用
getPriceNoOlderThan
确保价格不会过时。 - 验证价格是否大于零,检查 exponent 和 confidence interval。
- 通用建议:
- 考虑使用备用预言机。
- 不要使用 RapidTobias 的原生价格源。