하드 포크와 소프트 포크

05.12.2018

하드 포크와 소프트 포크란 무엇입니까?

모든 소프트웨어는 오류를 수정하고 성능을 향상시키기 위해 지속적인 업데이트를 필요로 합니다. 암호 화폐 세계에서는 이러한 업데이트를 포크(forks)라고 부릅니다.

암호 화폐는 탈중앙화된 네트워크이기 때문에, 노드라고 알려진 네트워크의 모든 참여자들은 원활한 협업을 위해 동일한 규칙을 따라야만 합니다. 이러한 일련의 규칙들을 “프로토콜”이라 합니다.

프로토콜의 일반적인 규칙들에는 블록체인 상의 블록 사이즈와 마이너들이 새로운 블록을 채굴하는 대가로 받는 보상 등이 포함됩니다.

암호 화폐에는 소프트 포크(soft forks)와 하드 포크(hard forks)라는 두 가지 종류의 포크가 존재합니다. 두 포크는 모두 암호 화폐 프로토콜이 작동하는 방식을 근본적으로 변화시킵니다.

 

소프트 포크

소프트 포크는 이전 버전과 호환이 가능한 암호 화폐 프로토콜의 변화입니다. 이는 업데이트 되지 않은 노드들이 새로운 프로토콜의 규칙들을 위반하지 않는 선에서 트랜잭션을 처리할 수 있으며 새로운 블록을 블록체인에 추가할 수 있음을 의미합니다.  

블록 사이즈를 3메가바이트에서 2메가바이트로 낮추는 소프트 포크가 진행됐다고 해봅시다. 기존의 노드들은 여전히 트랜잭션을 처리할 수 있으며, 2메가바이트나 그보다 작은 블록들을 기록할 수 있습니다. 그러나 만약 기존의 노드가 2메가바이트보다 큰 블록을 네트워크에 기록하려고 한다면, 업데이트된 노드들은 새로운 규칙을 위반하는 이 블록을 거부하게 됩니다. 이처럼 기존의 노드는 업데이트 된 노드만큼 효율적이지 않기 때문에 새로운 프로토콜로 업데이트 해야 합니다.


하드 포크

하드 포크는 이전의 버전들과 호환되지 않는 암호 화폐 프로토콜의 변화입니다. 새로운 버전으로 업데이트 하지 않은 노드들은 트랜잭션을 처리할 수 없으며, 블록체인에 새로운 블록들을 기록할 수 없습니다. 하드 포크는 기존의 프로토콜을 바꾸거나 개선하거나, 더 나아가 새롭고 독자적인 프로토콜과 블록체인을 만드는데 사용할 수 있습니다.

프로토콜의 변화가 블록 사이즈를 2메가바이트에서 4메가바이트로 증가시키는 것이라 해봅시다. 업데이트된 노드가 3메가바이트의 블록을 블록체인에 기록하려 한다면, 기존의 업데이트 되지 않은 노드들은 이 블록이 유효하지 않다고 보고 거부하게 됩니다.

상황에 따라, 하드 포크는 계획을 따라 진행되거나 논쟁적일 수 있습니다. 계획을 따라 진행되는 포크라면 참여자들은 기존의 버전 대신 새로운 규칙을 따르기 위해 자발적으로 소프트웨어를 업데이트할 것입니다. 업데이트를 하지 않은 이들은 사람들이 거의 사용하지 않는 기존의 체인에 남아 마이닝을 계속하게 될 것입니다. 

그러나 만약 논란이 있는 포크의 경우여서 커뮤니티 내에서 업그레이드에 대한 의견이 분분하다면, 프로토콜은 보통 호환되지 않는 두 블록체인으로 포크됩니다. 두 가지의 다른 암호 화폐로 말입니다. 각 블록체인은 그들만의 고유한 커뮤니티를 갖게 될 것이고, 개발자들은 자신들이 최선이라 믿는 길로 나아갈 것입니다.

포크는 기존의 블록체인에 바탕을 두고 있기에, 새로운 포크에는 기존 블록체인의 모든 트랜잭션들이 복사됩니다. 만약 여러분이 코인 A라 불리는 100개의 암호 화폐를 가지고 있었다면, 그리고 하드 포크를 통해 코인 B라 불리는 암호 화폐가 만들어졌어졌다면, 여러분은 100개의 코인 B 또한 갖게 됩니다.

오픈 소스라는 암호 화폐의 본질적인 특성과 더불어 많은 개인과 단체들이 서로 다른 목표를 가지고 암호 화폐 공간에 들어옴에 따라, 포크는 암호 화폐 발전을 위해 필수 불가결하게 계속될 것입니다.

더 많은 콘텐츠들을 기대해주시고, 바이낸스 아카데미(Binance Academy)의 다른 동영상들을 살펴보시는 것도 잊지 마세요.

Loading