news 2026/6/2 1:50:36

区块链|钱包开发的相关问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
区块链|钱包开发的相关问题

1) 钱包到底是什么:边界先定清

钱包本质上是密钥管理 + 签名器(signer)+ 交易构造器 + 链交互客户端。它通常不“存币”,资产在链上;钱包只负责控制“花费权限”(私钥/门限签名/MPC 等)。

常见形态:

  • 托管钱包:私钥在服务端(你负责风控/合规/安全运维)。

  • 非托管钱包:私钥在用户侧(你负责端安全/备份恢复/反钓鱼)。

  • 智能合约钱包(AA/Account Abstraction):控制权在合约规则(多签、社交恢复、Paymaster 等),但仍有签名与策略问题。


2) 密钥与账户体系:最大风险区

2.1 生成与派生(HD 钱包)

  • 助记词/种子:BIP-39(助记词)+BIP-32(HD 派生)+BIP-44(路径规范,例:m/44'/60'/0'/0/0用于以太坊系)。

  • 坑点:路径不一致会导致“同助记词不同地址”;多链钱包更容易混乱。

2.2 曲线与签名算法不统一

  • EVM 系常用secp256k1 / ECDSA

  • Solana 等常用ed25519

  • BTC 生态还涉及地址类型(Legacy/SegWit/Taproot)与脚本结构差异。
    => 多链支持时,算法、地址格式、交易序列化都不同,不是“换个 RPC”就行。

2.3 私钥存储与保护(端安全)

  • 移动端:Keychain/Keystore + Secure Enclave/TEE(尽量做到私钥不可导出或至少强加密)。

  • 桌面/浏览器插件:本地加密 keystore + 强口令 + 防内存窃取(现实里很难完美)。

  • 必须考虑:剪贴板劫持、屏幕录制、恶意扩展、越狱/Root、调试注入、供应链依赖投毒。


3) 交易构造:不同链模型差异巨大

3.1 账户模型 vs UTXO 模型

  • 以太坊/多数智能合约链:账户模型(nonce、防重放、gas)。

  • 比特币:UTXO(找零、输入选择、手续费与体积强相关)。
    => 交易“组装器”要按链单独实现,否则费率、失败率、卡 nonce 等问题会爆。

3.2 费用机制与估算

  • EVM:gasLimitmaxFeePerGasmaxPriorityFeePerGas(EIP-1559),还要处理基础费波动与加速交易(replace-by-fee 类似思路)。

  • UTXO:按 vBytes 估算费率、输入选择策略会影响手续费与隐私。

3.3 合约交互

  • ABI 编码/解码、事件解析、失败原因(revert reason)提取。

  • approve/allowance、授权无限额的安全提示。

  • 交易模拟/预执行(simulation)对 UX 和反钓鱼越来越关键。


4) 链交互与节点:RPC 不是“永远可信”

4.1 RPC 可靠性与一致性

  • 公共 RPC 会有:限流、延迟、数据不一致、回滚、被污染的返回值。

  • 工程上要做:多 RPC 容灾、重试退避、结果交叉校验(尤其余额/nonce/链 ID)。

4.2 轻客户端 vs 全节点 vs 仅 RPC

  • 仅 RPC:最省事,但信任边界最大。

  • 轻客户端:安全性更好但实现复杂、资源占用高。

  • 企业/高安全:自建节点 + 监控 + 索引服务(The Graph/自建 indexer)。


5) DApp 连接与消息签名:钓鱼重灾区

5.1 连接协议

  • 浏览器注入(EIP-1193 provider)、WalletConnect、Deep Link。

  • 要处理会话管理、链切换、权限最小化(只给必要能力)。

5.2 消息签名的风险

  • personal_sign很容易被“伪装成登录”但实际是授权意图。

  • EIP-712(结构化签名)更安全,但仍需人类可读的签名摘要展示。

  • 必做:域名/合约地址/方法名/金额/代币/授权范围 的可视化提示。


