본문 바로가기
리치한정보 리치한정보

하드포크와 소프트포크의 차이, 블록체인은 왜 둘로 나뉠까?

richissue 읽는 시간 약 16분

비트코인이나 이더리움 관련 소식을 보다 보면 하드포크(Hard Fork)소프트포크(Soft Fork)라는 말을 자주 보게 됩니다.

이름 때문에 포크가 발생하면 블록체인이 무조건 두 갈래로 나뉘고 새로운 코인이 생긴다고 생각하기 쉽습니다.

하지만 그렇지 않습니다.

Ethereum도 지금까지 수많은 하드포크 방식의 네트워크 업그레이드를 진행했지만, 그때마다 새로운 Ethereum이 하나씩 생긴 것은 아닙니다. Ethereum 공식 문서 역시 포크를 프로토콜 규칙을 바꾸는 기술적 업그레이드로 설명하며, 의견 충돌이 지속될 때에만 영구적인 체인 분리로 이어질 수 있다고 설명합니다.

하드포크와 소프트포크를 이해할 때 가장 먼저 볼 것은 체인이 두 개가 되는가가 아니라 이전 규칙과 새로운 규칙이 서로 어떻게 호환되는가입니다.

포크는 왜 필요할까?

블록체인은 정해진 규칙에 따라 거래와 블록을 검증합니다.

어떤 거래를 유효하다고 인정할지, 어떤 형식의 블록을 받아들일지 같은 기준이 프로토콜에 들어 있습니다.

하지만 네트워크가 처음 만들어진 규칙을 영원히 그대로 사용할 필요는 없습니다.

새로운 기능을 추가하거나 보안 문제를 해결하고, 처리 구조를 개선하기 위해 규칙을 변경할 수 있습니다.

문제는 규칙을 바꾼 뒤입니다.

업데이트한 노드와 업데이트하지 않은 노드가 같은 블록을 유효하다고 판단할 수 있는가?

이 차이에 따라 하드포크와 소프트포크를 구분할 수 있습니다.

하드포크는 기존 규칙과 호환되지 않는 변경이다

하드포크는 이전 규칙에서는 유효하지 않았던 것을 새로운 규칙에서는 유효하다고 인정할 수 있게 만드는 합의 규칙 변경입니다. Bitcoin의 BIP 문서도 하드포크를 이런 방식으로 정의합니다.

예를 들어 기존 규칙에서는 어떤 형태의 블록을 허용하지 않았는데 새로운 규칙에서는 허용하도록 바뀌었다고 생각해 보겠습니다.

새로운 규칙을 적용한 노드는 그 블록을 정상으로 받아들일 수 있습니다.

하지만 업데이트하지 않은 노드는 여전히 이전 규칙을 사용하기 때문에 같은 블록을 유효하지 않다고 판단할 수 있습니다.

그래서 새로운 규칙으로 계속 운영하려면 해당 체인을 따르려는 참여자들이 업그레이드해야 합니다.

다만 여기서 중요한 점이 있습니다.

하드포크 = 체인 분리

는 아닙니다.

대부분의 참여자가 새로운 규칙으로 이동하고 이전 규칙의 체인을 계속 운영하는 사람이 없다면 실제로는 하나의 네트워크가 그대로 이어질 수 있습니다.

소프트포크는 규칙의 허용 범위를 좁히는 방식이다

소프트포크는 방향이 반대입니다.

기존 규칙에서 유효했던 일부 구조를 새로운 규칙에서는 더 이상 허용하지 않는 식으로 유효한 범위를 좁히는 변경입니다.

예를 들어 기존 규칙이

A / B / C

를 모두 허용했다고 가정해 보겠습니다.

새로운 규칙에서는

A / B

만 허용하도록 바꿀 수 있습니다.

새 규칙을 사용하는 노드는 C를 거부합니다.

하지만 이전 노드 입장에서 A와 B는 원래부터 유효했던 형태이므로 새 규칙을 따라 만들어진 블록을 받아들일 수 있습니다.

그래서 소프트포크를 흔히 하위 호환성이 있는 규칙 변경이라고 설명합니다.

다만 이 표현도 너무 단순하게 받아들이면 안 됩니다.

업데이트하지 않은 노드는 새로운 규칙으로 생성된 블록을 받아들일 수 있어도 새롭게 추가된 규칙까지 직접 검증하는 것은 아닐 수 있습니다. Bitcoin SegWit 문서도 구버전 노드는 계속 작동하지만 새로운 witness 데이터 자체는 검증하지 못한다고 설명합니다.

