소프트 포크 (Soft Fork)
소프트 포크는 블록체인의 합의 규칙을 기존보다 더 엄격하게 바꾸는 하위 호환 업그레이드입니다. 새 규칙을 따르는 블록은 옛 규칙으로 보아도 유효하므로, 업그레이드하지 않은 노드도 계속 같은 체인을 따라갈 수 있습니다.
자세히 알아보기
규칙 변경은 두 방향이 있습니다. 이전에 무효였던 것을 허용하면(규칙 완화) 옛 노드가 새 블록을 거부하므로 하드 포크가 됩니다. 반대로 이전에 유효했던 것 중 일부를 금지하면(규칙 강화) 새 블록은 옛 노드에게도 유효하므로 소프트 포크가 됩니다.
소프트 포크가 안전하게 작동하려면 해시 파워(또는 검증자)의 과반이 새 규칙을 강제해야 합니다. 그렇지 않으면 새 규칙을 어긴 블록이 포함된 체인이 더 길어질 수 있습니다. 그래서 비트코인은 채굴자 신호(BIP9 등)나 일정 높이 이후 강제 적용 같은 활성화 절차를 씁니다.
업그레이드하지 않은 노드는 체인에서 이탈하지는 않지만 새 기능의 규칙을 직접 검증하지는 못합니다. 예를 들어 옛 노드는 세그윗 출력을 "누구나 쓸 수 있는" 스크립트로 보며, 실제 보호는 업그레이드한 노드들이 담당합니다. 따라서 하위 호환이라고 해서 업그레이드가 필요 없다는 뜻은 아닙니다.
블록체인·암호화폐에서는
비트코인의 주요 업그레이드는 대부분 소프트 포크였습니다. P2SH(BIP16), 2017년 활성화된 세그윗(BIP141), 2021년 11월 활성화된 탭루트(BIP340–342)가 대표적입니다. 세그윗 도입 과정에서는 채굴자 신호를 기다리지 않고 노드가 규칙을 강제하는 사용자 활성화 소프트 포크(UASF)가 논의되기도 했습니다. 반면 블록 크기를 늘린 비트코인 캐시는 하드 포크로 별도 체인이 되었습니다.
소프트 포크와 하드 포크 비교
| 구분 | 소프트 포크 | 하드 포크 |
|---|---|---|
| 규칙 변화 | 강화(더 엄격) | 완화 또는 변경 |
| 옛 노드 | 새 블록을 유효로 인정 | 새 블록을 거부 |
| 체인 분할 | 과반이 강제하면 분할 없음 | 합의가 갈리면 두 체인으로 분리 |
| 예 | P2SH, 세그윗, 탭루트 | 비트코인 캐시, 이더리움 클래식 분리 |
활성화 방식
소프트 포크를 언제부터 강제할지 정하는 방법도 여러 가지입니다. 채굴자가 블록 헤더의 버전 비트로 준비를 알리고 일정 비율 이상이 신호하면 활성화하는 방식(BIP9), 일정 블록 높이가 되면 신호와 상관없이 활성화하는 방식이 있습니다. 탭루트는 일정 기간 안에 신호 비율을 채우면 정해진 높이에서 활성화하는 'Speedy Trial' 방식으로 도입되었습니다.
사용자가 할 일
소프트 포크는 대개 사용자가 아무것도 하지 않아도 지갑과 송금이 계속 작동합니다. 그러나 새 기능(예: 세그윗 주소의 낮은 수수료, 탭루트 주소)을 쓰고, 새 규칙을 스스로 검증하려면 지갑과 노드를 업그레이드해야 합니다. 거래소와 서비스는 업그레이드 전후로 입출금을 잠시 멈추기도 합니다.
쉽게 말하면
도서관이 "앞으로는 볼펜으로만 대출 카드를 쓰세요"라고 규칙을 좁히는 것과 같습니다. 볼펜으로 쓴 카드는 옛 규칙으로 봐도 문제가 없으니 누구도 쫓겨나지 않습니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.