Web3 简介

Welcome to Web3! Web3代表互联网下一个时代以区块链为核心实现去中心化用户掌控数据和资产通过智能合约自动化交互摆脱中心化平台控制 security Web3安全聚焦预防黑客攻击和漏洞利用 采用多层防御策略包括智能合约审计访问控制实时监控 使用Slither Mythril检测重入攻击整数溢出权限问题 最佳实践强调私钥管理多签名钱包紧急暂停机制 2025年主要威胁包括闪贷治理攻击跨链桥漏洞钓鱼攻击 强调安全即代码从设计阶段整合形式验证AI驱动监控 开源库OpenZeppelin提供安全合约模板减少常见错误 机构级项目需持续审计漏洞赏金计划构建信任 wallet 钱包是Web3入口管理私钥和资产交互 分为热钱包和冷钱包 热钱包如MetaMask浏览器扩展方便dApp连接但易受网络攻击 冷钱包包括Ledger硬件钱包和纸钱包离线存储更安全适合大额持有 非托管钱包用户完全控制密钥 托管钱包如Coinbase简化但依赖平台 ERC-4337账户抽象提升用户体验支持社交恢复气体赞助 多链钱包如Rainbow支持Layer2降低费用 安全提示必须使用硬件签名绝不泄露种子短语定期备份 eip 👉 EIP 笔记合集 EIP是以太坊改进提案标准化平台变更 涵盖核心协议客户端API合约规范 任何人可提交草案经社区讨论编辑审查进入最终状态 核心EIP需全网共识可能引发硬分叉 如EIP-1559引入基础费市场 ERC是EIP子集专注应用层标准 EIP过程确保透明包容 从草稿到最后调用再到最终实施 EIP-4844引入blob数据大幅降低Layer2成本 未来EIP聚焦可扩展性隐私如Verkle树 erc ERC是以太坊请求评论定义代币和应用标准 ERC20用于可互换代币如USDT支持转移批准余额查询 ERC721创建非同质化代币NFT唯一标识所有权如CryptoKitties ERC1155多代币标准单一合约管理可互换非同质化半同质化资产 高效批量转移节省气体适用于游戏物品票务 这些标准确保全生态互操作性 开发者可直接构建兼容项目 ERC20主导DeFi ERC721推动NFT市场 ERC1155优化复杂用例 codeLanuage 智能合约语言最终编译为EVM字节码 Solidity主流类JavaScript支持继承修饰符库生态最丰富 Vyper Python风格故意去除继承无限循环提升可审计性安全性 Yul中间语言用于精细气体优化 Rust主要用于Solana非EVM链 Ethereum生态仍以Solidity和Vyper为主 学习Solidity推荐从Remix IDE开始 Vyper强调人类可读代码减少攻击面 选择语言取决于项目复杂度和安全优先级 evm EVM是以太坊虚拟机去中心化计算引擎 执行智能合约字节码采用栈基架构深度1024 每操作码消耗气体防止滥用 Turing完备支持任意逻辑但有气体上限避免无限循环 EVM负责状态转换更新账户余额存储 所有节点一致执行保证确定性隔离 兼容链如Polygon Arbitrum共享EVM实现无缝移植 未来升级EOF引入容器化代码提升效率 EVM是整个以太坊生态的计算核心 ...

November 20, 2025 · 1 min · 86 words · Guangyang Zhong

EIP 笔记合集

EIP 索引总览 这里收录所有值得单独成文的里程碑级EIP 每篇深度拆解一份EIP的诞生背景技术细节安全影响落地历程社区争议及后续演进 点击标题直达对应专文 简介 EIP(Ethereum Improvement Proposal)是以太坊改进提案 任何人都能提交的标准化文档 驱动以太坊从创世区块到今天的唯一正式机制 ERC只是EIP的应用层子集 所有硬分叉升级Layer2变革账户抽象都源于EIP 账户抽象时代 EIP-4337 无私钥账户抽象:2023年真正落地版本(已完稿) EIP-3074 AUTH与AUTHCALL:被废弃的账户抽象先驱(待撰写) EIP-5003 代码注入式账户抽象(待撰写) EIP-7702 新账户抽象终极方案(2025进行中)(待撰写) 费用市场与通缩 EIP-1559 基础费燃烧:让ETH成为超声波货币(待撰写) EIP-4844 Proto-Danksharding:Rollup费用暴跌90%(待撰写) EIP-7514 减缓质押增长:保护去中心化(待撰写) 质押与提款 EIP-4895 质押提款:上海升级核心(待撰写) EIP-7002 部分提款与主动退出(待撰写) EIP-6110 链上质押存款(待撰写) EVM与执行层未来 EIP-7691 EOF:EVM容器化革命(2026目标)(待撰写) EIP-7623 提高CALLDATA成本为Danksharding铺路(待撰写) EIP-4444 历史数据过期机制(待撰写) EIP-5656 MCOPY指令:降低内存拷贝成本(待撰写) 数据可用性与Layer2 EIP-4844 Blob交易与Danksharding路线图(待撰写) EIP-7594 PeerDAS:对等数据可用性采样(待撰写) EIP-6465/6466 Blob历史过期方案(待撰写) 其他正在关注的EIP EIP-7732 EIP-7702+ERC-7730安全增强版(待撰写) EIP-2537 BLS预编译:加速零知识证明(待撰写) EIP-5920 PAY opcode:原生转账新方式(待撰写) EIP-6780 自毁仅限创建交易:提升状态管理(待撰写) 更多EIP专文持续更新中 目前仅EIP-4337已完稿,其余陆续放出 每一篇都是以太坊进化史的真实注脚

