LXDAO 是一个专注研发的 DAO 组织,致力于构建支持有价值的公共物品和开源项目的无限循环。 LXDAO is an R&D-focused DAO dedicated to building an Infinite Cycle that supports valuable

Geth 源码系列:Blockchain 的设计及实现
本文作者:Ray 这篇文章是 Geth 源码系列的第六篇,通过这个系列,我们将搭建一个研究 Geth 实现的框架,开发者可以根据这个框架深入自己感兴趣的部分研究。这个系列共有六篇文章,在第六篇文章中,我们将深入研究以太坊的 Blockchain 结构,Blockchain 代表的是以太坊共识结果,Blockchain 模块会负责验证新的区块、处理链重组以及区块的存储和检索,本文将深入研究 Blockchain 的设计及实现。Blockchain 简介在以太坊中,用户提交交易之后的所有流程,包括交易传播、出块节点选择、共识层选择链的过程,都是为了最终产出区块做准备。出块节点通过打包交易来产出区块,新区块会去链接前一个区块,最终形成一个链状结构,也就是区块链,Blockchain 模块的职责就是管理这个过程,与共识层配合,共同完成区块链状态和区块的维护。Blockchain 架构及生命周期Blockchain 负责对共识结果的持久化,连接了共识层和持久化数据库,负责将区块链网络中以及产生的共识结果持久化到本地。在正常情况下,区块链网络共识过程正常,节点也能正常接收对应的共识结果,执行...

Geth 源码系列:Blockchain 的设计及实现
本文作者:Ray 这篇文章是 Geth 源码系列的第六篇,通过这个系列,我们将搭建一个研究 Geth 实现的框架,开发者可以根据这个框架深入自己感兴趣的部分研究。这个系列共有六篇文章,在第六篇文章中,我们将深入研究以太坊的 Blockchain 结构,Blockchain 代表的是以太坊共识结果,Blockchain 模块会负责验证新的区块、处理链重组以及区块的存储和检索,本文将深入研究 Blockchain 的设计及实现。Blockchain 简介在以太坊中,用户提交交易之后的所有流程,包括交易传播、出块节点选择、共识层选择链的过程,都是为了最终产出区块做准备。出块节点通过打包交易来产出区块,新区块会去链接前一个区块,最终形成一个链状结构,也就是区块链,Blockchain 模块的职责就是管理这个过程,与共识层配合,共同完成区块链状态和区块的维护。Blockchain 架构及生命周期Blockchain 负责对共识结果的持久化,连接了共识层和持久化数据库,负责将区块链网络中以及产生的共识结果持久化到本地。在正常情况下,区块链网络共识过程正常,节点也能正常接收对应的共识结果,执行...

Geth 源码系列:EVM 设计及实现
“这篇文章是 Geth 源码系列的第五篇,通过这个系列,我们将搭建一个研究 Geth 实现的框架,开发者可以根据这个框架深入自己感兴趣的部分研究。这个系列共有六篇文章,在第五篇文章中,我们将深入研究 EVM,EVM 是以太坊执这个交易驱动的状态机的核心部分,所有的交易需要经过 EVM 的执行才能成为状态的一部分。会详细介绍 EVM 的版本迭代,也会详细说明 EVM 的设计及实现,以及对交易的处理细节。 本文作者:RayEVM 简介如果把以太坊看作是一个交易驱动的状态机,那么 EVM 就是其中的状态转换函数,EVM 会以当前的世界状态和交易作为输入,输出下一个世界状态。 在了解 EVM 之前,需要先理解一下以太坊的账户模型, 与比特币不一样,以太坊中是以账户为基础的存储单元,每个账户都有一个地址,地址之间的账户会引起世界状态的变化。在以太坊中有两种账户类型:EOA(Externally-owned account):通常称为外部账户,这类账户由私钥控制合约账户(Contract account):需要部署合约代码,由代码来控制账户但是在 EIP-7702 实施之后,EOA 也能附加...

