风险与管理员角色
Nami 在多条区块链上协调智能合约、流动性和运营。
这种架构会带来技术、运营和经济方面的风险,需要针对每个组件量身定制的控制措施。协议安全由多个层级构成,包括代码审查、权限分离、多签、时间锁、交易监控和事件响应程序。
人为与运营风险
参与协议管理的人员同样是其风险面的一部分。
密钥泄露、交易验证过程中的失误、网络钓鱼攻击或部分签名者无法履职,都可能影响协议安全或运营连续性。
Nami 通过针对多签配置、密钥管理、交易验证和应急准备的专门程序来限制这些风险。这些程序遵循成熟的多签安全实践,并根据协议的架构和风险状况进行了调整。
签名者保护
敏感的管理操作受 Safe 多签保护,需要多位独立签名者批准。所需的法定人数可防止任何单一签名者行使由多签控制的权限。
主要措施包括:
- 用于存储和使用密钥的硬件钱包。
- 专用于签名操作并保持最新状态的设备。
- 离线保存并与对应硬件钱包分开存放的助记词实体备份。
- 仅用于多签活动的地址,不进行任何 DeFi、NFT 或个人交易。
- 签名者之间的地理与运营分离。
- 由不同制造商生产的签名设备。
- 用于敏感操作的端到端加密通信渠道。
- 识别网络钓鱼、社会工程、恶意软件、深度伪造和冒充行为的培训。
- 报告无法履职期间并维持所需运营法定人数的程序。
签名者地址可在链上验证。与签名者相关的个人信息被视为敏感信息,以减少遭受针对性攻击、胁迫和社会工程的风险。
交易验证
每笔管理交易在签名前都会经过审查。
签名者必须在执行前了解其目的、来源以及对协议的影响。
根据操作的不同,该流程可能包括:
- 通过授权的内部渠道确认提议者身份。
- 在执行前模拟交易。
- 解码并验证 calldata。
- 检查目标地址和转账金额。
- 验证被调用的函数及其参数。
- 检查 nonce 和操作类型。
- 将多签界面显示的信息与签名设备上显示的信息进行比对。
- 对关键操作独立验证交易哈希。
每项管理变更都附有运营背景说明,记录该交易的目的及其审批流程。
运营准备
签名者会定期确认自己能够参与签名操作,并参加主要应急程序的模拟演练。
密钥丢失或疑似泄露时,会立即通过安全渠道报告,以便启动既定的遏制和替换程序。
智能合约与外部依赖
所有智能合约都可能存在漏洞、逻辑错误或意外行为。
当多个合约相互交互,或某项操作涉及由不同方开发的代币和协议时,复杂性和风险都会增加。
Nami 的专有智能合约会经过一套结合专家咨询、AI 辅助分析、代码审查和独立人工审计的安全流程。相应报告可在审计报告部分查看。
对专有代码库及其配置的重大变更会在启用前经过审查和验证。
集成的基础设施
Nami 集成了由外部方开发或管理的智能合约、基础设施和服务。
这些依赖包括:
- 流动性引擎和 DEX 组件。
- 聚合器、求解器(solver)和路由器。
- 跨链桥和消息传递协议。
- 代币、稳定币和跨链桥接资产。
- RPC 提供商、索引器以及界面所使用的服务。
Nami 通过技术和运营评估流程来选择并集成这些组件。外部依赖的安全性、可用性和管理仍有部分不在 Nami 的控制范围内。
外部依赖遭到入侵、发生故障或不可用,可能导致延迟、交易失败、路由暂停,或执行结果与执行前的预估不同。
OmniSwap 与执行服务商
OmniSwap 会并行查询多个聚合器、求解器和跨链服务商。
报价会经过模拟和验证,并按预估净输出进行比较。
所选路由的执行取决于相关服务商的智能合约、流动性和可用性。从生成报价到交易确认之间,网络状态可能发生变化。
用户授权的参数(包括滑点、最低接收数量和截止时间)界定了操作可执行的范围。如果某个服务商遭到入侵或不可用,依赖它的路由可能会被暂时移除。
多链操作与资产
跨链操作横跨多个独立网络,并分多个阶段推进。拥堵、宕机、链重组、消息延迟、中继器不可用或最终性问题,都可能延迟或中断操作。
已在某条区块链上达到最终性的交易无法由 Nami 撤销。后续阶段能否完成,取决于目标链上的状况以及用于传输资产或消息的基础设施。
通过 Nami 使用的资产还可能带有与流动性、波动性、脱锚、托管、发行方、黑名单、跨链桥以及非标准合约行为相关的风险。
模拟会在当时可观测的条件下评估交易的预期结果。后续发生的事件或无法通过模拟检测到的行为,可能影响执行或资产价值。
管理员角色、多签与时间锁
Nami 将管理权限分配给相互独立的角色,每个角色仅限于其所需的功能。实际生效的权限取决于具体合约和链。
合约中配置的地址是验证每个角色及其权限的权威依据。
模块、守卫(guard)或授权额度机制的使用仅限于协议所需的功能,并持续受到监控。
时间锁会在计划变更的批准与执行之间引入一段延迟。
这段时间使该操作可被公开观察,并允许在其生效前评估其影响。
时间锁时长因操作类型和所涉及的组件而异。
用于立即遏制事件的功能,可能会分配给范围更窄、响应时间更短的紧急角色。
监控与事件响应
多签、管理角色以及协议的主要组件均通过交易事件告警系统进行监控。
监控涵盖的事件包括:
- 新的多签提案和交易。
- 签名者的添加或移除以及阈值变更。
- 模块和守卫的启用或停用。
- 管理角色的变更。
- 升级以及关键参数的变更。
- 来自专用签名者地址的意外活动。
- 受监控组件中的异常行为。
相关事件会通过受限渠道发出通知,以便签名者和安全人员及时审查。
紧急控制
部分组件包含紧急功能,旨在将事件遏制在协议中受影响的组件或区域之内。
根据组件和事件性质的不同,可用的控制措施可能会暂停:
- 新的存款或操作。
- 借款功能。
- 自动化。
- 跨链操作。
- 奖励或释放的分发。
- 与特定集成的交互。
- 某个 gauge 获得新分配的资格。
暂停措施仅适用于遏制已识别风险所需的范围。
提款、领取及其他功能是否可用,取决于受影响组件的架构和事件的具体情况。
响应程序
当发现漏洞、疑似密钥泄露、经济异常或涉及外部集成的事件时,团队会核实并分类该事件,确定受影响的组件,并启动指定的响应程序、调动指定的响应人员。
团队会使用可用功能将事件遏制在受影响的范围内。在准备、审查和验证任何修正之前,会先分析事件的原因和影响。恢复受影响的功能需要相关角色授权,并可在情况需要时逐步进行。
BailSec Emergency Room
Nami 可使用 BailSec Emergency Room,为涉及智能合约或其他关键协议组件的事件响应提供支持。
该服务提供通往安全专家的上报通道,专家可协助进行初步研判、技术分析、遏制以及修正验证。
运营控制权仍由经授权的角色和多签掌握。
BailSec 提供技术和调查支持,但不会独立持有对协议的管理权限。
Nami 价值保护系统
Nami 价值保护系统整合了一系列控制措施,旨在保护通过 gauge 协调的释放、奖励和分配。
该系统旨在保护由协议管理或分发的资源。它并非用于支撑 NAMI 或任何其他资产的市场价格。
Gauge 保护系统
Gauge 保护系统可保护投票和分发系统,使其免受遭入侵或被操纵的 gauge 以及存在经济风险的 gauge 的影响。
在某个 gauge 获得接收释放的资格之前,Nami 可能会审查其底层池、所涉及的代币、相关合约以及运行所需的依赖。
监控关注的事件包括:
- 激励操纵。
- 异常的奖励分发活动。
- 临近 Epoch 结束时投票权的突然集中。
一旦发现风险,经授权的角色可在相关合约规定的限度内,暂停该 gauge 接收新的释放或奖励的资格。
暂停不会改变已经执行的分配。
时间加权分配平均值、静默期以及适用的冷却期,可降低投票分配突然变化的影响,尤其是临近 Epoch 结束时所做的变化。
在事件经过分析、其原因得到处理且正常运行所需的条件经过验证后,gauge 可以恢复。
剩余风险
上述措施旨在降低事件发生的可能性及其潜在影响。智能合约、区块链、外部依赖和市场状况所固有的风险依然存在。
审计、监控和管理控制均在相关组件的技术限制范围内运作,无法保证不存在漏洞、故障或中断。
用户在与协议交互之前,应核实合约地址、交易参数和已授予的权限。