一、整体架构概览
Chainlink 是一个去中心化预言机网络(DON),核心组成包括:
- Chainlink Core
- 链下节点(Off-chain Nodes)
- 链上合约(On-chain Contracts)
- 外部适配器(External Adapters)
- 数据源(Data Sources)
- DON 网络层
二、核心技术栈
- Go:节点主程序语言
- Solidity:链上智能合约语言
- Node.js / TypeScript:适配器与工具
- Rust:部分实验性模块、跨链组件
三、关键模块
1. 链上合约
- Oracle 合约:管理数据请求、响应与验证
- Aggregator 合约:聚合多个节点的结果
- LINK Token 合约:ERC-677 标准,支付手续费与奖励
2. 链下节点
- Job Scheduler:任务调度器
- HTTP Bridge/API Connector:连接 Web API
- OCR 协议实现模块
- 日志追踪与审计模块
- 密钥管理 Keystore
3. OCR 协议(Off-chain Reporting v2)
工作流程:
- 节点在链下各自获取数据
- 共享签名数据
- Leader 汇总形成报告
- 所有节点签名并提交至链上合约
优势:
- 降低 gas 成本
- 提升响应速度
- 支持高频调用
4. 外部适配器
自定义服务模块,可访问 REST、SOAP、IoT、数据库等数据源,实现自定义数据连接。
5. DON 网络
每类服务(预言机、VRF、自动化)运行独立 DON:
- 价格 DON
- VRF DON
- Automation DON
- Functions DON(支持 WASM)
四、核心算法
1. 数据聚合算法
- 中位数
- 去极值平均
- 加权平均
2. VRF(Verifiable Random Function)
- 提供可验证链上随机数
- 基于椭圆曲线与哈希签名
3. Automation (Keepers)
- 监控合约状态,定时或条件触发调用
- 节点负责轮询与执行请求
五、安全机制
- 多签管理代币储备
- 节点声誉系统
- 签名与加密验证
- Sybil 攻击防御机制
- 链下共识 + 链上验证结合
六、跨链通信 CCIP
- 实现链间资产、消息传输
- 安全性基于预言机共识 + 签名中继 + 审计模块
七、总结
特性 | 描述 |
---|---|
去中心化聚合 | 提升数据可信性 |
OCR 协议 | 降低费用提高性能 |
VRF 随机数 | 提供链上 RNG 服务 |
自动化执行 | 支持去中心化定时任务 |
CCIP | 提供跨链交互能力 |
高可扩展性 | 支持多链多数据类型 |
Chainlink 构建了一个跨链、高性能、模块化的数据基础设施,为智能合约扩展了现实世界连接能力。