# Software Crypto Web3

> 针对 EVM、Solana、Cosmos 和 TON 的安全区块链开发。在构建智能合约、审计或集成链上后端时使用。

- Skill: `lza6/software-crypto-web3` (Agent Skill, multi-file: 19 files)
- Install (CLI): `npx skillmds@latest add lza6/software-crypto-web3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lza6/software-crypto-web3/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: lza6 (https://skillmd.com/u/lza6)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lza6/software-crypto-web3

---


# 软件加密与 Web3 工程 (Software Crypto/Web3)

使用此技能来设计、实施和审查安全的区块链系统，包括：智能合约、链上/链下集成、托管与签名、测试、审计及生产运营。

默认原则：**安全优先开发**、明确的威胁模型、全方位的测试（单元测试+集成测试+分叉测试+模糊测试/不变量测试）、高价值场景下的形式化方法、可升级的安全性（时间锁、治理、回滚计划）以及密钥托管与签名的深度防御。

---

## 快速参考表

| 任务 | 工具/框架 | 常用命令 | 使用场景 |
|------|----------------|---------|-------------|
| Solidity 开发 | Hardhat/Foundry | `npx hardhat init` 或 `forge init` | 以太坊/EVM 智能合约 |
| Solana 开发 | Anchor | `anchor init` | Solana 区块链开发 |
| Cosmos 合约 | CosmWasm | `cargo generate --git cosmwasm-template` | Cosmos 生态系统合约 |
| TON 合约 | Tact/FunC + Blueprint | `npm create ton@latest` | TON 区块链开发 |
| 可靠性测试 | Foundry/Hardhat | `forge test` 或 `npx hardhat test` | 单元、分叉、不变量测试 |
| 安全审计 | Slither/Aderyn/Echidna | `slither .` 或 `aderyn .` | 静态分析、模糊测试 |
| AI 辅助审查 | AI 扫描器 (可选) | N/A | 预审计准备（需人工验证结果）|
| 模糊测试 | Echidna/Medusa | `echidna` 或 `medusa fuzz` | 基于属性的模糊测试 |
| Gas 优化 | Foundry Gas 快照 | `forge snapshot` | 基准测试与优化 Gas 消耗 |
| 部署任务 | Hardhat Deploy/Forge Script | `npx hardhat deploy` | 主网/测试网部署 |
| 合约验证 | Etherscan API | `npx hardhat verify` | 源代码验证 |
| 可升级合约 | OpenZeppelin Upgrades | `@openzeppelin/hardhat-upgrades` | 基于代理 (Proxy) 的升级 |
| 智能钱包 | ERC-4337, EIP-7702 | 账户抽象 (AA) SDK | 智能账户与赞助 Gas (需验证网络支持) |

## 适用范围

当您需要进行以下工作时，请使用此技能：

- 智能合约开发 (Solidity, Rust, CosmWasm)
- DeFi 协议实施 (AMM, 借贷, 质押, 流动性挖矿)
- NFT 与令牌标准 (ERC-20, ERC-721, ERC-1155, SPL Token)
- DAO 治理系统开发
- 跨链桥接与互操作性方案
- Gas 优化与存储模式设计
- 智能合约安全审计
- 测试策略制定 (Foundry, Hardhat, Anchor)
- 预言机 (Oracle) 集成 (Chainlink, Pyth)
- 可升级合约模式 (Proxy, Diamond)
- Web3 前端集成 (ethers.js, web3.js, @solana/web3.js)
- 区块链数据索引 (The Graph, Subgraphs)
- MEV 保护与闪电贷机器人开发
- L2 扩容方案 (Base, Arbitrum, Optimism, zkSync)
- 账户抽象 (ERC-4337, EIP-7702, 智能钱包)
- **后端加密集成** (.NET/C#, 多提供商架构, CQRS)
- Webhook 处理与签名验证 (Fireblocks, 托管服务商)
- 基于 Kafka 的加密支付事件驱动架构
- 交易生命周期管理与监控
- 钱包管理 (托管与非托管)

## 决策树：区块链平台选择

```text
项目需求: [使用场景]
  - 是否需要兼容 EVM 的智能合约？
    - 复杂的测试需求 -> Foundry (支持模糊测试、不变量、Gas 快照)
    - TypeScript 生态偏好 -> Hardhat (丰富插件、TS 支持、Ethers.js/Viem)
    - 企业级功能 -> NestJS + Hardhat

  - 追求高吞吐量 / 低费用？
    - 基于 Rust 生态 -> Solana (Anchor)
    - EVM L2 方案 -> Arbitrum/Optimism/Base (共享以太坊安全性，极低 Gas)
    - 结合 Telegram 分发 -> TON (Tact/FunC)

  - 追求跨链互操作性？
    - Cosmos 生态 -> CosmWasm (IBC 协议)
    - 多链应用 -> LayerZero 或 Wormhole (需验证其信任假设)
    - 自研桥接 -> 风险极高；需建立严密的威胁模型

  - 代币标准实施？
    - 同质化代币 -> ERC20 (OpenZeppelin), SPL Token (Solana)
    - NFT -> ERC721/ERC1155 (OpenZeppelin), Metaplex (Solana)
    - 半同质化代币 -> ERC1155 (适用于游戏、碎片化 NFT)

  - DeFi 协议开发？
    - AMM/DEX -> Uniswap V3 分叉或自定义 (集中流动性)
    - 借贷协议 -> Compound/Aave 分叉 (抵押借贷)
    - 质押/收益 -> 自定义奖励分配合约

  - 需要合约可升级？
    - 透明代理 (Transparent) -> OpenZeppelin (实现管理员/用户权限分离)
    - UUPS 代理 -> 升级逻辑集成在实现合约中
    - 钻石模式 (Diamond) -> 模块化功能扩展 (EIP-2535)

  - 后端集成方案？
    - .NET/C# -> 采用多提供商架构 (参见后端集成参考)
    - Node.js -> Ethers.js/Viem + 持久化队列
    - Python -> Web3.py + FastAPI
