Loading...

[퀀텀 하드포크 Part 1] 하드포크의 종류

2019-10-11 20:00

퀀텀 하드포크를 설명하기 위해 이번 파트 1에서는 블록체인 하드포크에 대해 알아보려 합니다. 그리고 파트 2에서는 곧 있을 퀀텀 2.0 하드포크를 다룰 예정입니다. 이번 하드포크를 대비하기 위해 퀀텀 코어 지갑의 사용자분들께서는 필히 0.18.1 버전으로 업데이트를 해주시길 바랍니다.

Qtum Core wallet 0.18.1 버전 다운로드 : 공식 홈페이지 깃허브

하드포크와 소프트포크의 가장 큰 차이점은 이전 버전과의 호환 가능성입니다. 소프트포크는 이전 버전과 호환이 가능하지만 하드포크의 경우 이전 버전과 호환이 불가능합니다.

하드포크를 언급하면 이로 인해 문제가 생겼던 프로젝트를 떠올리며 우려를 하시는 분들도 있습니다. 대표적으로 비트코인과 이더리움이 하드포크로 인해 새로운 체인과 코인이 파생되어 비트코인 캐시와 이더리움 캐시가 생겼던 일이 있습니다. 우리는 이를 합의되지 않은 하드포크라고 표현할 수 있습니다. 프로젝트 전략과 코드 업데이트에 대한 만장 일치된 커뮤니티 동의를 얻지 못했기 때문입니다. 이런 상황에서 블록체인이 나눠지면 이득을 보는 그룹이 생기고 이들은 두 종류의 노드를 운영하고 이로써 궁극적으로 블록체인이 양 갈래로 나눠지게 됩니다.

합의되지 않은 하드포크

블록체인이 나눠지면 어떤 일이 일어나는지 기술적인 부분을 살펴보겠습니다. 보통 블록체인 노드들은 새로운 블록에 대해 합의를 이루는데 이는 블록체인에서 검증되고 배포되는 새로운 블록 내용에 대해 모두 동의한다는 것을 의미합니다. 하지만 블록의 중요한 내용(예를 들면 DAO 공격 롤백, 이더리움의 불변성, 비트코인의 블록 사이즈 등)에 대해 동의하지 않는 노드가 발생할 때 블록체인은 동의하는 그룹과 그렇지 않은 그룹으로 나뉘게 됩니다.

합의되지 않은 하드포크를 표현한 그림입니다. 하드포크를 활성화하는 블록이 생성된 후, 서로 다른 코드와 합의 규정을 가진 두 그룹의 노드가 생기고 블록체인이 나뉜 것을 확인할 수 있습니다. 이후 빨간색과 파란색 체인 중에 어느 것이 메인 체인 또는 원본이냐에 대한 논쟁이 지속됩니다.

위에 있는 그림은 블록체인 구조를 매우 심플하게 표현한 것입니다. 블록체인은 동일한 거래 내역을 각 노드의 저장소에 저장한 형태로 존재합니다. 노드들은 암호학 기술을 통해 각자가 보유하고 있는 블록체인 거래내역이 서로 동일하다는 것을 보증합니다. 그러므로 블록체인을 지속적으로 생성되는 블록들을 잇고 있는 단일한 체인으로 시각화할 수 있습니다. 그리고 해당 체인은 모든 노드들의 동기화 작업으로 인해 수천 개의 동일한 복사본으로 존재합니다.

비트코인 캐시의 출현을 살펴보자면 2018년 8월 1일 비트코인의 478,559 번째 블록 이후 비트코인과 비트코인 캐시의 노드들이 서로 다른 버전의 소프트웨어를 운영하기 시작하면서 비트코인 블록체인이 양 갈래로 나뉘고 비트코인 캐시라는 새로운 코인이 출현하게 됩니다. 이더리움과 이더리움 캐시는 2016년 7월 20일 1,920,000 번째 블록에서 두 종류의 소프트웨어를 운영하는 두 그룹의 노드들로 인해 두 종류의 코인으로 나뉘게 됩니다. 이는 커뮤니티의 전반적인 동의를 얻지 못한 합의되지 않은 하드포크였습니다.

두 체인들의 블록체인 주소와 코인은 모두 유효했으므로 ETH 보유자는 하드포크 후 같은 주소에 ETH와 ETC를 보유하게 되었습니다. 마찬가지로 BTC 보유자는 하드포크 후 BTC와 BCH를 같은 주소에 보유하게 되었습니다. 이는 유저와 거래소에 큰 혼란을 일으켰고 '리플레이 공격'을 야기하여 블록체인 하드포크 과정에 리스크를 더했습니다.

합의된 하드포크

합의된 하드포크는 커뮤니티가 하드포크의 이유와 새로운 기능에 대해 동의하는 업그레이드로 반대하거나 다른 버전의 노드를 운영하여 블록체인을 나누려는 그룹이 없는 경우를 뜻합니다.

합의된 하드포크에 대한 그림입니다. 하드포크 후 단일된 블록체인이 지속적으로 블록을 생성하는 것을 확인할 수 있습니다. 합의된 하드포크에서는 새로운 코인이 생성되지 않습니다.

합의된 하드포크에 대한 예시로는 2019년 2월 28일 이더리움 7,280,000 번째 블록에서 실행된 콘스탄티노플 하드포크가 있습니다. 커뮤니티가 블록 보상 축소를 포함한 업데이트 내용에 대해 동의한 경우입니다.

다음 글에서 본격적으로 퀀텀 블록체인의 하드포크에 대해 다룰 예정이고 9월 20일에 진행된 테스트넷 하드포크 내용과 메인넷 하드포크 전에 퀀텀 코어 지갑을 업데이트하지 않을 경우 생길 상황에 대해 설명드리도록 하겠습니다.

퀀텀 공식 커뮤니티

Naver Blog

Telegram

Kakao Talk

Facebook