Skip to content

Commit

Permalink
2025.02.20
Browse files Browse the repository at this point in the history
  • Loading branch information
henrycyberbio committed Feb 20, 2025
1 parent adacd1c commit e9583aa
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions henryleo.md
Original file line number Diff line number Diff line change
Expand Up @@ -442,4 +442,42 @@ Byzantine Generals Problem 拜占庭将军问题,描述的是一组分布式
- [第三周 | 共识层 | EPF Wiki](https://epf.wiki/#/eps/week3)
- [Gasper |共识机制 | EF](https://ethereum.org/zh/developers/docs/consensus-mechanisms/pos/gasper/)


### 2025.02.20

#### 投票机制
Gasper 是一种定义验证者如何受到奖惩的机制,决定要接受和拒绝哪个区块,以及将区块建在哪个区块链分叉上。

被选为区块提议者的验证者需要投出LMD票,而其他验证者需要投出FFG票。LMD用于提议区块,FFG用于创立检查点。

#### 分叉选择机制

基于给定Block Tree 区块树和节点对于以太坊网络的本地视图,Fork Choice Rule 分叉选择机制被用于选择最有可能成为最终的 Linear & Canonical 线性规范链的区块链分支。

首先,分叉选择的首要条件是区块有效,在无效区块上构建的下游区块均无效。以太坊主要通过以下两个共识协议选择分支:

- Casper FFG协议有[两个选择条件](计算机科学/Crypto%20Related/以太坊/共识层.md#)
- 选择包含**最大高度**的合理化检查点的链
- 永远不会回退被最终确定的区块
- LMD GHOST协议:
- 采用“最贪婪最重的观察子树”,它涉及计算验证者对区块及其后续区块的累积投票
- 应用与 Casper FFG 相同的规则

##### 区块树
以下就是一个区块树,即有分支的区块链,理论上越上游分支越少,源头为创世区块。分支最下游的为Head Block 带头区块。

[|2231](https://epf.wiki/images/cl/blocktree.svg)

##### 演示分叉选择
假设节点α本地视图现在有区块A~F,其中C为分支、F为Head Block 带头区块。这时,区块G被广播至节点α,节点发现其被构建在区块C上。

[|2232](https://epf.wiki/images/cl/reorg-0.svg)

假设区块G被分叉选择规则认为是带头区块,那么区块D~F将被裁剪。此时区块树如下:

[|2233](https://epf.wiki/images/cl/reorg-1.svg)

这时,区块H来也,它被构建在区块F上,分叉选择机制认为区块H是更好的带头区块(闹麻了),那么区块C、G将被裁剪,区块链将被恢复为`A->B->D->E->F->H`

由于网络延迟,一两个区块的短重组很常见。较长的重组应该很少见,除非该链受到攻击或分叉选择规则或其实现存在错误。
<!-- Content_END -->

0 comments on commit e9583aa

Please sign in to comment.