하드 포크 (Hard Fork)
하드 포크는 이전 버전과 호환되지 않는 블록체인 프로토콜 변경입니다. 새 규칙을 따르는 블록을 이전 소프트웨어가 유효하지 않다고 거부하므로, 네트워크가 하나로 유지되려면 모든 노드가 소프트웨어를 업그레이드해야 합니다. 일부 참여자가 업그레이드하지 않으면 블록체인은 서로 다른 규칙을 따르는 두 체인으로 갈라집니다.
하드 포크와 소프트 포크
- 소프트 포크는 규칙을 더 엄격하게 만드는 변경입니다. 새 규칙을 따르는 블록은 이전 노드가 보기에도 유효하므로, 채굴자·검증자 다수만 업그레이드하면 이전 노드도 같은 체인을 계속 따라갑니다(하위 호환). 비트코인의 P2SH(BIP-16)와 세그윗(SegWit)이 그 예입니다.
- 하드 포크는 이전에 무효였던 것을 유효하게 만드는 등 규칙을 완화하거나 바꾸는 변경입니다. 블록 크기 한도를 늘리는 것이 대표적이며, 이전 노드는 새 블록을 받아들이지 않습니다.
계획된 하드 포크와 논쟁적 하드 포크
하드 포크가 반드시 분열을 뜻하지는 않습니다. 이더리움은 런던(2021년, EIP-1559 수수료 구조 도입) 같은 네트워크 업그레이드를 미리 공지된 블록 높이에서 하드 포크로 적용해 왔고, 거의 모든 참여자가 업그레이드했기 때문에 체인은 하나로 유지되었습니다.
반대로 커뮤니티가 합의하지 못하면 두 체인이 함께 살아남는 논쟁적 하드 포크가 됩니다. 2016년 The DAO 해킹 이후 자금 회수를 위한 하드 포크에 반대한 쪽이 기존 체인을 이더리움 클래식(ETC)으로 이어 간 것이 그 예입니다.
예: 비트코인 캐시
2017년 비트코인의 확장 방식을 둘러싼 논쟁에서, 아모리 세셰(Amaury Séchet)가 이끈 Bitcoin ABC 개발진은 세그윗 대신 블록 크기 한도를 1MB에서 8MB로 늘리는 길을 택했습니다. 2017년 8월 1일, 블록 478558을 마지막 공통 블록으로 두 체인이 갈라졌고, 비트코인 캐시(BCH) 체인의 첫 블록 478559는 1MB보다 큰 블록이었습니다. 비트코인 체인에서는 그 뒤 8월 24일(블록 481824) 세그윗이 소프트 포크로 활성화되었습니다. 이와 별개로 세그윗과 2MB 블록을 함께 추진한 SegWit2x 하드 포크 계획은 2017년 11월 취소되었습니다. 포크 시점에 비트코인을 보유한 사람은 같은 양의 BCH도 보유하게 되었습니다.
리플레이 공격과 보호
포크 직후 두 체인은 같은 주소·같은 개인 키·같은 거래 형식을 공유합니다. 보호 장치가 없으면 한 체인에서 서명한 트랜잭션을 다른 체인에 그대로 다시 제출해, 사용자가 의도하지 않은 송금이 일어날 수 있습니다. 이를 리플레이 공격이라고 합니다. 비트코인 캐시는 서명에 새로운 서명 해시 유형(SIGHASH_FORKID)을 넣어 이를 막았고, 이더리움 계열은 이후 서명에 체인 ID를 포함하는 EIP-155를 도입했습니다. 포크 직후에는 거래소와 지갑의 공지를 확인하고, 각 체인에서 자산을 분리한 뒤 거래하는 것이 안전합니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.