10 个问题快速入门以太坊协议的小册策划

https://epf.wiki/ 是个学习以太坊协议很好的资料,但是比较追求全面和细节,导致内容量也比较大。里面拥有更多的扩展链接,每一个出去都非常的深入,这里就会产生一个 gap 会阻碍感兴趣的开发快速关注协议层的内容。

针对这个问题,我一直在构思创建一个开源的小册,一个精简版的以太坊协议入门。大概会通过 10 个问题的篇幅,深入浅出,把以太坊协议的工作原理尽量简单、有趣的串起来讲清楚。激发开发者的兴趣,同时可以覆盖大部分的以太坊协议层话题,然后再进入 wiki,然后再是扩展链接和实际代码。这 10 个问题有点类似: 深度解析:在发送 1 个 DAI 时发生了什么

以下是我之前的构思的草稿和打算设置的问题,当然仅作为抛砖引玉,欢迎大家评论自己的想法:

1. 当我们部署一个合约时,背后发生了什么?
探索智能合约的定义、编写、部署和执行过程。包括智能合约的编程语言(如Solidity)、EVM(以太坊虚拟机)的作用以及智能合约如何与区块链交互。

2. 一个以太坊钱包是如何创建出来的?
包括钱包私钥、公钥、地址生成规则,然后到存储在以太坊 state 里面的状态等。

3. 当我们发送一个 ERC20 到另一个地址,背后发生了什么?

4. 以太坊如何计算 gas fee?
从用户操作和交互界面,到 gas fee 计算规则,再到相关 EIP,再到 Opcode,再到设计 gas fee 背后的经济学和哲学,以及如何 anti-spam 和 DoS。

5. 以太坊 AA 钱包是如何帮你代付 Gas Fee 的?
智能合约钱包的工作流程和理念。

6. L2 是如何工作的?

7. 以太坊网络的研发、升级是如何协调的?
包括 EIP 流程、各个论坛和开发者会议、Protocol guild 等。

8. 是谁在维护以太坊网络的安全性和持续运营?
包括 solo staking、node、lido 等。

4 Likes

8 感覺可以加上 geth 跟其他客戶端的介紹,包含架設客戶端還有簡單的抓資料。

我小白看文档真的看得很迷糊,期待简单易懂的小册子:saluting_face:

扩展资料太多了 :rofl:

从一个变更 到 EIP 到讨论确认 到开会并入升级 到客户端实现的代码,中间发生了什么?

可以找一个简单的 EIP 介绍整个流程。

AI 生成,以供参考:

以下内容将先根据「模板示例」对同类主题进行合并和简要整理,每个主题以「核心问题示例」和「思路拓展」的方式呈现,帮助读者快速了解以太坊协议层的主要知识点,并为后续深入学习留下扩展方向。示例中也会提及常见的误区或进一步阅读建议,方便你在后续写作时灵活取舍、补充案例与图表。


1. 合约部署的「全景」:从代码到区块链

核心问题示例

  • 当我们部署一个合约时,背后具体发生了什么?
  • 为什么说「代码即法律」并不完全准确?

思路拓展

  • 部署前
    • 介绍 Solidity/EVM 基础概念;
    • 合约编译得到 Bytecode;
    • 估算部署的 Gas。
  • 部署中
    • 交易的打包和广播流程;
    • 验证者(PoS 下)或矿工(PoW 下)如何执行并将合约代码存储到区块链;
    • 生成合约地址的规则(基于发送方地址 + nonce)。
  • 部署后
    • 代码与状态如何保存在以太坊的状态树 (state trie) 中;
    • 合约被调用的运行机制;
    • 构造函数和初始化数据如何影响最终部署结果。
  • 常见误区
    • 部署时的构造函数与初始化数据,很多人混淆了二者;
    • 库(library)链接机制常被忽视,尤其在多合约项目中;
    • 「代码即法律」有局限,合约漏洞或意外情况仍需人工或社区决策。
  • 进一步阅读
    • EVM opcode 与合约 runtime;
    • 可升级合约(如 Proxy/Beacon 方案)在部署与后续修改中的应用场景。

2. 以太坊钱包与账户:从私钥、公钥到地址与状态

核心问题示例

  • 为什么说「私钥并不在区块链上」,但却能完全控制一个地址的资产?

思路拓展

  • 私钥、公钥、地址
    • ECDSA 椭圆曲线加密简介;
    • 地址是如何从公钥哈希推导出来的(Keccak-256);
    • 助记词(BIP39)与 keystore 文件结构。
  • 账户类型
    • 外部拥有账户(EOA) vs. 合约账户(Contract Account);
    • 账户抽象(AA)是否算第三种?其实它也是合约账户的一种演进形态。
  • 状态存储
    • 在状态树 (State Trie) 中,每个账户记录了 balance、nonce、storage root;
    • 为什么地址对应的「余额」实际上是网络共识的结果。
  • 安全性
    • 私钥丢失、被盗等风险;
    • 硬件钱包与「不托管」的重要性。
  • 进一步阅读
    • EIP-55 大小写 checksum;
    • BIP44 分层确定性路径;
    • AA 钱包如何在合约级别实现更多自定义逻辑。

