본문 바로가기

하드포크, 소프트 포크는 무엇입니까?

justin11 발행일 : 2023-04-21

하드 포크와 소프트 포크는
블록체인 기술, 특히 비트코인이나
이더리움과 같은 암호화폐 네트워크와
관련하여 사용되는 용어입니다.

블록체인 네트워크의 합의 규칙
또는 기본 프로토콜에 대한 업데이트
또는 변경 사항을 설명합니다.

이러한 업데이트는
이전 버전과 호환(소프트 포크)되거나
이전 버전과 호환되지 않을 수 있습니다
(하드 포크).


각각에 대해 자세히 살펴보겠습니다.


하드 포크란


하드 포크는
블록체인 프로토콜에 대한
이전 버전과 호환되지 않는 업데이트입니다.
여기에는 네트워크의 노드(컴퓨터)가
거래 및 블록을 검증하는 데
사용하는 합의 규칙 또는
소프트웨어를 변경하는 것이 포함됩니다.

하드 포크는 이전 버전의 블록체인과
영구적인 차이를 만들어 본질적으로
블록체인을 두 개의 다른
체인으로 나눕니다.


하드포크를 하는 이유


하드 포크는
이전에 유효하지 않은 트랜잭션이나
블록을 유효하게 만들거나
그 반대로 만드는 프로토콜의
근본적인 변화입니다.  

네트워크에 계속 참여하려면
네트워크의 모든 노드가 새 버전의
프로토콜로 업그레이드해야 합니다.  

일부 노드가 업그레이드되지 않으면
블록체인은 두 개의 개별 체인으로 분할됩니다.
하나는 이전 규칙을 따르고
다른 하나는 새 규칙을 따릅니다.  

이것은 새로운 암호 화폐의 생성으로
이어질 수 있습니다.  
하드 포크는 주요 변경이 필요하거나
제안된 업데이트에 대한 합의에
도달할 수 없을 때 자주 사용됩니다.




하드 포크의 결과


모든 네트워크 참여자
(노드, 채굴자 및 사용자)가 소프트웨어를
새 버전으로 업그레이드해야 합니다.

모든 네트워크 참가자가 변경 사항에
동의하지 않는 경우 두 개의 개별 체인
(및 잠재적으로 두 개의 다른 암호화폐)이
생성될 수 있습니다.

커뮤니티 분열, 가격 변동성 및
사용자 혼란을 초래할 수 있습니다.



하드 포크의 예시


2017년 비트코인(BTC)에서
비트코인캐시(BCH) 하드포크

2016년 이더리움(ETH)에서
이더리움 클래식(ETC) 하드포크

하드 포크와 소프트 포크 알아보기



소프트 포크란


소프트 포크는
블록체인 프로토콜에 대한 이전 버전과
호환되는 업데이트입니다.

여기에는 합의 규칙을 강화하거나
수정하여 업그레이드되지 않은 노드가
여전히 이전 규칙을 기반으로
트랜잭션 및 블록을 검증할 수 있도록 합니다.
그러나 업그레이드된 노드는 새 규칙을
따르는 블록만 허용합니다.

소프트 포크의 이유:

소프트 포크는 기존 규칙을
무효화하지 않고 새로운 규칙을 강화하거나
추가하는 프로토콜에 대한 이전 버전과
호환되는 변경 사항입니다.  

이는 이전 버전의 프로토콜을 실행하는
노드가 새로운 기능에 액세스하거나
이점을 얻지 못할 수도 있지만
여전히 네트워크에 참여할 수 있음을
의미합니다.  소프트 포크는 대부분의
채굴자만 업그레이드하면 되므로
일반적으로 변경 사항을 구현하는 데
덜 파괴적인 방법으로 간주됩니다.

소프트 포크는 보다 원활한
전환을 허용하고 단일 통합 블록체인을
유지하지만 모든 유형의 업데이트,
특히 주요 변경이 필요한 경우에는
적합하지 않을 수 있습니다.


소프트 포크의 결과


업그레이드되지 않은 노드는 여전히
네트워크에 참여할 수 있으므로
네트워크 참여자(노드 및 채굴자)의 대다수만
소프트웨어를 업그레이드하면 됩니다.

대부분의 네트워크가
새로운 규칙을 채택하는 한
체인 분할이 발생할 가능성이 적습니다.

일반적으로 하드 포크보다 덜 파괴적이고
논쟁의 여지가 있는 것으로 간주됩니다.



소프트 포크의 예시


2017년 Bitcoin 네트워크의
SegWit 소프트 포크

이더리움의 비잔티움과
콘스탄티노플 업그레이드



결론


하드포크와 소프트포크는
블록체인 프로토콜의 업데이트입니다.

하드 포크는 영구적인 체인 분할 및
커뮤니티 분할을 초래할 수 있는
이전 버전과 호환되지 않는 변경 사항을
포함하는 반면,

소프트 포크는 일반적으로
덜 파괴적인 이전 버전과
호환되는 업데이트입니다.

두 유형의 포크 모두 블록체인의 기능,
보안 또는 성능을 개선하는 것을
목표로 합니다.

댓글