Block Fork
블록 Fork란, 블록체인 네트워크에서 두 개 이상의 블록이 동시에 같은 부모 블록 위에 생성되면서, 체인이 일시적으로 분기되는 현상이다.
예시로 이해해보자면 다음과 같다.
원래 체인:
... → 블록 #100 → 블록 #101
동시에 두 노드가 블록 생성:
↘ 블록 #102-A (노드 A)
블록 #101
↘ 블록 #102-B (노드 B)
이렇게 두 갈래로 갈라진 상태가 Fork 상태이다.
Fork가 생기는 이유
- 동시 블록 생성: 여러 노드가 거의 같은 시간에 블록을 생성
- 일부 노드가 최신 블록을 늦게 받는 경우(네트워크 지연)
- 프로토콜 업그레이드 또는 체인을 변경하는 경우
- 이중 지불 등의 공격 시도가 있을 때
Fork 이후에는 어떻게 처리되나?
- 네트워크는 더 긴 체인을 정식 체인으로 선택해
- 짧은 체인의 블록은 버려짐 (orphan block)
- 그 안에 있던 트랜잭션은 다시 mempool로 돌아감