3. 发送 ERC20 代币:一次看似简单的转账,实际发生了什么?

核心问题示例

  • 当我在钱包里点下「发送」按钮时,背后是如何调用合约、执行更新和支付 gas 的?

思路拓展

  • 用户与钱包交互
    • 构造交易(to = 合约地址,data = 调用 transfer);
    • 设置 gas 价格、gas limit;
    • 用私钥签名并广播到网络。
  • 合约层
    • ERC20 的核心函数 transfer / transferFrom / approve
    • balanceOf 等映射变量更新;
    • 触发 Transfer 事件并记录到日志。
  • 区块确认
    • 交易在内存池(mempool)中的传播;
    • 验证者打包后,上链并更新状态;
    • 如何查看交易哈希 (Tx Hash) 与执行结果 (Receipt);
    • 一旦区块确认,合约中余额更新对全网生效。
  • 进一步阅读
    • ERC777、ERC1155 等更先进的代币标准;
    • ERC20 的常见安全漏洞(如重入攻击已在新标准中得到改进等)。

4. Gas 费与以太坊经济:从防止滥用到 EIP-1559

核心问题示例

  • 为什么以太坊上的每个操作都需要 gas?gas 是怎么影响合约开发者和用户体验的?

思路拓展

  • Gas 机制的初衷
    • 防止无限循环或无成本操作导致的 DoS;
    • 让每一笔交易都付出资源消耗的对价。
  • Gas 计算规则
    • 各类 EVM opcode 的 gas 消耗;
    • 存储操作(SSTORE)的高成本;
    • Gas refund 机制(减少链上垃圾状态)。
  • EIP-1559
    • 引入 Base Fee 和 Priority Fee;
    • 手续费燃烧 (Burn) 机制,导致潜在的通缩效应;
    • 如何动态适配区块大小的弹性。
  • 经济学与哲学
    • Gas 价格随网络需求波动;
    • 高 Gas 时段与 Layer 2 的出现;
    • 这套机制如何形成自我调节与激励。
  • 进一步阅读
    • 未来的 Gas 计算升级;
    • Layer 2 中的独立费率与「汇总上链」费用模式。

5. 账户抽象 (AA) 钱包:如何实现「帮你代付 Gas」等高级操作?

核心问题示例

  • AA 钱包最大的特征是什么?为什么能让用户摆脱「每笔都要自己付 gas」的限制?

思路拓展

  • AA 的核心理念
    • 将签名验证与交易发送逻辑放入合约,使得「发起交易」不一定需要 EOA。
  • ERC-4337 机制
    • UserOperation 结构、EntryPoint 合约;
    • 代付和批量交易的原理。
  • 应用场景
    • 社会恢复 (Social Recovery);
    • 多签、权限控制、自动化任务(如定时付款)。
  • 风险与挑战
    • 合约的复杂度上升,需要审计;
    • Gas 代付方如何设计经济模式;
    • 升级兼容、跨网络适配问题。
  • 进一步阅读
    • 智能合约钱包(Safe/Gnosis Safe 等)的应用案例;
    • 如何在 Layer 2 环境中部署 AA 钱包。

6. Layer 2 (L2) 扩容方案:为什么需要它们?如何与主网协同?

核心问题示例

  • L2 是如何降低主网负担、加速交易并节省费用的?安全性又来自哪里?

思路拓展

  • 拥堵与扩容背景
    • 主网 TPS(交易处理速度)受限;
    • 用户体验:高额 gas 费与确认延迟。
  • Rollup 原理
    • Optimistic Rollup vs. ZK Rollup;
    • 挑战期 (Challenge Period) 与有效性证明 (Validity Proof);
    • 数据可用性(Data Availability)。
  • 生态应用
    • Arbitrum、Optimism、zkSync、StarkNet 的设计差异;
    • Sequencer 的中心化风险与去中心化探索。
  • 跨 L2 交互
    • 资产桥接;
    • L2 之间的互操作性与安全隐患。
  • 进一步阅读
    • 数据可用性层 (DA Layer)、Danksharding、EigenLayer 等潜在未来优化。

7. 以太坊共识机制与节点:从 PoW 到 PoS

核心问题示例

  • 以太坊是怎么在去中心化环境下达成共识的?PoS 上线后谁来保护网络?

思路拓展

  • PoW 时代回顾
    • 挖矿、难度炸弹、叔块 (Ommer);
    • 为什么最终走向 PoS 升级?
  • PoS (Proof of Stake)
    • 信标链 (Beacon Chain) 与验证者 (Validator) 轮流提议区块;
    • 质押 32 ETH、Slashing 与惩罚机制;
    • 合并 (The Merge) 之后对能耗与安全的影响。
  • 节点在网络中的角色
    • 执行层 (EL) 客户端与共识层 (CL) 客户端;
    • 全节点、轻节点、归档节点;
    • P2P 协议、Gossip 机制。
  • Staking 生态
    • 去中心化池(Rocket Pool) vs. 集中化服务(Lido);
    • 独立节点与「Solo Staking」的去中心化意义。
  • 进一步阅读
    • MEV(Maximal Extractable Value)在 PoS 环境下的演变;
    • Proposer-Builder Separation (PBS) 等前沿研究。

