본문 바로가기

알기쉬운 블록체인

비트코인 소프트 포크 VS 하드 포크

비트코인이 이슈가 되면서 거래량이 늘어났다.

이렇게 되자 문제가 발생했다.  

비트코인의 문제는 무엇일까?

 

작은 블록크기다.

거래량이 늘어나 블록 사이즈가 포화되어 거래 정보를 기입할 공간이 부족해졌기 때문이다.

늘어난 거래량 때문에 시스템 업그레이드가 필요해졌다.


이 작은 블록크기를 두고 의견이 분분했다.

한 편은 블록 사이즈를 늘리자고 주장했다.

그러면 어떻게 될까?

블록 사이즈를 늘리면 더 많은 메모리가 필요하고 채굴자는 운영비용이 높아지게 된다.

결국 소수의 중앙화된 채굴자에 의해서 독점과 담합의 위험이 늘고 장부조작 위험이 생긴다.
 

한 편은 작은 블록을 주장했다.

분권화와 안정성을 위해서 거시적으로 보자는 입장이다.
 

결국 비트코인을 쪼개자는 결론에 도달하게 되었고 이를 전문용어로 포크(Fork)라고 한다.

포크? 그렇다. 당신이 생각하는 그 포크가 맞다.

그 손잡이를 블록체인이라고 생각하고

여러 갈래로 나뉜 포크 끝 부분을 여러 개로 갈라진 블록체인이라고 생각하면 된다.

 

그리고 이 포크는 소프트 포크(Soft Fork)와 하드포크 (Hard Fork)로 나뉜다.

다시 말해 업그레이드 방식이 다른 것이다.

 

소프트포크는 일종의 소프트웨어 업그레이드다.

구 버전 소프트웨어의 새 기능이 없지만 새 버전과 호환이 가능하다.

기존 블록체인과 연동되면서 시스템을 업그레이드 할 소프트 포크 방식의

업그레이드를 주장하던 세력은 그 방법으로 세그윗을 채택하게 된다.

세그윗은 비트코인 소프트 포크 방식의 업그레이드 방법 중 하나라고 할 수 있다.

 

다음 시간에 보다 자세히 언급하겠지만 세그윗을 잠깐 설명한다.

세그윗은 서명 부분을 따로 저장하는 것이다.

Segregated '분리된' 과 Witness '증인'을  합한 세그윗은 '분리된 증인'이라는 의미다.

보통 거래 기록에는 거래를 승인하기 위해 많은 부분이 서명으로 이루어져 있다.

이 서명 부분을 거래 정보와 같이 저장하는 게 아니라 따로 저장하는 방식이 세그윗이다.

 

하드포크는 새로운 소프트 웨어에서는 구버전과 호환이 안된다.

즉 반드시 새 버전으로 업데이트를 해야한다.

이럴 경우 처음 한 개였던 블록체인이 2개 이상으로 나뉘어 각각 존재하게 된다.

기존 블록체인의 기능 개선, 오류 정정, 문제점 보완 등을 목적으로 한

강력한 업그레이드인만큼 채굴자들의 과반수 지지 여부에 따라 성공여부가 결정된다.

이럴 경우 처음 한 개였던 블록체인이 2개 이상으로 나뉘어 각각 존재하게 된다.


하드포크를 하면 기존 지갑 유저들은 하드포크된 지갑과 호환을 할 수없다.

기존 장부는 인정하기 때문에 본래 가진 암호화폐 만큼 새 암호화폐를 받을 수 있다.
 

결국, 새로운 블록체인을 형성하는 방식의 하드포크를 주장하는 쪽은

하드포크로 비트코인 캐시를 만들게 되었다.