查看原文
其他

以太坊协议共学|第一周内容回顾:以太坊协议 101

Chloe PlanckerDAO 2024-03-11

点击蓝字,关注我们

/ 内容整理 Chloe(EIP Fun)

/ 排版 Purple


引言

以太坊协议奖学金(EPF)最近支持了以太坊协议共学(EPS),该共学持续时间为十周,从 2 月 19 日到 4 月 29 日。帮助对以太坊协议感兴趣的学习者深入理解以太坊协议设计、方法及工具、目前以太坊路线图前沿的研究。


EPS 详细介绍

每周共学具体时间( 2 月 19 日到 4 月 29 日):

每周一 16:00 UTC,24:00 UTC+8

后续会议地址:

https://streameth.org/ethereum_protocol_fellowship/epf_study_group

详细介绍:

https://blog.ethereum.org/2024/02/07/epf-study-group

官方报名链接:

https://docs.google.com/forms/u/0/d/e/1FAIpQLSdLASV5RqAQv6I2KzA6DcxkFHKcZw3YuL3S3uXfsWUiYRsKRg/viewform?usp=send_form&pli=1

第一周内容回顾

Week1 资源链接

1. 第一周的课程 ppt:

https://github.com/eth-protocol-fellows/protocol-studies/blob/main/docs/eps/presentations/week1_protocol_intro.pdf

2. 第一周的视频:

https://streameth.org/watch?event=epf_study_group&session=65d77e4f437a5c85775fef9d

Week1 内容纪要

简介

分享主题:以太坊协议 101

分享者:Mario Havel

主要内容

1. 影响以太坊的历史和哲学

- UNIX 操作系统:

UNIX 定义了计算范式,以太坊设计也深受它的模块化设计和开放协作的文化影响

- FOSS 自由开源软件运动:

由 Richard Stallman 发起,定义了软件的四项自由,包括运行软件、研究软件、分发软件给别人和分发修改后的软件的自由。而最根本的一点是用户选择的自由

- 非对称密码学的发明:

使得生成公私钥对和非对称加密成为可能,然而该技术的广泛使用并没有受到政府和国家的欢迎,反而招致控制和限制

- 密码朋克运动:

旨在构建基于密码学的开放、分布式系统,免于国家强力的干涉和控制

2. 什么是以太坊?

- 定义与 Spec

不同的人对以太坊可能有不同的理解。基于白皮书,以太坊被定义为“下一代的智能合约和去中心化应用平台”。基于黄皮书,它被定义为“安全的去中心化通用交易账本”。以太坊当前的 Spec 是由共识 spec 和执行 spec 来实现。

- 以太坊在不断变化中

以太坊主要通过 EIP(以太坊改进提案)以及由社区,而非个人或公司,来协作进行改变。在以太坊历史上,经历过多次升级和分叉,包括上海 & Capella 升级、伦敦升级(EIP-1559)等。主要的历史里程碑、分叉及更新详见:https://ethereum.org/en/history/

- 以太坊的设计原则

基于上述影响以太坊的历史和哲学,它的设计理念主要包括:简单、普适性、模块化、非歧视性、敏捷性、三明治/封装复杂性、自由、中立、繁华、无特征和不厌恶风险

3. 以太坊设计本身

- 执行层:

主要包括执行交易、处理交易数据和账户状态

- EVM(以太坊虚拟机):

以太坊的计算平台,为不同客户端的所有执行提供了标准化的环境。

- 状态(数据)及交易:

以太坊也被称为状态机,主要根据新的交易和状态转换函数来完成状态改变。状态采用 Merkle Patricia Trie 数据结构来存储数据,未来几周内将对此进行详细介绍。

- p2p 层:

执行层客户端间的通信,实现交易信息的传播

- JSON-RPC API:

执行层的 API,用以连接用户或 Dapp 如 Uniswap 等

- Engine API:

执行层和共识层间的通信执行层需要通过该 API 与共识层通信,确定当前的规范信标链(canonical beacon chain)并与之同步

- 共识层:

主要包括共识逻辑、分叉选择、区块信息传播

- 分叉选择:

分叉选择算法决定了区块头以及当前的规范信标链(canonical beacon chain)是什么

- LMD GHOST (Latest Message Driven - Greedy Heaviest Observed SubTree):

分叉选择由 LMD GHOST 进行管理,该规则会选择选择具有最大累积验证权重的分叉作为权威分叉

- p2p 层:

共识层客户端间的通信,实现区块信息的传播

- Blob:

EIP-4844 中提出的一种新的数据结构

- RANDO:

主要为信标链提供随机性

- Beacon API:

共识层的 API,主要连接以太坊验证者

3. 以太坊客户端

执行层客户端及其采用的编程语言:

