[Confirmation Rule for Ethereum](https://www.adiasg.me/confirmation-rule-for-ethereum/)
Paper posted here: [Confirmation Rule for Ethereum PoS - Consensus - Ethereum Research](https://ethresear.ch/t/confirmation-rule-for-ethereum-pos/15454)
Fast confirmation rule for Ethereum PoS - sub-1 min latency
Ethereum's PoS/[[Casper]] provides a strong finalization guarantee with average latency 16 mins
No fast confirmation rule
Post outlines a confirmation rule that can give fast block confirmations with weaker safety guarantees than finality
Ideally would confirm immediately after slot
Realistically, confirm in under a minute
Computes a q value and a min safe q value for each block
If q values of all blocks in a chain is above their min safe q values, then the head block of that chain is confirmed
Difference between the two values is a measure of the max adversarial tolerance the block achieves
**Proposed change:** If j is the highest justified checkpoint block, and the current epoch is e, then allow a branch with leaf block b if the latest justified checkpoint in the post-state of b is either j or from an epoch $\geq$ e - 2
Not a substitute for finality, which provides the guarantee that the block will always be in the canonical chain
This rule is for users who believe network synchrony will hold for the near future
![[Pasted image 20230921131435.png]]
**Assumptions:**
Adversary controls less than 1/3, adversarial fraction $\beta$ <= 1/3
Synchronous network, votes received by all validators by end of slot
# LMD Safety
![[Pasted image 20230921131945.png]]
where $q^{n_{b}}= \frac{support for block b}{total weight}$
b' is an ancestor of b
Under certain conditions, a block remains in the chain *as long as it has not been filtered out of the block tree*
# Combining LMD Safety with FFG Safety
We'll identify conditions that would ensure the block doesn't get filtered out of the block tree
![[Pasted image 20230921132151.png]]
**isConfirmed(b,n) if:**
- the latest justified checkpoint in the post-state of b is from epoch e-1
- isLMDConfirmed(b,n)
- S + (1- $\beta$ )$W_{f} \geq \frac{2}{3}W_{t}$
- The amount of FFG votes from e in support of c plus the honest voters who havent voted must be greater than or equal to 2/3 the weight of all validators
isConfirmed(b,n) implies that b will remain in the canonical chain
Proof strategy is to prove by indufction that every honest validator sees b as canonical in every future slot
At the start of every epoch, b is not filtered out and will gather honest votes
At the end, there is no justified checkpoint from the epoch that conflicts with b
We're guaranteed that b won't be filtered out
We're basically saying we need the latest justified checkpoint to be one epoch back, the support for b's ancestor is greater than 1/2 + 1/3 = 5/6, and FFG votes plus honest voters who have yet to vote is greater than or equal to 2/3 weight of all validators
By getting that big support group on b', we know that the majority will always support that chain and thus b should be considered LMDConfirmed
Then, if we know that there isn't a competing epoch or checkpoint, we're good