즉 소프트포크도 네트워크의 합의와 적절한 활성화 과정이 필요한 규칙 변경입니다.

하드포크와 소프트포크 차이를 한 번에 보면

구분하드포크소프트포크
규칙 변화이전에 무효였던 것을 새 규칙에서 허용할 수 있음이전에 허용했던 범위를 더 제한
기존 노드새 규칙의 일부 블록을 거부할 수 있음새 규칙의 블록을 받아들일 수 있음
새 규칙 직접 검증업그레이드 필요구버전 노드는 새 규칙 전체를 검증하지 못할 수 있음
체인 분리양쪽 규칙을 계속 따르는 참여자가 있으면 가능일반적으로 하나의 체인 유지
새 코인생길 수도 있지만 필수 아님일반적으로 별도 코인이 생기지 않음

결국 핵심은 이전 노드가 새 규칙에 따라 만들어진 블록을 어떻게 판단하는가입니다.

하드포크를 했는데 왜 어떤 때는 체인이 나뉠까?

하드포크가 활성화되는 시점까지는 참여자들이 같은 블록체인 기록을 공유할 수 있습니다.

그 이후 일부는 새 규칙으로 이동하고 일부는 이전 규칙을 계속 사용한다고 생각해 보겠습니다.

그러면 같은 과거를 공유했던 네트워크가 이후에는 서로 다른 규칙으로 별도의 블록을 만들어갈 수 있습니다.

이 상태가 잠깐 발생했다고 무조건 두 개의 블록체인이 탄생한 것은 아닙니다.

한쪽이 빠르게 사라지고 모두 다른 쪽으로 이동하면 사실상 하나의 체인으로 정리될 수 있습니다.

반대로 양쪽에 노드와 사용자, 채굴자 또는 검증자와 경제적 활동이 계속 남는다면 두 체인이 독립적으로 유지되는 영구적인 분리가 될 수 있습니다.

그래서 포크에서 중요한 것은 분기 순간 자체보다 분기 이후 두 네트워크가 실제로 계속 운영되는가입니다.

비트코인캐시는 왜 별도의 코인이 됐을까?

Bitcoin Cash는 하드포크가 실제 체인 분리와 별도 자산으로 이어진 대표적인 사례입니다.

2017년 Bitcoin의 확장 방법을 두고 의견이 갈렸고, 더 큰 블록 크기를 사용하는 새로운 규칙을 선택한 네트워크가 Bitcoin과 분리되어 Bitcoin Cash로 이어졌습니다.

포크 이전 기록은 공유하지만 그 이후부터는 두 네트워크에서 서로 다른 블록과 거래 기록이 만들어집니다.

그래서 오늘날 Bitcoin과 Bitcoin Cash는 각각 독립적인 블록체인과 자산입니다.

중요한 것은 이것이 모든 하드포크의 일반적인 결과는 아니라는 점입니다.

하드포크 후 이전 규칙 체인이 계속 살아남았기 때문에 별도 네트워크와 자산이 된 사례입니다.

Ethereum의 DAO 포크에서는 무슨 일이 있었을까?

2016년 Ethereum의 The DAO 스마트 계약이 공격받으면서 360만 ETH가 넘는 자금이 영향을 받았습니다.

이에 대한 대응으로 Ethereum은 블록 1,920,000에서 DAO 관련 자금을 회수 계약으로 이동시키는 특별한 상태 변경을 포함한 하드포크를 진행했습니다.

대부분의 참여자는 포크된 체인을 이어갔고 이것이 현재의 Ethereum으로 이어졌습니다.

하지만 포크에 동의하지 않은 일부 참여자는 기존 체인을 계속 운영했습니다.

그 체인이 Ethereum Classic입니다.

이 사례가 중요한 이유는 단순합니다.

규칙 변경 이후 두 집단이 각각 네트워크를 계속 운영하면 실제로 두 체인이 남을 수 있다는 것을 보여주기 때문입니다.

그렇다면 Ethereum의 하드포크는 매번 체인을 나눌까?

아닙니다.

오히려 이 부분을 알아두면 하드포크 = 새로운 코인이라는 오해가 쉽게 풀립니다.

Ethereum은 프로토콜 기능을 변경하기 위한 계획된 네트워크 업그레이드에도 하드포크 방식을 사용합니다.