```

**各链特定注意事项：**
- **以太坊/EVM**：安全第一、Gas 成本较高、生态系统最庞大。
- **Solana**：性能优先、需使用 Rust 语言、费用极低。
- **Cosmos**：互操作性优先、原生支持 IBC、生态持续增长。
- **TON**：Telegram 生态优先、异步合约调用、架构独特。

请参阅 `references/` 目录以获取各链的最佳实践。

---

## 安全优先模式 (2026 年 1 月更新)

> **安全基线**：假设处于对抗性环境。将合约和签名基础设施视为完全公开、随时可能受攻击的 API。

### 托管、密钥与签名 (核心)

密钥管理是生产级加密系统中最主要的风险来源。请参考真实的密钥管理标准（如 [NIST SP 800-57](https://csrc.nist.gov/publications/detail/sp/800-57-part-1/rev-5/final)）。

| 模式 | 密钥持有者 | 典型用途 | 主要风险 | 默认控制措施 |
|------|-----------------|------------------------|------------------------|--------------------|
| 非托管 | 最终用户钱包 | 消费者应用、自我托管 | 钓鱼、授权错误、用户操作失误 | 硬件钱包支持、清晰的签名 UI、交互白名单 |
| 托管 | 您的服务 (HSM/MPC) | 交易平台、支付、B2B | 密钥失窃、内部威胁、操作失误 | 使用 HSM/MPC、职责分离、限额/审批、审计日志 |
| 混合 | 责任共担 | 企业级应用 | 复杂的故障模式 | 明确的恢复/覆盖路径、完善的操作手册 |

**最佳实践：**
- 建立相互独立的“热/温/冷”签名路径，并设置限额和审批流。
- 高额转账必须经过双重控制（策略引擎验证 + 人工审批）。
- 为每一次签名请求保留不可篡改的审计追踪（谁、什么时间、操作内容、原因）。

**禁忌做法：**
- 严禁在数据库或应用配置文件中明文存储私钥。
- 严禁跨环境（开发/预发/生产）重复使用签名密钥。
- 严禁在没有速率限制和“熔断机制”的情况下运行热钱包自动化。

### “检查-效果-交互” (CEI) 模式

**所有状态修改函数必须遵循此模式**。

```solidity
// 正确做法: CEI 模式
function withdraw(uint256 amount) external {
    // 1. 检查 (Checks): 验证所有前提条件
    require(balances[msg.sender] >= amount, "余额不足");

    // 2. 效果 (Effects): 在进行外部调用之前更新内部状态
    balances[msg.sender] -= amount;

    // 3. 交互 (Interactions): 将外部调用放在最后执行
    (bool success, ) = msg.sender.call{value: amount}("");
    require(success, "转账失败");
}

