# Week 10 and 11
Got my instance from EF, got it setup and added extensive logging to the FCR implementation.
I am using mock-eli to observe the logs of FCR.
FCR enabled `INFO Fast Confirmation Rule enabled beta: 25, slashing: 33`
FCR successfully advancing Confirmed Blocks each slot :
```
Aug 31 10:21:23.502 INFO FCR: advanced latest confirmed descendant old: 0xd8856fe33805506dc06ff7d5ecdf01c7e332db002a7ec6ff01815520f58e32dc, new: 0x53c984033a4a55f9bfb2e1ad97435ac81f81bf8d121069cc9d2e5890605ad8c7, head: 0x67d1516803fc851c0c98496dc584937349d8d7a23f3636cd0d1d5ef33a2b685e
Aug 31 10:21:35.684 INFO FCR: advanced latest confirmed descendant old: 0x53c984033a4a55f9bfb2e1ad97435ac81f81bf8d121069cc9d2e5890605ad8c7, new: 0xdb71e233319e0f0bc0a4daef94bc27b70b82f0250045408830dd684dfa031e19, head: 0xdb71e233319e0f0bc0a4daef94bc27b70b82f0250045408830dd684dfa031e19
Aug 31 10:21:47.549 INFO FCR: advanced latest confirmed descendant old: 0xdb71e233319e0f0bc0a4daef94bc27b70b82f0250045408830dd684dfa031e19, new: 0x808ec7c81595cc616d5535da6432b184a403757711812a8c79bd0aa47a7ad4dd, head: 0x808ec7c81595cc616d5535da6432b184a403757711812a8c79bd0aa47a7ad4dd
```
Even while syncing, FCR is actively confirming blocks:
```
Slot 8408507 → Slot 8408519: FCR confirmed 13 consecutive blocks
Slot 8408520 → Slot 8408540: FCR confirmed 21 consecutive blocks
```
FCR's safety fallbacks working correctly:
```
Aug 31 10:20:47.513 WARN FCR: confirmed root missing, using finalized confirmed_missing: 0x3de43b6ed13770a1fc75f2c24328fca8469455e7693b73be82126b2daf437fb3, finalized: 0x4f94b380014c0accc0e322f9282af6f1488cf49cd7378381329868d7fe6a75d6
Aug 31 10:20:59.501 WARN FCR: falling back to finalized checkpoint for safety current_epoch: 262765, confirmed: 0x4f94b380014c0accc0e322f9282af6f1488cf49cd7378381329868d7fe6a75d6, finalized: 0x267b7ba617f9bc3ceea1cbf9741123d38fc2d2c5f7c4abc8a6f950d5fa0c91c2, head: 0xf6eb684098ae8fdc0493121ff3a0b9beb4f51c2612b7d3d76858542dc6043a73
```
The detailed FFG checks ("FCR FFG: will_current_epoch_checkpoint_be_justified" and "FCR FFG: will_no_conflicting_checkpoint_be_justified") are invoked when we attempt to advance confirmation across an epoch boundary or need the “no-conflict” guarantee. In my run, the confirmed root was already ahead of the prev-slot unrealized justified checkpoint at boundaries (uplift not required), and the advancement remained within epoch—so the FFG checks were not needed, hence no FFG decision lines.
Results are positive with mock EL, but I am doing with Geth to get the full picture. Immediately after sync, Full FCR analysis every 12 seconds should be logged.
Not sure that one can determine whether FCR is working correctly just be looking at the logs. I would expect that at most one might be able to determine whether it is working incorrectly.
I also ran FCR on the consensus-specs fork choice tests, passed!
Interestingly, I found out a interesting confusion in FCR spec! It should discount equivocated validators when evaluating FFG weight of a checkpoint, but it was including both honest and equivocated, which I thought was wrong. This was a bit confusing, as FCR operates under network synchrony assumptions. Safety could come from Byzantine threshold (β) not from excluding equivocator.
The FCR implementation is complete. After the spec tests are released, I will update my tests with them. Let's see if the logging working the way it should.
I will be adding the benchmarking setup as well now.
Also, mentors enjoying holiday ;)
And I have a quiz on Machine Learning today ;(
Signing out. Peace...