钱包使用手册 / TERVO
怎么实现,
都写清楚。
本页回答外部评测中列为“未披露”的实现问题:密钥派生、加密、签名、节点服务商、用 USDT 支付手续费与 TRON 租用能量的实现方式、失败处理与退款。这里只写能从 App 源代码(1.2.0 版)或 2026 年 10 月主网实测确认的内容,也如实列出我们还没有做到的事。核对日期:2026 年 10 月 13 日。
源代码、审计与分发
源代码目前没有公开,也没有做过第三方安全审计。App 未上架应用商店,只从本网站分发 APK,暂无 iOS 版。可以自己核验的部分:每个版本 APK 的 SHA-256 显示在下载页;签名证书指纹固定不变。正式版在我们自己的电脑上签名,签名密钥从不上传到构建服务器。App 内更新通过 HTTPS 下载,安装前会核对文件 SHA-256、包名、版本号,以及签名证书是否与已安装的 App 一致。
助记词与派生路径
助记词遵循 BIP39,不使用额外密码短语(passphrase 为空)。新建钱包为 12 个词,可选英文或简体中文;导入支持 12、15、18、21、24 词的英文助记词和中文助记词。地址遵循 BIP44:以太坊和 BNB Smart Chain 使用 m/44'/60'/0'/0/n(两条链地址相同),TRON 使用 m/44'/195'/0'/0/n,n 是从 0 开始的账户序号,与常见钱包的布局一致。恢复助记词后,App 会从账户 2 起检查是否有余额,连续 2 个空账户即停止;每个钱包最多 20 个账户。简体中文词表是 BIP39 官方词表,App 加载时校验其 SHA-256;我们的测试向量与 Trezor 使用的参考实现一致,欢迎页会运行派生自检。
手机上的加密方式
助记词或私钥用随机生成的 256 位数据密钥以 AES-256-GCM 加密,每次加密都用 SecureRandom 生成新的 12 字节随机 nonce,认证标签 128 位。数据密钥再由应用密码经 PBKDF2-HMAC-SHA256(12 万次迭代、随机盐)派生的密钥包装。开启指纹解锁后,另有一份包装使用 Android Keystore 密钥:每次使用都必须通过强生物识别,录入新指纹后永久失效。整个文件再用与本机绑定、不可导出的 Android Keystore 密钥加密一层。文件存放在不参与备份的目录,且 App 关闭了系统备份。是否有硬件级密钥保护取决于手机。
签名、节点与服务器能看到什么
交易在手机上用 Trust Wallet Core 4.8.4(开源,Apache-2.0)构造和签名。余额查询和已签名的交易经我们在 Cloudflare Workers 上的代理,转发到 Alchemy(以太坊)、NodeReal(BNB Smart Chain)和 TronGrid(TRON)。代理和这些服务商能看到你的 IP 地址和公开地址;代理只做转发和限流,不保存请求内容,隐私政策所述的 TRON 付费订单记录除外。折算价格取自 OKX、KuCoin、Gate、币安的公开行情接口。我们的服务器从不接收你的助记词、私钥或应用密码,也无法从你的地址签出转账。
以太坊与 BNB Smart Chain:用 USDT 付手续费
这一方式不使用 ERC-2771 forwarder,也不需要代币授权(approve)。你的地址通过 EIP-7702 委托给 Alchemy 的 SemiModularAccount7702 合约(地址见下表),用一笔经 EntryPoint v0.7 的 ERC-4337 操作同时完成转账和收费,由 Alchemy Gas Manager 支付 Gas。两笔转账同时成功或同时失败,转账失败就不扣手续费。签名前 App 会核对收费地址、费用上限、委托合约是否在白名单内、callData 逐字节一致,并自行重算哈希。手续费在签名前显示于确认页;网络 Gas 异常高时可能暂不提供此方式。报价有效期:BNB Smart Chain 5 分钟,以太坊 1 分钟。委托之后会保留在你的地址上,其他钱包可能显示为智能账户或更改它。
TRON:用 USDT 付手续费
不涉及任何智能合约,也不需要授权。App 在手机上签两笔普通的 USDT 转账:一笔把手续费转到我们的 TRON 收费地址,一笔是你的转账。服务器逐字节核对两笔交易后,通过 GetBlock 在需要时激活你的地址(转入极少量 TRX),并把能量和带宽委托给你的地址约 1 小时;先广播手续费,手续费成功后才广播你的转账。手续费包含激活(如需要)、能量、带宽和我们的服务费,签名前显示;报价有效期 2 分钟。两笔交易彼此独立,何时广播由服务器决定,这是你需要信任我们的地方:如果手续费已上链而你的转账最终没有成功,我们核实后会把手续费原路退还到付款地址,详见用户协议。
TRON:租用能量
适用于持有 TRX 的用户。App 签两笔交易:一笔 TRX 付款转到我们的 TRON 收费地址,一笔是你的 USDT 转账。服务器先向 GetBlock 租用能量并委托到你的地址(每单至少 30,000 能量,约 1 小时),再广播你的付款,付款成功后才广播你的转账。付款没有成功时,转账不会发出,也不收费。费用(含服务费)在签名前显示,只在比同样能量直接燃烧 TRX 更便宜时提供。带宽不在其中,按网络规则由你自己的 TRX 支付,确认页显示预估。付款已上链而转账最终没有成功时,同样核实后退款。
主网实测结果
2026 年 10 月,我们用内部测试地址在主网上以真实 USDT 测试了 TRON 的三种付费方式。一笔 USDT 转账,收款方已有 USDT 时消耗 64,285 能量,没有 USDT 时消耗 130,285 能量,每笔另需 345 带宽。用 USDT 付手续费和租用能量两种方式下,能量都没有燃烧 TRX。当时收款方已有 USDT 时的典型费用:租用能量约 2.07 TRX,直接燃烧约 6.4–6.7 TRX;用 USDT 付手续费约 1.84 USDT,付款地址尚需激活时约 2.75 USDT。BNB Smart Chain 和以太坊主网也各完成了一笔用 USDT 付手续费的转账。以上是实测数据,不是固定价格:报价随网络状况、TRX 价格和服务商价格变化。界面截图中的金额仅为示例。测试交易不逐笔列出。
我们还没做到的
没有公开源代码;没有第三方安全审计;没有上架应用商店,也没有 iOS 版;没有漏洞赏金计划,安全问题请发送到 [email protected]。我们宁可把这些直接写出来,也不让功能介绍给人留下其他印象。其中任何一项有变化,本页会注明日期更新。
可自行核对的地址与指纹
| EIP-7702 委托合约(白名单):Alchemy SemiModularAccount7702 | 0x77021100bd87b7008e5e1989d0eb38555d0d0000Etherscan · BscScan |
|---|---|
| EIP-7702 委托合约(白名单):Alchemy SemiModularAccount7702 早期版本 | 0x69007702764179f14f51cdce752f4f775d74e139Etherscan · BscScan |
| ERC-4337 EntryPoint v0.7 | 0x0000000071727De22E5E9d8BAf0edAc6f37da032Etherscan · BscScan |
| TRON 上的 USDT 合约 | TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6tTronscan |
| APK 签名证书 SHA-256 | bec2a862c0a8b1963c5b7e08a08669dcbe877f7acccc36f455817742ac07a9f7 |
| BIP39 简体中文词表 SHA-256 | 5c5942792bd8340cb8b27cd592f1015edf56a8c5b26276ee18a482428e7c5726 |