December 1, 2025 · 1 min · 65 words · Guangyang Zhong

EIP-4337

摘要 引入 UserOperation:一种高层“伪交易对象”,替代直接在共识层提交交易 用户将 UserOperation 发送到单独的 mempool Bundler 将多个 UserOperation 打包,通过 handleOps 调用 EntryPoint 合约,再打包进区块 目标是在不修改以太坊底层协议的情况下,实现账户抽象 动机 实现账户抽象 允许使用智能合约账户作为主账户,支持任意验证逻辑。 用户无需拥有外部账户(EOA)。 去中心化与开放参与 任何 bundler 都可参与交易打包。 依赖公共 mempool,无需用户直接知晓 bundler 地址。 不增加信任假设。 无需共识层修改 避免协议层改动,提高快速部署的可能性。 支持更多应用场景 隐私保护型应用 原子多操作 使用 ERC-20 代币支付手续费或开发者代付 灵活的验证逻辑(不同签名方案、多签、恢复方案) 灵活的手续费支付(第三方支付、跨链支付) 批量操作与打包执行 总结:该提案通过 UserOperation、Bundler 和 EntryPoint 合约实现智能合约账户的完全抽象化,支持多签、代付和批量操作,同时无需修改以太坊共识层 规范 术语定义 术语 定义 UserOperation 一种描述“代表用户发起一笔交易”的数据结构。为避免与原生交易混淆,特意不叫“transaction”。像交易一样,它包含 to、calldata、maxFeePerGas、maxPriorityFeePerGas、nonce、signature。不像交易,它包含以下所述的几个其他字段。特别注意,signature 字段的使用不由协议定义,而是由智能合约账户实现定义 Sender 发起 UserOperation 的智能合约账户 EntryPoint 用于执行 UserOperation 批次的单例合约。Bundler 应白名单支持的 EntryPoint Bundler 一个节点(区块构建者),它能处理 UserOperation、创建有效的 entryPoint.handleOps() 交易,并在交易仍有效时将其添加到区块中。这可以通过多种方式实现:Bundler 可以自己充当区块构建者。如果 bundler 不是区块构建者,它应通过 mev-boost 等基础设施或其他提议者-构建者分离机制与区块构建者合作 Paymaster 同意代替 sender 支付交易费用的辅助合约 Factory 必要时负责部署新 sender 合约的辅助合约 Aggregator 也称为“授权合约” - 一个允许多个 UserOperation 共享一次验证的合约。此类合约的完整设计超出本提案范围 Canonical UserOperation mempool 一个去中心化、无许可的 P2P 网络,bundler 在其中交换符合同一套共享验证规则的合法 UserOperation。具体规则的完整规范超出本提案范围 Alternative UserOperation mempool 任何其他 P2P 内存池,其中 UserOperation 的有效性由不同于共享规则的规则决定,这些规则以任何方式应用于验证代码 Deposit Sender 或 Paymaster 合约向 EntryPoint 合约转入的一笔以太币(或任何 L2 原生货币),用于支付未来 UserOperation 的 gas 费用 UserOperation 结构定义 字段 类型 描述 sender address 发起 UserOperation 的账户 nonce uint256 防重放参数(详见“半抽象 Nonce 支持”) factory address 新账户的账户工厂 OR 0x7702 标志用于 EIP-7702 账户,否则 address(0) factoryData bytes 如果提供 factory,则为账户工厂的数据 OR EIP-7702 初始化数据,或空数组 callData bytes 在主要执行调用期间传递给 sender 的数据 callGasLimit uint256 为主要执行调用分配的 gas 量 verificationGasLimit uint256 为验证步骤分配的 gas 量 preVerificationGas uint256 额外 gas 用于支付 bundler maxFeePerGas uint256 最大 gas 费(类似于 EIP-1559 max_fee_per_gas) maxPriorityFeePerGas uint256 最大优先费(类似于 EIP-1559 max_priority_fee_per_gas) paymaster address paymaster 合约地址(或空,如果 sender 自己支付 gas) paymasterVerificationGasLimit uint256 为 paymaster 验证代码分配的 gas 量(仅当 paymaster 存在时) paymasterPostOpGasLimit uint256 为 paymaster 后操作代码分配的 gas 量(仅当 paymaster 存在时) paymasterData bytes paymaster 的数据(仅当 paymaster 存在时) signature bytes 传入 sender 以验证授权的数据 上链时部分字段会被打包,转变成 PackedUserOperation ...

December 1, 2025 · 7 min · 1476 words · Guangyang Zhong