// 错误做法: 在更新状态前进行外部调用（极易导致重入攻击）
function withdrawUnsafe(uint256 amount) external {
    require(balances[msg.sender] >= amount);
    (bool success, ) = msg.sender.call{value: amount}("");
    require(success);
    balances[msg.sender] -= amount; // 更新太晚了！
}
```

### 安全工具箱 (2026 年 1 月更新)

| 类别 | 工具名称 | 核心用途 | 使用建议 |
|----------|------|---------|------------|
| 静态分析 | Slither | 漏洞检测，内置 92+ 种检测器 | 每个合约必用 |
| 静态分析 | Aderyn | 基于 Rust，处理大型代码库速度极快 | 大型项目推荐 |
| 模糊测试 | Echidna | 基于属性的模糊测试 | 处理复杂状态时必用 |
| 模糊测试 | Medusa | 并行化的 Go 语言模糊测试工具 | 集成到 CI/CD 流水线 |
| 形式化验证 | SMTChecker | Solidity 内置的逻辑检查器 | 每个合约推荐使用 |
| 形式化验证 | Certora | 基于属性的证明 (CVL) | DeFi 及高价值合约必用 |
| 形式化验证 | Halmos | 符号执行测试 | 验证复杂的不变量 |
| AI 辅助 | Sherlock AI | 机器学习驱动的漏洞检测 | 审计前预检 |
| AI 辅助 | Olympia | 集成到 DevSecOps | CI/CD 环节安全加固 |
| AI 辅助 | Auditless | 423+ 检测器，由 LLM 驱动 | 审查业务逻辑漏洞 |
| 突变测试 | Sumi | 评估测试套件的覆盖质量 | 验证测试的有效性 |

```solidity
// Certora CVL 验证规则示例
rule balanceNeverNegative(address user) {
    env e;
    require balances[user] >= 0;
    deposit(e);
    assert balances[user] >= 0;
}
```

> **注意**：使用 AI 工具应仅用于审计前的预检和辅助覆盖，不能替代最终的安全决策。应将其输出视为不可信，必须通过确定性工具、测试和人工复核来验证结果。

### MEV (最大可提取价值) 保护

| 保护策略 | 具体实施方式 |
|----------|----------------|
| 私有内存池 | 使用 Flashbots Protect、MEV Blocker |
| “提交-揭示”模式 | 使用哈希承诺，在截止日期后揭晓内容 |
| 批量拍卖 | 使用 CoW Protocol、Gnosis Protocol |
| 加密内存池 | 使用 Shutter Network |

```solidity
// “提交-揭示” (Commit-Reveal) 模式示例
mapping(address => bytes32) public commitments;

function commit(bytes32 hash) external {
    commitments[msg.sender] = hash;
}

function reveal(uint256 value, bytes32 salt) external {
    require(
        keccak256(abi.encodePacked(value, salt)) == commitments[msg.sender],
        "揭示验证失败"
    );
    // 逻辑处理揭示后的真实数值
}
```

---

## 账户抽象 (AA) (2026 年 1 月更新)

> **注意**：账户抽象的采用率和协议升级计划变化极快。在提出具体方案前，请务必使用 `WebSearch` 验证 ERC-4337 生态系统的当前状态以及 EIP-7702 的激活细节。

### ERC-4337 与 EIP-7702 对比

| 标准 | 类型 | 核心特点 | 典型场景 |
|----------|------|-------------|----------|
| ERC-4337 | 智能合约钱包 | 无需修改以太坊协议的完整 AA 方案 | 新用户钱包、DeFi 深度集成、游戏 |
| EIP-7702 | EOA 账户增强 | 让普通 EOA 账户能执行合约代码 | 现有钱包升级、批量交易处理 |
| ERC-6900 | 模块化账户 | AA 钱包的插件化管理标准 | 可扩展、可定制的钱包功能 |

**ERC-4337 运作架构：**
```text
用户 -> UserOperation (用户操作) -> Bundler (打包器) -> EntryPoint (入口合约) -> 智能账户 -> 目标合约
                                    |
                                    v
                                Paymaster (Gas 赞助商)