8. 以太坊治理与升级:EIP 流程、社区共识、硬分叉/软分叉

核心问题示例

  • 以太坊是一套协议,究竟是谁在制定和修改它?出现分歧时怎么办?

思路拓展

  • EIP (Ethereum Improvement Proposal)
    • 提案类别:Core、ERC、Informational 等;
    • 提案从草案到正式实施的流程;
    • EIP-1559、The Merge、上海升级 (Shapella) 等经典案例。
  • 社区治理
    • AllCoreDevs Meeting、Fellowship of Ethereum Magicians 等;
    • Core 开发者、客户端团队、社区的多方讨论;
    • 协作与资金支持(Protocol Guild 等)。
  • 硬分叉与软分叉
    • 硬分叉带来协议不兼容,曾有 The DAO Fork、Byzantium、Constantinople 等;
    • 软分叉的可逆性与节点兼容。
  • 进一步阅读
    • 历史性分叉的政治和社会影响;
    • 长期治理的去中心化与效率平衡。

9. 真实场景串讲:从「我按下交易签名」到「区块确认」的全流程

核心问题示例

  • 如果想彻底跟踪一笔交易在网络中的路径和执行细节,该如何做?

思路拓展

  • 交易构造与签名
    • 由钱包或脚本生成 raw transaction;
    • 私钥签名、得到 R/S/V。
  • 网络传播(mempool)
    • Gossip 协议将交易广播给其他节点;
    • 内存池中的排序策略(常见是按 Gas Price/Tips 排序)。
  • 验证者打包
    • 选出交易打包到区块;
    • EVM 执行每条 opcode 计算 gas;
    • 记录交易结果和事件日志在 Receipts Trie。
  • 区块链上确认
    • 区块头包含前一区块哈希,保证链式结构;
    • 在 PoS 下,区块最终性 (finality) 的确认过程;
    • 区块浏览器(如 Etherscan)可视化查询。
  • 进一步阅读
    • 如何通过客户端 debug 或跟踪指令级别执行 (opcodes);
    • Reorg(区块重组)与分叉冲突。

10. 安全与未来挑战:从合约审计到 MEV、跨链桥

核心问题示例

  • 智能合约看起来「不可变」,那黑客还能利用什么漏洞?跨链/跨 Rollup 又有哪些风险?

思路拓展

  • 合约安全
    • 常见漏洞(重入攻击、整数溢出、权限误配);
    • 审计与形式化验证的重要性。
  • MEV (Maximal Extractable Value)
    • 三明治攻击 (Sandwich Attack)、前跑 (Front-running);
    • Flashbots 与私有交易池;
    • PBS(Proposer-Builder Separation)在 PoS 下的减缓策略。
  • 跨链/跨 Rollup 安全
    • 多签桥 vs. 轻客户端桥;
    • 「锁定与铸造」或「燃烧与解锁」的跨链模式;
    • 桥接出现作恶或漏洞时的严重性(历史多次大额攻击)。
  • 未来挑战
    • 合约可升级与治理风险;
    • Layer 2 进一步分化与数据可用性争议;
    • 去中心化与性能的平衡仍在持续演进。

小结与建议

  • 从场景化切入
    将每个主题设计成一个「核心问题」+「场景」的形式,如「我怎么把 ERC20 转给别人」或「我部署合约后,区块链是如何保存它的」。这能让读者更直观地理解以太坊协议中看似抽象的运行机制。

  • 逐层深入
    以上 10 个主题从基础(账户、交易、合约)到进阶(AA、L2、PoS、治理、安全)循序渐进,覆盖以太坊协议层的关键部分。你可以按照这个顺序编写一个简洁的小册,也可视读者需求作重新排序或删减。

  • 配合图文示例
    建议在解释交易流程、状态更新、Rollup 原理等环节时,加入流程图、简图或关键数据结构示意图,能极大地提升理解效率。

  • 留有深入链接
    每个主题都可在末尾附上官方文档、EIP 或社区教程(如 ethereum.orgEIP 列表ConsenSys 学院等),帮助对该主题更感兴趣的读者继续探索。也可在适当位置提示他们回到更详细的 Wiki(如 epf.wiki)了解底层实现或历史资料。

  • 适度技术深度
    初学者往往对长篇的 Opcode、RLP 编码、复杂加密算法等会觉得难以消化。可以在主要讲解逻辑流程和核心机制的同时,将底层技术细节放在「附录」或「进一步阅读」部分,供进阶用户研究。

  • 关注社区热点
    以太坊仍在演进(如上海升级后还有 Cancun、EIP-4844 等),小册可随着社区热点和升级节奏进行增补或更新。这样能让内容保持「前沿」并兼顾技术长青。

只要围绕这 10 大核心主题(或根据需要增删)进行整理,并配合易懂的举例与图表,你就能在较短的篇幅内,让读者对以太坊协议有一个系统性的理解,也为他们深入 epf.wiki 或其他资料做好铺垫。祝写作顺利!