Geth 源码系列:EVM 设计及实现
“这篇文章是 Geth 源码系列的第五篇,通过这个系列,我们将搭建一个研究 Geth 实现的框架,开发者可以根据这个框架深入自己感兴趣的部分研究。这个系列共有六篇文章,在第五篇文章中,我们将深入研究 EVM,EVM 是以太坊执这个交易驱动的状态机的核心部分,所有的交易需要经过 EVM 的执行才能成为状态的一部分。会详细介绍 EVM 的版本迭代,也会详细说明 EVM 的设计及实现,以及对交易的处理细节。 本文作者:RayEVM 简介如果把以太坊看作是一个交易驱动的状态机,那么 EVM 就是其中的状态转换函数,EVM 会以当前的世界状态和交易作为输入,输出下一个世界状态。 在了解 EVM 之前,需要先理解一下以太坊的账户模型, 与比特币不一样,以太坊中是以账户为基础的存储单元,每个账户都有一个地址,地址之间的账户会引起世界状态的变化。在以太坊中有两种账户类型:EOA(Externally-owned account):通常称为外部账户,这类账户由私钥控制合约账户(Contract account):需要部署合约代码,由代码来控制账户但是在 EIP-7702 实施之后,EOA 也能附加...

Geth 源码系列:交易设计及实现
本文作为 Geth 源码解析系列的第四篇,将穿透表层流程,深入交易生命周期的每个环节:从签名验证到交易池的双层架构(BlobPool 与 LegacyPool 的设计精要)从动态费率机制(EIP-1559)到负载均衡实现(BaseFee 的弹性调节逻辑)从广播打包的 P2P 传播优化到 EVM 执行的底层状态修改(StateDB 的脏状态追踪) 我们结合最新 Pectra 升级特性(如 SetCodeTxType 交易),逐层剖析源码中的关键实现: TxData 接口如何统一五类交易? 交易池的 LazyTransaction 如何兼顾内存安全与效率? 共识层与执行层如何通过 engineAPI 协同构建区块? 本地交易为何享有打包优先级? 无论你是希望理解交易池抗 DDoS 的驱逐机制,还是探究 ApplyTransaction 如何驱动状态机,本文将为你在源码级透视以太坊的交易引擎提供完整框架交易简介以太坊执行层可以看作是一个交易驱动的状态机,交易是唯一修改状态的方式。交易只能由 EOA 发起,并且会在交易中附加私钥的签名,交易执行之后就会更新以太坊网络的状态。以太坊网络中最...

Geth 源码系列:交易设计及实现
本文作为 Geth 源码解析系列的第四篇,将穿透表层流程,深入交易生命周期的每个环节:从签名验证到交易池的双层架构(BlobPool 与 LegacyPool 的设计精要)从动态费率机制(EIP-1559)到负载均衡实现(BaseFee 的弹性调节逻辑)从广播打包的 P2P 传播优化到 EVM 执行的底层状态修改(StateDB 的脏状态追踪) 我们结合最新 Pectra 升级特性(如 SetCodeTxType 交易),逐层剖析源码中的关键实现: TxData 接口如何统一五类交易? 交易池的 LazyTransaction 如何兼顾内存安全与效率? 共识层与执行层如何通过 engineAPI 协同构建区块? 本地交易为何享有打包优先级? 无论你是希望理解交易池抗 DDoS 的驱逐机制,还是探究 ApplyTransaction 如何驱动状态机,本文将为你在源码级透视以太坊的交易引擎提供完整框架交易简介以太坊执行层可以看作是一个交易驱动的状态机,交易是唯一修改状态的方式。交易只能由 EOA 发起,并且会在交易中附加私钥的签名,交易执行之后就会更新以太坊网络的状态。以太坊网络中最...

Geth 源码系列:p2p 网络设计及实现
为什么需要关注 Geth 的 P2P 层?去中心化的生命线:P2P 网络是以太坊无需信任的根基,承担区块传播、交易广播、状态同步等核心功能 性能的关键瓶颈:节点发现效率、数据同步速度直接影响全网健康度(如 SnapSync 将同步时间从数天缩短至小时级⏳) 升级演进的核心战场:从 Discv4 到 Discv5 的协议迭代,见证以太坊网络层的进化之路 这篇文章是 Geth 源码系列的第三篇,通过这个系列,我们将搭建一个研究 Geth 实现的框架,开发者可以根据这个框架深入自己感兴趣的部分研究。这个系列共有六篇文章,在这第三篇文章中,将系统讲解 Geth 的 p2p 网络设计与相关源码,包括以太坊的 DevP2P 协议规范,以及 Geth 中 p2p 网络架构及代码实现。 以太坊作为一个去中心化平台,其核心功能依赖于 p2p(peer-to-peer)网络,p2p 网络负责执行层节点之间的通信,为其他子协议提供底层能力、传播区块和交易,并支持以太坊实现去中心化。 本文作者: zhou | Blockchain Developer, Web3 Engineer, Lecturerp2...

