timezone |
---|
Asia/Shanghai |
- 自我介绍: 大家好我是zhwindy,已入圈web3多年,做过钱包开发和solidity合约开发,希望与大家一起继续深耕以太坊协议和生态
- 你认为你会完成本次残酷学习吗?必须完成
- TG联系方式:@coder_winston
- 了解EPF和EPFsg项目的相关信息, 查阅读了相关的历史活动和内容.
- 了解EPF残酷共学的由来和本次的参与方式和整体流程.
- [https://epf.wiki] 整体过了一遍内容架构, 明确了接下来学习的内容和重点方向.
- 学习了2024 Study Group的week0, week1, week2的内容.
看了2024 StudyGroup的前几week的视频, 因为是长视频为主, 学习起来效果不是很好, 效率也很低.
转换思路从Protocol Wiki入手按模块学习, 按下面三个大模块:
- 以太坊协议及发展历程
- 执行层和执行客户端
- 共识层和共识客户端
今天学习第一部分: 以太坊协发展历程, 总结下来主要以下4个方面的内容:
- 历史渊源,漫长的进化: 从unix和贝尔实验室,到互联网浪潮,从人类对自由的渴望和追求,到密码学的发展到电子现金的尝试,从比特币的横空出世到以太坊的诞生;
- 以太坊协议的整体架构: 执行层(执行客户端)和共识层(共识客户端)各自包含的组件,以及执行客户端和共识客户端的通信方式和流程;
- 以太坊协议的设计合理性:
- 设计理念(Simplicity, Universality, Modularity, Non-discriminant, Agility)
- 设计原则(Managing Complexity, Freedom, Generalization, no features)
- 区块链层协议: 账户体系, MPT, RLP;
- 协议历史和演变: Frontier -> Homestead -> The Merge;
今天学习第二部分: 以太坊执行层, 执行层的内容是比较多的, 今天看到的部分是:
- 执行层的核心功能
- 执行客户端架构
- 常用的执行客户端
- 以太坊虚拟机EVM
今天深入学习第二部分 以太坊虚拟机EVM的内容:
- 以太坊状态机(state machine)
- 虚拟机范式(virtual machine paradigm)
- EVM 和 EVM bytecode
- 程序计数器(program counter)
- Gas
- 栈(Stack)
- 内存(Memory)
- Storage
- Wrapping up
- EVM upgrades
- EVM实现: Go(Geth), Rust(revm), Python(py-evm), C++(EVMONE)
- 预编译合约
今天继续学习第二部分以太坊虚拟机的细节:
- 数据结构MPT: Merkle Patricia Trie
- Transaction剖析
- JSON-RPC API
- 数据序列化RLP
- 区块构建