본문 바로가기
도서/경제

비트코인과 블록체인 가장자산의 실체 2/e: 2부. 소프트포크와 하드포크

by 꾸준민 2023. 2. 7.

1부에서 블록체인(Block Chain)이란 어떤 것인지 알아보았다.

블록(Block)이란 거래내역을 기록하는 저장단위이고

블록들이 일렬로 연결되어 데이터를 저장하는 시스템을 가리켜 체인(Chain)이라 말하는 것이다.

그리고 전산학적 정의로는

익명의 비동기화 네트워크에서 발생하는 사건들을

중앙 서버의 관여 없이도 일관성 있게 순서를 정할 수 있는 장치를 의미한다.

 

[ 2부. 소프트포크와 하드포크 ]

블록체인은 탈 중앙화 시스템으로 중앙 서버가 없다.

그래서 소프트웨어의 유지보수가 지극히 힘들며 일관성을 유지할 수 없는 단점이 있다.

이러한 단점 때문에 필요한 것이 ‘하드포크(Hard Fork)’와 ‘소프트포크(Soft Fork)’이다.

 

 

하드포크

 

새로운 규칙을 따르는 노드가 생성될 경우 영원히 2개로 분리된 블록체인 데이터가 남게 되는 것을 하드포크라 한다. 기존의 규칙으로 데이터를 저장하던 A그룹에서 향상된 기능을 갖춘 블록 b’이 생겨나면 b’은 A그룹에서 벗어나게 된다. 그래서 b’ 블록은 새로운 규칙을 가진 B그룹을 만든다. B그룹은 A그룹보다 더 다양한 블록을 생성할 수 있게 된다. 이러한 블록이 계속 이어지다 어느 순간 B그룹이 A그룹보다 무거워지는 일이 발생하면 두 개의 서로 다른 블록체인 데이터가 생긴다. A와 B그룹에서 각각 따로 생성된 블록체인은 하나로 합쳐질 수 없다. 두 그룹이 합쳐지려면 소프트웨어를 업데이트해야 하는데, 업데이트를 하여 A그룹이 B그룹으로 통일되면 A그룹이 생성한 모든 블록은 폐기되고 그동안 수령한 블록의 보상금(BTC)도 모두 사라진다. 그래서 A가 폐기될 때 보상금에 대한 적절한 보상이 주어지지 않으면 A가 B로 전환되는 것은 불가능하다. 비트코인과 비트코인 캐시가 하드포크를 한 코인인데, 새로운 혹은 개선된 규칙을 갖고 있는 비트코인 캐시가 개발됐음에도 비트코인은 남아있는 것이다. 결과적으로 2개로 분리된 블록체인 데이터가 남게 되는 것을 하드포크’라 말하는 것이다.

 

 

소프트포크

 

소프트포크는 하드포크와 반대다. 과거의 규칙을 무효화하는 새로운 규칙이 발생했을 때, 새 규칙을 따라 한 개의 데이터만 남게 되는 것을 말한다. 과거에 사용하던 규칙 중 뒤늦게 보안에 심각한 위협을 끼친다고 확인된 규칙이 발견되면 그 규칙을 무효화하는 새로운 규칙을 따르는 B그룹이 발생한다. 하지만 하드포크와는 다르게 A그룹이 B그룹보다 더 다양한 블록을 생성할 수 있다. 데이터 생성은 하드포크와 마찬가지로 두 갈래로 갈라져 서로 다른 블록체인 데이터가 자라는데 B그룹의 블록체인이 더 무거워지면 소프트웨어의 업그레이드와 상관없이 무조건 새로운 규칙에 맞게 B그룹으로 통일된다. 비트코인은 거래내역 처리 속도를 높이기 위해 소프트포크를 하여 블록당 저장 용량을 1MB에서 4MB로 늘렸었는데, 이를 소프트포크라 하는 것이다. 결과적으로 과거에는 유효하던 규칙이 무효화되는 변경이 일어났을 때, 모든 새 규칙을 따르게 되는 것을 ‘소프트포크’라고 한다.

 

정리를 하면 하드포크는 새로운 규칙이 발생했을 때,

기존의 규칙과 분리하여 두 개의 블록체인이 형성되는 것으로

비트코인과 비트코인 캐시를 연상하면 된다.

그리고 소프트포크는 새로운 규칙이 발생했을 때,

그 규칙을 따라가는 것으로 비트코인의 데이터 처리속도를 향상한 사례를 연상하면 된다.

 

다음 글에서는 저자 이병욱 교수가 주장하는 비트코인의 한계점에 대해 공유하도록 하겠다.

댓글