@go_ethereum(Go), @NethermindEth(C#), @HyperledgerBesu(Java), @ErigonEth(Go),  reth - alpha 阶段 (Rust), silkwarm - pre-alpha 阶段 (C++), ethereumjs - alpha 阶段 (TypeScript)

共识层客户端及其采用的编程语言:

@prylabs(go), lighthouse@sigp_io(Rust), @Teku_Consensys(Java), @ethnimbus(Nim), @lodestar_eth(TypeScript)

客户端多样性是以太坊生态系统中的一个主要话题。

理想情况下是希望网络分布在不同的客户端上,即使其中一个客户端出现问题,网络的其余部分也不会受到影响。目前来看,共识层相比执行层的客户端而言更加多元和分布分散 (https://clientdiversity.org

5. 测试

由于以太坊具有共识层、执行层和多个客户端,因此需要多种用于不同测试目的的工具,如 PPT 上所示。还有基准测试、压力影子分叉等其他测试。

6. 社区协调

- 以太坊新特性/ 功能的开发周期主要经历:想法、研究、Spec、实施、测试和采用或拒绝。

- 整个过程需要很多的社区协调,目前开发者主要通过电话会议和论坛/Discord 渠道进行协作沟通。

  • 开发者会议:每周四的核心开发者会,以及特定主题的分组会议(会议安排链接:https://github.com/ethereum/pm/issues

  • 论坛:@EthMagicians,@ethresearchbot

  • Discord:以太坊开发 R&D discord (https://discord.com/invite/qGpsxSA),  @EthCatHerders

7. 研究及发展路线

Vitalik 最新发布的以太坊路线图:

https://twitter.com/VitalikButerin/status/1741190491578810445

@domothy 撰写的带注释的以太坊路线图: https://notes.ethereum.org/@domothy/roadmap

简而言之,

Merge 已经完成了向 PoS 的过渡,之后将实现 Single slot finality(SSF)。

Surge 的重点是扩容,Dencun 分叉很快将在三月份进行,第二部分的目标是完整的数据可用性采样(DAS)。

Scourge 主要涉及经济学,包括缓解 MEV、抗审查以及 PoS 经济的潜在解决方案。

Verge 主要专注于密码学和数据结构,以太坊此后将转变为 Verkle 树数据结构。

Purge 的目标是通过删除历史/ 状态的部分内容,以更轻量级的方式实现运行。

Splurge 是为了解决其他一切问题。以太坊终极目标是试图解决去中心化、可扩展性和安全性的不可能三角困境。

这样一个进化的过程会永远持续,因为不断会有新的事物技术出现。而当社区解决了足够多的问题时,这一进化速度可能会变慢,社区可能会在未来的某一时点决定冻结以太坊,即不再进行大的修改而只是对它进行维护。你能想象到这样一天的到来吗?

6. 一些 Q&A

Q1: 关于 ETH 2.0 相关书籍推荐

Ben Edgington 所著的《升级以太坊》:https://eth2book.info/capella/pdf/

论文结合 GHOST 和 Casper :https://arxiv.org/abs/2003.03052

Q2: 4TB 足够用于跑一个完整的 geth 节点吗?

足够,2TB 已经足够

Q3: 如果想要深入了解特定客户的实施,有哪些资料推荐,可以从哪里开始?

  • 往期 Devcon 视频:https://archive.devcon.org/archive/

  • 各个客户端代码库和文档

  • EPF 往期项目:

    • https://github.com/eth-protocol-fellows/cohort-four/

    • https://github.com/eth-protocol-fellows/cohort-Three/

Q4: 由于以太坊相关的内容、技术信息量巨大,如何才能找到好的切入点和关注点?

没有人是以太坊的全能专家。学习和研究需要时间,而这很正常。关键是找到你感兴趣的方面并进行钻研。

欢迎关注 PlanckerDAO,关注 EIP Fun 官方推特(@EIPFun),并加入我们和 OpenBuild 联合发起的 EPS 共学群(扫描并添加小助手二维码进入),获取最及时的以太坊协议共学信息和回顾,快来一起学习吧!




推荐阅读

Plancker 之以太坊基金支持|揭秘哪些项目更受青睐?

ZK-Score:ZK 硬件排名标准

EIP Fun 周刊 #35 | ERC-404

/ About  Plancker


PlanckerDAO 是一个专注建设以太坊生态的社区,我们为开发者、产品经理和研究员提供多方面支持,致力于与以太坊共建人类的数字化美好未来。

Website:https://plancker.org/

Forum:http://forum.plancker.org/

Telegram:https://t.me/PlanckerDAO

Notion:https://planckerdao.notion.site/

Twitter:https://twitter.com/PlanckerDAO

继续滑动看下一个

以太坊协议共学|第一周内容回顾:以太坊协议 101

Chloe PlanckerDAO
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存