This article has been translated from English to Korean.

블록체인 기술과 관련하여 소프트 포크는 블록체인의 기본 프로토콜이나 소프트웨어에 사소한 변경 사항을 도입하는 것을 의미합니다.

프로그래밍 용어로 포크는 단순히 코드에 대한 수정입니다.

이러한 소프트웨어 업데이트는 새로운 블록체인 기능, 네트워크 성능 업그레이드, 보안 문제 해결을 위한 개선 사항, 또는 블록체인 내 블록 생성 및 검증 방식을 규율하는 합의 규칙 변경 등의 형태를 취할 수 있습니다.

분산형 블록체인의 모든 측면을 통제하는 중앙 기관이 없기 때문에, 블록체인에 변경 사항을 적용하기 위해서는 포크가 필요합니다.

소프트웨어 변경은 범위가 사소한 것부터 블록체인의 운영 방식을 규율하는 원래의 규칙을 극적으로 변경하는 것까지 다양합니다.

소프트 포크는 기존 블록체인에 쉽게 구현될 수 있는 블록체인 소프트웨어의 사소한 변경으로, 포크 이전에 존재했던 기존 규칙을 영향을 주거나 변경하지 않습니다.

이는 소프트 포크가 하위 호환성을 가지게 하여, 소프트웨어를 업그레이드하지 않은 노드 운영자도 업그레이드한 노드 운영자와 동일한 블록체인을 통해 상호 작용할 수 있음을 의미합니다.

업그레이드하지 않은 네트워크 참여자(개발자, 채굴자 및 기타 노드 운영자)는 포크 이후 생성된 새로운 블록을 여전히 유효한 것으로 간주합니다.

소프트 포크는 사소한 변경만 다루기 때문에, 네트워크의 모든 채굴자와 노드 운영자가 새로운 포크를 실행하는 데 동의할 필요가 없습니다.

과반수만 필요하기 때문에 전체 노드 커뮤니티에 큰 문제를 일으키지 않고 소프트 포크 업그레이드를 더 빠르게 구현할 수 있습니다.

하드 포크가 발생한 후에는 이제 서로 별개의 두 블록체인이 각각 독립적으로 운영됩니다. 하드 포크를 수행한 노드는 새로운 규칙이 적용된 하나의 블록체인에 속하고, 하드 포크를 수행하지 않은 노드는 기존 규칙이 적용된 원래 블록체인에 남아 있습니다.

하드 포크 노드와 비하드 포크 노드 간에는 이후 통신이 불가능합니다.

두 네트워크는 병렬로 운영되지만, 새로 생성된 블록은 각자의 블록체인에만 존재합니다.

비트코인 네트워크에서 실제 소프트 포크의 예로는 분리된 증인(Segregated Witness, SegWit) 포크가 있습니다.