[Blockchan A-Z] 소프트 포크와 하드 포크(soft and hard forks)

bolee·2023년 1월 10일
0

Blockchan A-Z

목록 보기
33/33
post-thumbnail

MODULE 3 - SMART CONTRACT INTUITION
07. SOFT AND HARD FORKS

하드 포크(hard fork)

하드 포크(hard fork)란 기본적으로 이전에는 허용되지 않았으며 불가능했던 작업을 가능하게 만드는 블록체인 소프트웨어에 대한 업그레이드이다. 즉, 개별적인 버전의 분할이 발생하게 된 것이다.

이더리움의 경우 2016년 The DAO 공격에 의해 하드포크를 진행하여 이더리움(Ethereum)과 이더리움 클래식(Ethereum Classic)으로 나뉘어졌다.
하드 포크의 또 다른 예로 비트코인은 2017년 트랜잭션 처리를 위해 분리된 증인(Segregated Witness, SegWit)를 도입하느냐 블록 크기를 늘리느냐에 대한 견해 차이로 하드포크되어 비트코인(Bitcoin)과 비트코인 캐시(Bitcoin Cash)로 나뉘어졌다.
또한 비트코인에서 ASIC을 이용한 채굴로 GPU가 불필요해짐에 따라 이에 불만으로 ASIC 채굴을 금지하는 하드포크로 인해 비트코인으로부터 나와 비트코인 골드(Bitcoin Gold)가 나오게 되었다.

이처럼 기존 블록체인에 호환이 되지 않는 기능을 추가하기 위해서는 체인 분할이 필수적이며 이를 하드 포크(hard fork)라고 부른다.

이는 분산 시스템에서 자주 발생하는 일인데 참여자들이 본인들의 미래를 직접 결정하고 현상에 만족스럽지 못한 참여자가 있다면 충분한 지지가 있을 때 자체적으로 네트워크를 분할해서 그들만의 블록체인을 시작할 수도 있는 것이다.
이는 막거나 허용하지 않는 중앙 당국이 없기 때문에 원하는 대로 할 수 있는 것이며, 이 시스템의 미학이라고 할 수 있다.

여기서 중요한 것운 우선 하드 포크 자체가 분할을 초래하는 것이 아니다. 특정 사안이 만족스럽지 못한 사람들이 있을 때만 분할이 발생하는 것이다. 만약 비트코인 캐시의 경우, 모든 이가 블록의 크기를 8MB로 늘리는 것에 동의했다면 전체 비트코인 네트워크가 8MB로 바뀌어 이 그대로를 비트코인이라고 불렀을 것이다.
즉, 하드 포크란 소프트웨어를 지칭하는 용어이며, 체인이 아닌 소프트웨어에 대한 작업이다.


소프트 포크(soft fork)

소프트 포크(soft fork)는 기존 블록체인의 기능을 일부 수정하는 것을 말한다. 하드포크와 달리 기존 블록체인의 기본 구조는 변경되지 않고 부분적인 기능 개선만 이루어지는 것이다.
즉, 기존 블록체인과 호환되지 않는 하드 포크와 달리 소프트 포크는 기존 블록체인의 프로토콜을 그대로 따르기 때문에 호환이 가능하다.

이러한 소프트 포크의 예로는 비트코인의 분리된 증인(Segregated Witness, SegWit)이 있다. 비트코인은 세그윗을 도입하기 위해 포크를 진행하였지만 세그윗은 기존 비트코인의 프로토콜을 따르기 때문에 다른 체인으로 분리되지 않으며, 기존 비트코인과 호환이 가능하다. 즉, 소프트 포크가 일어난 것이다.

0개의 댓글