casper ffg에서 질문입니다!!

위 그림에서 질문입니다.
Casepr(FFG)논문에서 위 그림을 보여주면서 s2, t2 의 높이 안에 s1, t1 이 포함되는 투표를 할 수 없다라고 하였는데요
제가 알고있는 이론은
checkpoint는 50의 배수 번호의 블록이다.
justified 된다는것은 각 checkpoint블록이 검증되었다는것
finalized된다는것은 자신은 source로 한 target 블록인 직계자손 checkpoint블록이 justified되면 자신은 finalized가 된다.
이렇게 알고있습니다.
r-> b2 -> b3 -> b4가 메인 체인이라고 할때
질문 1 . b3가 justified되었으므로 b2는 finalized 되었을것입니다.
그렇다면 b2가 100번째 블록이라면 b3는 150번째 블록일 것입니다.(직계자손체크포인트이므로)
그런데 a2,a3,가 어떻게 b2, b3 사이에서 연결될수가 있는건가요??
(50배수 블록은 이미 b2,b3인데 a2,a3는 50배 블록이 아니여도 상관이 없는건가요?)
아니면 단순히 a2,와 a3는 justified가 된것이 아니라 그냥 이어지기만 한것인가요??
저 전체적인 그림이 어떻게 구현이 될수있는지 이해가 안갑니다.
질문 2 . FFG에서 무조건 #50 블록 -> #200 블록 이런식으로 다음 체크포인트 블록이 아닌 어느정도 건너뛰어서 연결될수있나요??(justified되고 finalized되는것까지)
질문3 . 저러한 상황이 일어날 이유가 궁금합니다.
기존의 메인체인보다 작은 높이의 블록의 투표를 할 이유가 있나요??
어차피 fork choice rule은 가장 긴 justified된 블록을 할텐데... 저 방법으로 인한 어떠한 공격방법이나 나타날수있는 현상을 말씀해주시면 감사하겠습니다.
질문4 . 저러한 상황을 막지않으면 충돌이 어떻게 발생되는지 궁금합니다.
질문 1 . b3가 justified되었으므로 b2는 finalized 되었을것입니다. 그렇다면 b2가 100번째 블록이라면 b3는 150번째 블록일 것입니다.(직계자손체크포인트이므로) 그런데 a2,a3,가 어떻게 b2, b3 사이에서 연결될수가 있는건가요??(50배수 블록은 이미 b2,b3인데 a2,a3는 50배 블록이 아니여도 상관이 없는건가요?) 아니면 단순히 a2,와 a3는 justified가 된것이 아니라 그냥 이어지기만 한것인가요??저 전체적인 그림이 어떻게 구현이 될수있는지 이해가 안갑니다.
-> 개인적으로 이해하기로는 POW 방식에 따라 블록이 생성되는 과정에서 어느 블록에서 블록이 동시에 생성되고 분기가 발생하여 이어질 경우 체인의 길이에 차이가 있을 수 있고 그에 따라 높이가 다른 체크포인트가 설정될 가능성을 가정하고 이야기하고 있는 것이 아닌가 생각합니다.
따라서 a1=b1이 finalized 된 후 b2가 먼저 justified된 상태에서 확정되기 전에 a2가 justified될 수 있고 b2가 a2보다 먼저 justified 되었으므로 b3 체크 포인트가 먼저 justified되면 b2는 finalized 되며 finalized된 b2와 justified된 b3 사이에 있는 a3가 justiflied 될 수 없으므로 자연스럽게 a2 또한 finalized 될 수 없는 것으로 이해했습니다.
질문 2 . FFG에서 무조건 #50 블록 -> #200 블록 이런식으로 다음 체크포인트 블록이 아닌 어느정도 건너뛰어서 연결될수있나요??(justified되고 finalized되는것까지)
-> 제가 알기로도 체크 포인트의 간격은 일정한 것으로 알고 있습니다.
질문3 . 저러한 상황이 일어날 이유가 궁금합니다. 기존의 메인체인보다 작은 높이의 블록의 투표를 할 이유가 있나요? 어차피 fork choice rule은 가장 긴 justified된 블록을 할텐데... 저 방법으로 인한 어떠한 공격방법이나 나타날수있는 현상을 말씀해주시면 감사하겠습니다.
질문4 . 저러한 상황을 막지않으면 충돌이 어떻게 발생되는지 궁금합니다.
-> b1, b2, b3, b4로 이어지는 링크는 투표가 제대로 이루어졌을 때를 말하는 것인데, 만약에 블록 검증인들이 체크포인트에서 제대로된 투표를 하지 않아 b3가 justified 되기 전에 a3를 먼저 justified 한다면 a2가 finalized되는 문제가 생겨 이더리움 블록체인에 피해를 줄 수 있게 될 가능성이 있습니다. 그렇기 때문에 스테이킹하고 있는 이더리움의 일부를 몰수하는 방식으로 이러한 투표 규칙을 지키도록 하고 있습니다.
일단은 제가 이해한 바대로 답변을 드렸습니다만 부족한 점이 많을 것이라고 생각합니다.
답변이 도움이 되길 바랍니다.