> For the complete documentation index, see [llms.txt](https://docs.catfee.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.catfee.io/seamless-energy/security.md).

# 安全说明

您的钱包本身仍然是安全的。\
最常见的问题是：“我是不是把资金访问权交给了第三方？”

答案是否定的。

这不是“你要不要信任 CatFee”的问题，而是 TRON 加密签名机制本身决定的：**无论是谁运行自定义节点，都无法直接拿到您的私钥，也不能在不破坏签名的前提下修改您的交易。**

## TRON 交易实际是怎么工作的

这一点值得理解一次，因为它适用于您以后使用的每一个 TRON 节点：

1. 您的钱包先构造一笔交易，包括收款人、金额、合约调用等信息。
2. 您的钱包在本地使用保存在设备上的私钥对交易进行签名。
3. 签名后的交易才会被发送到节点，由节点继续广播到 TRON 网络。
4. TRON 网络会验证签名；如果签名被篡改，交易会被直接拒绝。

关键点在这里：**签名发生在交易到达任何节点之前。**

当无感能量节点看到您的交易时，这笔交易已经带有只能由您的私钥生成的加密签名。节点拿到的是“已经签完名的交易”，而不是您的私钥。

## 可以把它理解成一份已经盖章的指令单

您先在本地写好一份指令单，也就是交易内容；\
然后用只有您自己持有的私钥完成签名，这相当于盖上一个只能由您本人生成的电子印章；\
最后再把这份已经盖章的指令单交给节点去广播。

节点负责把这份指令单送到 TRON 网络，但不能替您重写内容，也不能自己重新盖章。\
如果节点擅自改动收款人、金额或合约参数，原有签名就会立刻失效，网络也不会接受这份交易。

## 节点能看到什么，不能看到什么

| 内容                | 节点是否可见 | 原因                               |
| ----------------- | ------ | -------------------------------- |
| 您的公开地址            | 是      | 节点需要知道交易由哪个地址发起，并据此进行资源准备或绑定地址校验 |
| 交易详情（收款人、金额、合约调用） | 是      | 它们本来就是已签名交易数据的一部分                |
| 您的私钥              | 否      | 私钥不会被传输，签名在本地完成                  |
| 您的助记词             | 否      | 助记词不会被传输，只保存在您的钱包或设备中            |
| 您钱包里的其他账户         | 否      | 节点只会看到您实际广播的那笔交易涉及的地址            |

## 节点无法做什么

### 提取您的私钥

您的私钥不会发送给无感能量节点。\
无论是 CatFee，还是其他任何 TRON 节点服务，只要走正常广播流程，都不会看到您的私钥。这是 TRON 以及其他区块链共同的基本工作方式。

### 修改您的交易

节点不能在不破坏签名的前提下修改您的原交易。\
哪怕只改动已签名交易中的一个关键字节，加密签名都会失效，TRON 网络也会拒绝该交易。

### 代表您发送交易

节点不能代表您创建一笔属于您账户的有效交易。\
要让交易以您的地址发出，必须重新使用您的私钥签名，而节点没有您的私钥。

### 访问您的其他代币或余额

无感能量节点只处理您明确广播出去的那笔已签名交易。\
它没有机制去“顺带”访问您账户中的其他代币、TRX 余额或额外权限，也不能脱离您的签名对账户发起其他操作。

## 无感能量节点和默认节点相比，有什么区别

从安全模型上看，无感能量节点和任何公共 TRON 节点本质上是一样的。\
区别只在于：**原交易被转发之前，CatFee 会先为符合条件的交易准备 ENERGY。**

| 能力或属性           | 默认节点                | 无感能量节点                     |
| --------------- | ------------------- | -------------------------- |
| 可以看到您已签名的交易     | 是                   | 是                          |
| 可以访问您的私钥        | 否                   | 否                          |
| 可以修改您的交易        | 否                   | 否                          |
| 可以代替您发起新交易      | 否                   | 否                          |
| 可以在广播前准备 ENERGY | 否                   | 是                          |
| 通信方式            | HTTPS / TRON 标准节点协议 | HTTPS / gRPC / TRON 标准广播接口 |

相同的安全模型，相同的加密边界。\
无感能量只是比默认节点多了一步：在转发原交易之前，先为您的地址准备资源。

## 内置保护措施

### 节点域名和 AccessKey 应该保密

无感能量节点的访问域名和 AccessKey 都与您的会员余额和节点权限相关，应当按凭证管理。

请把它们当作 API 密钥来对待：

* 不要在公开渠道、公开仓库或截图中分享
* 不要写死在前端源码或浏览器包中
* 后端服务建议放在环境变量或密钥管理系统里
* 如果怀疑泄露，应立即停用节点或重置 AccessKey

如果您使用的是 API KEY 模式，调用时会使用：

```http
CF-NODE-KEY: {AccessKey}
```

### 绑定地址可以降低被盗刷风险

如果您发送交易的地址范围相对固定，建议启用绑定地址模式。\
这样即使节点域名暴露，也不是任何地址都能继续触发资源准备。

这类模式尤其适合：

* 普通钱包用户
* 不支持自定义 Header 的钱包
* 仅使用固定 owner 地址的一体化应用

### 不鉴权模式只适合临时测试

不鉴权模式配置最简单，但风险也最高。\
只要知道节点域名且节点已启用，请求就有机会继续处理。

因此它只适合：

* 临时联调
* 受控测试环境
* 明确接受开放访问风险的内部场景

## 如果节点域名或 AccessKey 泄露了怎么办

如果怀疑节点域名或 AccessKey 已暴露，建议按下面顺序处理：

1. 立即在 CatFee 用户中心停用该节点。
2. 确认泄露的是节点域名、AccessKey，还是两者都已泄露。
3. 如果使用绑定地址模式，立即检查并收缩绑定地址范围。
4. 如果使用 API KEY 模式，立即重置 AccessKey。
5. 更新钱包、应用或后端中的节点配置。
6. 重新启用前先做一笔小额验证交易。
7. 回看日志和消耗记录，确认是否存在异常请求或异常扣费。

## 常见安全问题

### CatFee 会窃取我的 TRX 或代币吗？

不会。\
节点不会持有您的私钥，也不能代表您创建、签名或广播一笔新的交易。您的资金控制权始终在您自己手中。

### 如果无感能量节点宕机了怎么办？

您的资金仍然在链上，不依赖任何单个节点保存。\
如果节点暂时不可用，您仍然可以切回普通 TRON 节点继续广播交易；区别只是那时不会自动准备 ENERGY。

### 这是不是一种中间人攻击？

不是。\
中间人攻击成立的前提之一，是中间方能够悄悄篡改数据。而 TRON 交易在到达节点之前就已经签名，只要被改动，签名就会失效，网络也会拒绝该交易。

### 为什么还要使用 HTTPS 或 TLS？

无感能量节点会通过 HTTPS 或 TLS 提供通信。\
这能保护钱包或应用与节点之间的传输链路，避免网络中的第三方窃听或篡改请求内容。它并不替代交易签名，但能进一步保护传输过程。

### 和默认节点相比，这是更安全、更不安全，还是一样？

从加密边界上看，是一样的。\
默认节点和无感能量节点都拿不到您的私钥，也不能修改已签名交易。无感能量节点只是增加了一个业务步骤：在广播前自动准备 ENERGY。

### 余额不足时会发生什么？

这取决于您在 CatFee 用户中心配置的策略：

* 继续广播：跳过能量购买，继续转发原交易
* 停止广播：返回 `402 PAYMENT_REQUIRED`，不继续广播原交易

这不是私钥安全问题，但它会影响业务风险和成本控制，建议在生产环境中明确配置。

## 接入前安全检查清单

1. 已确认钱包或后端只会把已签名交易发送到无感能量节点。
2. 已确认不会向 CatFee 上传私钥、助记词或 keystore。
3. 已选择合适的鉴权方式，而不是长期使用不鉴权模式。
4. 已确认节点域名和 AccessKey 不会出现在公开仓库、公开文档或公开截图中。
5. 已根据业务情况决定是否启用绑定地址。
6. 已明确余额不足时是继续广播还是停止广播。
7. 已完成至少一次小额真实交易验证。

## 下一步

* 了解产品原理参考[简介](/seamless-energy/introduction.md)
* 开发接入参考[API 接入](/seamless-energy/api-integration.md)
* 钱包配置参考[钱包接入](/seamless-energy/wallet-integration.md)
* 排错说明参考[常见问题](/seamless-energy/faq.md)
