Skip to content

Commit

Permalink
Coooder-Crypto
Browse files Browse the repository at this point in the history
  • Loading branch information
Coooder-Crypto committed Feb 13, 2025
1 parent 2c41ab2 commit ff2afd9
Showing 1 changed file with 122 additions and 0 deletions.
122 changes: 122 additions & 0 deletions Coooder-Crypto.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,4 +186,126 @@ timezone: Asia/Shanghai
https://epf.wiki/#/wiki/EL/block-production 这里的代码实例都点进去大概看了下
然后看了数据结构、交易、RPC 相关的内容。这些东西之前都有简单了解过,这次相对系统地重新学习了一下。感觉整体的理解更深了。收获很多!


### 2025.02.11

## 今天做了什么
1. 看完了共识层的介绍部分

### 共识层概述
共识协议的主要目标是构建一个在不可靠基础设施上运行的可靠分布式系统。以太坊的共识层旨在确保全球数万个独立节点保持同步,所有节点的账本状态必须完全一致。

#### 拜占庭容错 (BFT)
拜占庭容错是分布式系统的一种特性,即使部分组件失效或恶意行为,系统仍能正常运行。这在去中心化网络中尤为重要。

#### 工作量证明 (PoW) 和权益证明 (PoS)
PoW 和 PoS 并非共识协议,而是支持共识协议的机制,主要用于防止女巫攻击。
PoW 通过计算工作量来赋予区块链权重,而 PoS 则通过质押的价值来赋予权重。
以太坊的 PoS 转型
以太坊在 2022 年 9 月 15 日完成了从 PoW 到 PoS 的转型(称为“合并”)。
**Beacon Chain(信标链)**成为新的共识层,负责处理区块和验证者的管理。
PoS 的优点包括更高的能源效率和可扩展性。

#### 信标链和验证者
验证者:通过质押至少 32 ETH 成为验证者,负责提议和验证区块。
插槽和纪元:每个插槽为 12 秒,每 32 个插槽组成一个纪元。
委员会:验证者被分组到委员会中,确保验证过程的去中心化和安全性。

#### 奖励与惩罚
验证者通过正确的投票和行为获得奖励。
不活跃或恶意行为会导致罚款,严重违规(如双重提议)会被削减质押(Slashing)。

#### 最终性和检查点
每个纪元结束时生成检查点,获得 2/3 超级多数投票的检查点会被“最终化”,确保区块链状态不可逆。

#### 以太坊的未来
信标链的引入为以太坊提供了更高的可扩展性和去中心化能力,目前已有超过 100 万个活跃验证者。


### 2025.02.12

## 今天做了什么
1. 看完了客户端结构部分

### 以太坊共识层架构
以太坊的共识协议结合了两个独立的共识协议:LMD GHOST 和 Casper FFG,它们共同被称为 Gasper。

#### Gasper 的作用
LMD GHOST 提供了活性(liveness),确保链能够持续运行并定期生成新区块。然而,它容易出现分叉,并且在形式上并不完全安全。
Casper FFG 提供了安全性(safety),通过定期最终确定(finalize)区块链,防止长时间的链回滚。
通过结合这两种协议,Gasper 实现了以太坊的共识机制:

LMD GHOST 确保链条不断向前推进。
Casper FFG 确保链条的稳定性,通过最终确定区块来保护链条。
这种组合使以太坊在网络条件良好的情况下,既能保持活性又能保证安全性。然而,在网络分区等极端情况下,以太坊更倾向于优先保证活性,即链条继续增长,即使可能会在安全性上出现问题。

#### 共识层的主要组件
##### 信标节点(Beacon Node):
使用客户端软件来协调以太坊的权益证明(Proof-of-Stake)共识。
示例客户端包括 Prysm、Teku、Lighthouse 和 Nimbus。
信标节点与其他信标节点、本地执行节点以及本地验证器通信。

##### 验证器(Validator):
验证器客户端是允许用户在以太坊共识层中质押 32 ETH 的软件。
验证器在权益证明系统中提议区块,取代了工作量证明中的矿工。
验证器仅与本地信标节点通信,信标节点会指导验证器并将其工作广播到网络中。

#### 共识层的职责
维护共识链(信标链):处理从其他节点接收到的共识区块(信标区块)和证明(attestations)。
与执行层(EL)通信:共识客户端通过本地 RPC 连接(Engine-API)与执行客户端通信。
共识客户端向执行客户端提供指令。
执行客户端将交易捆绑成交易包并传递给共识客户端,以包含在信标区块中。

### 状态转换
在区块链中,状态转换函数是核心。每个节点维护一个状态,反映其对世界的看法。通过应用区块,节点更新其状态。

#### 信标链的状态转换:
信标链是基于插槽(slot)驱动的,而非区块驱动。
状态更新取决于插槽的进展,而不依赖于区块的存在。
状态转换包括:

每插槽转换:更新插槽状态。
每区块转换:处理区块并更新状态。
每纪元转换:在每个纪元开始时进行状态更新。

#### 安全性与活性
安全性:确保“坏事永远不会发生”,例如防止双花或最终确定冲突的检查点。
活性:确保“好事最终会发生”,即区块链能够持续添加新区块,不会陷入死锁。

以太坊的共识协议在良好的网络条件下,力求同时提供安全性和活性。然而,在网络分区等情况下,以太坊更倾向于优先保证活性,即链条继续增长,即使可能会在安全性上出现问题。


### 2025.02.13

## 今天做了什么
1. 看完了客户端结构部分

### 弱主观性
在信息理论和区块链的背景下,“客观性”和“主观性”有着不同的定义:
- 客观性:如果一条信息的正确性可以完全验证,则它是客观的。
- 主观性:如果一条信息的正确性无法完全验证(需要一定程度的信任),则它是主观的。
在以太坊合并(The Merge)之前,客户端可以通过从创世区块开始验证每个区块的历史,从而客观地验证整个区块链的正确性。然而,合并后,以太坊引入了新的共识机制(权益证明,Proof-of-Stake),并将共识层(CL)与执行层(EL)逻辑上分离。这种变化使得基于创世区块的同步变得“不安全”,从而引入了“弱主观性”。

#### 弱主观性中的同步
在弱主观性中,同步机制与传统的全节点同步有以下几个主要区别:

##### 同步方向的改变
在信标链(Beacon Chain)中,同步方向被反转。节点从弱主观性检查点开始回填区块,直到创世区块,而不是从创世区块向前同步。

##### 信任锚点的主观性
由于链的历史在某些条件下可能被更改,同步目标(即弱主观性检查点)无法被完全客观验证。因此,同步目标需要通过可信渠道(如离线方式)共享,而不是通过以太坊的点对点网络。

##### 时间因素的影响
如果节点长时间未同步,可能会受到攻击(例如,足够多的验证者退出并重新投票以创建分叉历史)。这种时间窗口被称为“弱主观性周期”。如果同步时间过长,目标检查点可能会变得过时。

#### 弱主观性同步的步骤
- 从可信渠道获取弱主观性检查点。
- 从检查点回填区块至创世区块。
- 更新执行链的目标头部。
- 乐观地跟随链的最新头部,同时持续更新目标头部。
- 执行层完成同步后,验证共识层的插槽,节点即可被视为完全同步。

## 一些想法
这两天被一个专利折磨坏了hhh,打卡过了这些内容,但是扩展的是一点没看,总算搞的差不多了,明天把错过的两次会议回看下~

<!-- Content_END -->

0 comments on commit ff2afd9

Please sign in to comment.