```

**EIP-7702 (Pectra 升级相关)：**
- 普通 EOA 账户可以临时委派给智能合约。
- 支持批量交易，并能为现有地址提供赞助 Gas。
- 与 ERC-4337 互补（共用 Bundler/Paymaster 基础设施）。
- 已获得 Ambire, Trust Wallet 等越来越多钱包的支持。

**核心能力：**
- **免 Gas 交易**：通过 Paymasters 使用 ERC-20 代币或法币代付 Gas 费。
- **批量操作**：在单个事务中完成多个操作。
- **社交恢复**：支持多重签名或基于受托人的密钥恢复机制。
- **会话密钥 (Session keys)**：为 dApp 分配有限权限，无需完全授权钱包。

---

## L2 (第二层网络) 开发 (2026 年 1 月更新)

> **注意**：L2 的市场份额和风险评估处于快速变动中。在对 L2 进行排名、统计 TVL 或风险分类前，请参考最新数据（如 L2Beat）。

### L2 选择建议

| 网络 | 类型 | 最适合场景 | 核心优势 |
|----|------|----------|-------------|
| Base | Optimistic | 消费级应用、主流普及 | 与 Coinbase 深度集成，费用极低 |
| Arbitrum | Optimistic | DeFi 协议、成熟的生态 | TVL 最高、活跃的 DAO 资助 |
| Optimism | Optimistic | 公共物品、超级链 (Superchain) 生态 | 完善的 OP Stack 与资助计划 |
| zkSync Era | ZK-Rollup | 快速确认、原生支持 AA | zkEVM 兼容，提现无需等待 |
| Starknet | ZK-Rollup | Cairo 语言开发、原生 ZK 支持 | STARK 证明技术，定制化 VM |

### 企业级 Rollup 趋势 (2025-2026)

越来越多的大型机构基于 OP Stack 推出自己的 L2 网络：
- **Kraken INK** - 交易平台原生 L2。
- **Uniswap UniChain** - 针对 DeFi 深度优化。
- **Sony Soneium** - 专注于游戏与媒体内容。
- **Robinhood** - 集成 Arbitrum 网络。

### EIP-4844 (Blob 数据优化)

自 2024 年 3 月起，Rollup 开始使用基于 Blob 的数据发布方式：
- 之前：通过 `calldata` 发布 -> 成本极高。
- 之后：通过 `blob` 发布 -> 数据可用性 (DA) 成本大幅降低。

---

## 常见漏洞与错误 (2025-2026)

> **警示**：合约漏洞通常会造成惨重损失。权限控制、签名/托管逻辑以及集成环节的错误依然是事故频发的主要原因。

| 错误类型 | 潜在影响 | 预防措施 |
|--------|--------|------------|
| **权限控制缺失** | 未授权的管理员操作 | 使用 OpenZeppelin 的 `Ownable2Step` 或 `AccessControl` |
| **重入攻击 (Reentrancy)** | 资金被循环提取至空 | 严格执行 CEI 模式，使用 `ReentrancyGuard` |
| **未检查外部调用返回值** | 操作静默失败 | 始终检查 `call` 返回值，使用 `SafeERC20` 库 |
| **整数溢出 (0.8 以前版本)** | 数值被恶意操纵 | 升级至 Solidity 0.8.x+ (内置溢出检查) |
| **抢跑交易 (Front-running)** | MEV 被提取、三明治攻击 | 使用 Commit-reveal、Flashbots Protect 或私有内存池 |
| **预言机操纵** | 价格喂价遭受攻击 | 采用 TWAP (时间加权平均价)、多预言机校验、设置波动阈值 |
| **初始化不当** | 代理合约被非法接管 | 使用 `initializer` 修饰符，调用 `_disableInitializers()` |
| **存储冲突 (代理模式下)** | 合约数据损坏 | 遵循 EIP-1967 标准插槽，使用 OpenZeppelin Upgrades 插件 |

### 禁忌的开发模式

**严禁使用：**
- 使用 `tx.origin` 进行身份验证（存在钓鱼风险）。
- 在链上存储任何敏感私密信息（所有链上数据皆为公开可见）。
- 利用 `block.timestamp` 生成伪随机数（易受矿工/验证者操控）。
- 忽略 `transfer`/`send` 的执行返回值。
- 使用已停止维护的工具（如 Truffle, Ganache, Brownie）。

**最佳实践建议：**
- 每次代码变更后都运行静态分析（如 Slither 和 Aderyn）。
- 在任何审计启动前，必须完成模糊测试和不变量测试。
- 高价值 DeFi 项目必须采用形式化验证（如 Certora 和符号执行测试）。

---

### LLM 在智能合约开发中的局限性

**严禁完全依赖 LLM 进行：**
- 涉及到安全性关键逻辑的验证。
- 复杂的 Gas 消耗优化计算。
- 严密的数学逻辑证明。

**推荐利用 LLM 进行：**
- 样板代码生成（如测试脚本、基础文档）。
- 代码逻辑解释和审计前的初步梳理。
- 提出初始漏洞假设（但必须经过人工和工具验证）。

---

## 导航与参考

**核心参考资料**
- `references/blockchain-best-practices.md` - 通用区块链设计模式与安全性。
- `references/backend-integration-best-practices.md` - 后端加密集成模式 (.NET/C#, CQRS, Kafka)。
- `references/solidity-best-practices.md` - Solidity/EVM 特定开发指南。
- `references/rust-solana-best-practices.md` - Solana 与 Anchor 开发模式。
- `references/cosmwasm-best-practices.md` - Cosmos/CosmWasm 最佳实践。
- `references/ton-best-practices.md` - TON 合约 (Tact/FunC) 开发与部署。
- `references/defi-protocol-patterns.md` - 深度解析 DeFi 各类协议（AMM、借贷、预言机等）。
- `references/nft-token-standards.md` - NFT 相关标准与元数据处理。
- `references/cross-chain-bridges.md` - 跨链桥架构与安全性分析。
- `data/sources.json` - 精选的各链外部参考资源。

**代码模板**
- 以太坊/EVM: `assets/ethereum/template-solidity-hardhat.md`, `assets/ethereum/template-solidity-foundry.md`
- Solana: `assets/solana/template-rust-anchor.md`
- Cosmos: `assets/cosmos/template-cosmwasm.md`
- TON: `assets/ton/template-tact-blueprint.md`, `assets/ton/template-func-blueprint.md`
- 比特币: `assets/bitcoin/template-bitcoin-core.md`

---

## 趋势感知协议 (Trend Awareness Protocol)

**重要事项**：当涉及 Web3/加密货币的技术选型或趋势询问时，您必须在回答前先执行 `WebSearch` 以获取最新动态。

### 触发关键词
- “最适合 [用例] 的区块链是哪个？”
- “开发 [智能合约/DeFi/NFT] 推荐使用什么工具？”
- “Web3 开发目前的最新进展是什么？”
- “2026 年关于 [Solidity/审计/Gas 优化] 的最佳实践？”
- “[以太坊] vs [Solana] vs [其它网络] 选哪个？”

### 必须执行的搜索
1. `“2026年Web3开发最佳实践”`
2. `“[Ethereum/Solana/Base] 2026年开发动态更新”`
3. `“智能合约安全审计 2026”`
4. `“[Hardhat/Foundry] 2026年对比分析”`

### 结果汇报要求
搜索后，您的回复应包含：
- **当前现状**：目前主流的链、工具及框架。
- **新兴趋势**：正在获得关注的新协议或设计模式。
- **过时警示**：已失去热度或不再推荐的技术方案。
- **专家建议**：基于最新数据和生态活跃度给出的针对性建议。

---

## 操作手册
- `references/operational-playbook.md` - 包含智能合约架构、安全优先工作流以及各平台特定的操作模式。

## 事实核查要求
- 在给出最终答复前，务必验证当前的外部事实、版本号、定价、法规动态及平台行为。
- 优先选择一手信息源。
- 如果无法进行网络搜索，请在答复中明确说明局限性，并将指南标记为“未经验证”。