6) 资产与代币显示:数据源与“假币”问题

  • Token 列表:维护白名单/信誉源,防同名假代币。

  • NFT/铭文类:元数据可能恶意(钓鱼链接、XSS、超大图片)。

  • 价格:第三方报价源的偏差与被操纵风险;注意缓存与时间戳。


7) 备份、恢复与“用户会弄丢一切”的现实

非托管钱包最难的是“人”:

  • 助记词备份:引导、校验、分片提示(但别让用户截图/云盘同步)。

  • 社交恢复/多签/MPC:提升可恢复性,但增加复杂度与依赖。

  • 迁移与兼容:同助记词在不同钱包间的派生路径兼容、地址导入导出。


8) 安全体系:从威胁建模到上线审计

你至少需要覆盖:

  • 威胁建模:钓鱼、恶意 DApp、恶意 RPC、设备被控、依赖投毒、重放攻击、交易替换。

  • 安全策略:交易仿真、黑名单/风险提示、可疑授权检测、地址校验(checksum/链类型)。

  • 代码安全:加密实现别自己造轮子;依赖锁定与审计;构建链安全(CI、签名发布)。

  • 合约钱包还要加:合约审计、升级策略、权限管理。


9) 合规与风控(看你的产品定位)

  • 托管/法币出入金:KYC/AML、制裁名单筛查、可疑交易风控、日志留存。

  • 非托管纯钱包:一般不做 KYC,但仍可能需要风险提示与地区合规策略(视业务与司法辖区)。


10) 推荐的工程拆分(做起来更稳)

  • Core Crypto:助记词/HD 派生/签名器(可插拔:本地、硬件、MPC)。

  • Chain Adapter:每条链一个适配层(地址、交易、费用、查询、解析)。

  • Provider Layer:多 RPC、缓存、重试、健康检查。

  • Risk Engine:仿真、授权检测、黑名单、可读摘要。

  • UI/UX:引导、备份、授权弹窗、交易详情、错误解释。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 20:37:29

中科驭数CEO鄢贵海:AI尚处“Day 1”,算力基建的价值外溢如同高铁

在过去两年中,全球资本对人工智能(AI)的追逐近乎狂热。然而,随着巨额资本开支与短期商业回报之间的剪刀差扩大,关于“AI泡沫”的论调自去年底以来甚嚣尘上。近日,中科驭数创始人、CEO鄢贵海在亚洲金融论坛期…

作者头像 李华
网站建设 2026/5/20 14:35:29

【信号处理】(超全45种特征提取)时域、频域、小波、信息熵等45种时频域特征提取方法matlab代码

🔥 内容介绍 时频域特征提取是信号处理领域中的关键技术,其目的是从非平稳信号中提取具有判别性的特征,以便用于后续的分析、识别和分类。随着科学技术的发展,各种时频域分析方法层出不穷,为解决复杂的信号处理问题提…

作者头像 李华
网站建设 2026/6/1 12:30:22

C++与物联网开发

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第…

作者头像 李华
网站建设 2026/6/1 17:01:43

Moltbot(Clawdbot)架构与技术全解析:AI助手开发必学指南(建议收藏)

Moltbot是一个个人AI助手系统,采用模块化架构,通过本地优先的Gateway控制平面管理多渠道通信和智能体会话。系统支持13消息平台,具备语音唤醒、实时画布、工具系统等高级功能。基于TypeScript和Node.js构建,使用Pi Agent作为智能体…

作者头像 李华
网站建设 2026/5/22 7:54:01

大模型入门必学:部署与训练的区别及推理引擎的桥梁作用

大模型部署与训练有本质区别,前者注重高性能、低延迟和稳定性,后者注重灵活性和迭代速度。推理引擎作为"中间人",将模型从"实验状态"转化为"生产状态",优化运行环境并提升并发能力。部署方式可分为…

作者头像 李华
网站建设 2026/5/31 11:27:10

C++编译期类型生成

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第一个满…

作者头像 李华