Ethereum 공식 포크 타임라인에서 2025년 Fusaka와 Pectra 네트워크 업그레이드를 확인하는 화면
Ethereum 공식 포크 타임라인에는 Pectra와 Fusaka처럼 프로토콜 개선을 위한 네트워크 업그레이드가 연속해서 기록되어 있습니다.

노드 운영자들이 정해진 시점에 새 클라이언트로 업그레이드하고 대부분의 네트워크가 새로운 규칙을 함께 적용하면 업그레이드된 Ethereum 하나가 계속 이어집니다.

따라서 뉴스에서

“Ethereum hard fork 예정”

이라는 문구를 봤다고 해서 곧바로

“ETH가 두 개로 갈라진다.”

고 생각하면 안 됩니다.

먼저 정상적인 네트워크 업그레이드인지, 실제로 기존 규칙을 유지하려는 별도 체인이 등장하는 상황인지 확인해야 합니다.

Bitcoin의 SegWit은 왜 소프트포크였을까?

Bitcoin의 Segregated Witness(SegWit)는 대표적인 소프트포크 사례입니다.

SegWit은 거래 검증에 필요한 witness 데이터를 기존 거래 구조와 호환될 수 있도록 별도로 처리하는 구조를 도입했습니다.

새로운 규칙을 이해하지 못하는 이전 노드도 새 규칙에 따라 생성된 블록을 받아들일 수 있도록 설계됐습니다.

하지만 이전 노드는 witness에 새로 적용된 규칙을 직접 검증하지는 못합니다. Bitcoin의 BIP 141 역시 SegWit을 명시적으로 Consensus (soft fork)로 분류하고 이러한 하위 호환 방식을 설명합니다.

이 사례를 보면 소프트포크의 핵심은

“아무도 업데이트하지 않아도 된다”

가 아니라

“기존 노드가 새로운 규칙을 따르는 블록 자체를 거부하지 않도록 변경 범위를 설계할 수 있다”

는 데 있습니다.

포크가 생기면 내가 가진 코인도 두 배가 될까?

반드시 그렇지 않습니다.

하드포크 뒤에 실제로 두 체인이 독립적으로 운영된다면 포크 이전의 블록체인 상태가 양쪽에 존재할 수 있습니다.

그래서 포크 이전에 보유했던 자산의 기록이 양쪽 네트워크에 각각 나타나는 상황이 생길 수 있습니다.

하지만 이것을

10만 원이 갑자기 20만 원이 된다

는 의미로 받아들이면 안 됩니다.

새 체인의 자산 가격은 별도로 결정되고, 시장에서 가치가 거의 형성되지 않을 수도 있습니다.

거래소가 새로운 체인을 지원하지 않을 수도 있고 지급이나 입출금 정책 역시 거래소마다 다를 수 있습니다.

무엇보다 실제 체인이 둘로 유지되지 않는 계획된 하드포크라면 새로운 코인 자체가 생기지 않습니다.

따라서

하드포크 = 무료 코인

이라는 공식은 없습니다.

포크 소식이 나오면 무엇부터 확인할까?

포크 소식을 봤다면 새 코인의 예상 가격부터 찾기보다 다음 순서로 확인하는 것이 좋습니다.

첫째, 무엇이 바뀌는지 봅니다.
프로토콜의 어떤 규칙을 왜 변경하는지 확인합니다.

둘째, 하드포크인지 소프트포크인지 확인합니다.

셋째, 하드포크라면 실제 체인 분리가 예상되는지 봅니다.
단순한 네트워크 업그레이드인지, 이전 규칙을 계속 운영하려는 별도의 네트워크가 있는지 구분합니다.

넷째, 거래소 공지를 확인합니다.
포크 전후 입출금 중단 여부와 새 체인 지원 정책이 있을 수 있습니다.

마지막으로 무료 포크 코인을 받게 해준다며 개인키나 시드 문구를 요구하는 사이트에는 입력하면 안 됩니다.

포크를 이해하는 데 가장 중요한 것은 새 코인의 가격이 아니라 어떤 규칙이 바뀌고, 실제 네트워크가 어떻게 이어지는가입니다.

자주 헷갈리는 부분