Geth 源码系列:p2p 网络设计及实现
为什么需要关注 Geth 的 P2P 层?去中心化的生命线:P2P 网络是以太坊无需信任的根基,承担区块传播、交易广播、状态同步等核心功能 性能的关键瓶颈:节点发现效率、数据同步速度直接影响全网健康度(如 SnapSync 将同步时间从数天缩短至小时级⏳) 升级演进的核心战场:从 Discv4 到 Discv5 的协议迭代,见证以太坊网络层的进化之路 这篇文章是 Geth 源码系列的第三篇,通过这个系列,我们将搭建一个研究 Geth 实现的框架,开发者可以根据这个框架深入自己感兴趣的部分研究。这个系列共有六篇文章,在这第三篇文章中,将系统讲解 Geth 的 p2p 网络设计与相关源码,包括以太坊的 DevP2P 协议规范,以及 Geth 中 p2p 网络架构及代码实现。 以太坊作为一个去中心化平台,其核心功能依赖于 p2p(peer-to-peer)网络,p2p 网络负责执行层节点之间的通信,为其他子协议提供底层能力、传播区块和交易,并支持以太坊实现去中心化。 本文作者: zhou | Blockchain Developer, Web3 Engineer, Lecturerp2...

EIP-7702 残酷共学优秀笔记总结
经过 10 天的高强度学习挑战, 本期 EIP-7702 残酷共学圆满落幕!本期共吸引 43 名学习者参与,最终 18 人成功完成挑战,淘汰率达 58.14% !其中,12 位伙伴以全勤战绩荣获“全勤超残酷”称号,展现了非凡的毅力与热忱! 我们也整理了一些同学的优秀笔记,便于大家更好的理解 EIP-7702什么是 EIP-7702?来源:Jack_OuCJ EIP 7702 的核心是引入一种新的交易类型,允许账户自行设置和委托代码。它不再将完整的合约代码直接存储在账户中,而是存储一个委托指示符,该指示符由一个特定的前缀加上一个地址 ( (0xef0100 || address))组成。这个指针指向实际智能合约代码在链上的位置。 简而言之,钱包将指向链上的智能合约,该合约的逻辑决定账户的行为方式。 这种机制使 EOA 的行为更像智能账户。然而,两者之间一个显著的区别是,EOA 的私钥拥有对账户的完全控制权。如果 EOA 的私钥被泄露,攻击者将完全控制该账户。 它的核心目标是:让外部拥有账户(EOA)拥有合约账户(Contract Account)那样的灵活签名和权限管理能力;保持原...

EIP-7702 残酷共学优秀笔记总结
经过 10 天的高强度学习挑战, 本期 EIP-7702 残酷共学圆满落幕!本期共吸引 43 名学习者参与,最终 18 人成功完成挑战,淘汰率达 58.14% !其中,12 位伙伴以全勤战绩荣获“全勤超残酷”称号,展现了非凡的毅力与热忱! 我们也整理了一些同学的优秀笔记,便于大家更好的理解 EIP-7702什么是 EIP-7702?来源:Jack_OuCJ EIP 7702 的核心是引入一种新的交易类型,允许账户自行设置和委托代码。它不再将完整的合约代码直接存储在账户中,而是存储一个委托指示符,该指示符由一个特定的前缀加上一个地址 ( (0xef0100 || address))组成。这个指针指向实际智能合约代码在链上的位置。 简而言之,钱包将指向链上的智能合约,该合约的逻辑决定账户的行为方式。 这种机制使 EOA 的行为更像智能账户。然而,两者之间一个显著的区别是,EOA 的私钥拥有对账户的完全控制权。如果 EOA 的私钥被泄露,攻击者将完全控制该账户。 它的核心目标是:让外部拥有账户(EOA)拥有合约账户(Contract Account)那样的灵活签名和权限管理能力;保持原...