흔한 생각실제로는
하드포크가 발생하면 무조건 체인이 둘이 된다대부분이 새 규칙으로 이동하면 하나로 이어질 수 있음
하드포크마다 새 코인이 생긴다실제로 두 체인이 계속 운영돼야 별도 자산이 생길 수 있음
소프트포크면 구버전 노드도 새 규칙을 모두 검증한다블록을 받아들일 수 있어도 새 규칙 자체는 검증하지 못할 수 있음
Ethereum 하드포크는 ETH를 나누는 행사다많은 경우 계획된 프로토콜 업그레이드
Bitcoin Cash와 모든 하드포크가 같다Bitcoin Cash는 양쪽 체인이 계속 운영된 사례
포크 후 코인을 받으면 자산 가치도 두 배다각 자산의 시장 가격과 지원 여부는 별도
포크 코인을 받으려면 시드 문구가 필요하다시드·개인키를 타인이나 의심스러운 사이트에 제공하면 안 됨

FAQ

하드포크와 소프트포크의 가장 큰 차이는 무엇인가요?

기존 규칙과 새로운 규칙의 호환 방식입니다. 하드포크에서는 이전 규칙에서 무효였던 것을 새로운 규칙이 허용할 수 있고, 소프트포크는 기존에 허용했던 범위를 더 제한하는 방식으로 적용할 수 있습니다.

하드포크가 발생하면 항상 블록체인이 둘로 나뉘나요?

아닙니다. 대부분의 참여자가 새로운 규칙으로 이동하면 하나의 체인으로 이어질 수 있습니다. 이전 규칙과 새로운 규칙을 각각 따르는 네트워크가 계속 운영될 때 영구적인 분리가 나타날 수 있습니다.

하드포크를 하면 새로운 코인을 받을 수 있나요?

항상 그렇지 않습니다. 실제로 별도의 체인이 지속되고 자산이 존재해야 하며, 거래소나 지갑의 지원 정책도 별도로 확인해야 합니다.

Bitcoin Cash는 하드포크 사례인가요?

네. 2017년 Bitcoin과 호환되지 않는 규칙을 사용하는 별도의 네트워크가 이어지면서 Bitcoin Cash가 독립적인 블록체인으로 유지됐습니다.

SegWit은 하드포크인가요?

아닙니다. Bitcoin의 SegWit은 BIP 141에 정의된 소프트포크입니다.

Ethereum의 하드포크가 예정되면 ETH도 둘로 나뉘나요?

그렇게 단정할 수 없습니다. Ethereum에서는 합의된 프로토콜 업그레이드에도 하드포크 방식을 사용하며 대부분의 참여자가 새 규칙으로 이동하면 동일한 Ethereum 네트워크가 계속 이어집니다.

📌 핵심 정리

하드포크와 소프트포크의 핵심 차이는 체인이 두 개가 되는지보다 기존 규칙과 새로운 규칙이 어떻게 호환되는지에 있습니다.

하드포크에서는 새 규칙과 이전 규칙이 서로 호환되지 않을 수 있기 때문에 양쪽 규칙을 따르는 참여자가 각각 남으면 두 체인이 독립적으로 이어질 수 있습니다.

하지만 대부분이 새 규칙으로 함께 이동한다면 하드포크를 했어도 하나의 체인이 그대로 이어집니다.

소프트포크는 기존 규칙에서 허용하던 범위를 더 좁히는 방식으로 설계할 수 있어 구버전 노드가 새 규칙의 블록을 받아들일 수 있습니다. 다만 구버전 노드가 새로 추가된 규칙까지 직접 검증하는 것은 아닐 수 있습니다.

Bitcoin Cash처럼 실제 체인 분리로 이어진 하드포크도 있고, Ethereum의 수많은 네트워크 업그레이드처럼 하나의 네트워크로 계속 이어진 하드포크도 있습니다.

결국 포크 소식을 볼 때 가장 먼저 물어야 할 것은

“새 코인을 받을 수 있을까?”가 아니라 “어떤 합의 규칙이 바뀌고, 업데이트 이후 기존 체인과 새 체인이 실제로 각각 계속 운영되는가?”

입니다.


📚 함께 읽으면 좋은 글

📚 참고자료

📢 안내

이 글은 블록체인의 하드포크와 소프트포크 구조를 이해하기 위한 일반적인 정보입니다. 실제 포크 방식과 체인 분리 여부, 거래소의 자산 지원 및 입출금 정책은 네트워크와 서비스에 따라 달라질 수 있으므로 포크가 예정된 경우 해당 프로젝트와 거래소의 최신 공식 안내를 확인해야 합니다.

richissue

richissue
함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.