BlockChain/BlockChain Knowledge

블록체인 포크

dev_swan 2023. 10. 16. 19:00

✏️ 블록체인 포크

블록체인 포크는 블록체인 네트워크에서 분기가 발생하는 현상입니다.

블록체인 포크는 소프트 포크, 하드 포크 두 가지로 나눌 수 있습니다. 블록체인 포크는 다양한 이유로 발생할 수 있습니다. 예를 들어, 새로운 기능의 도입, 버그 수정, 프로토콜 업데이트 등의 이유로 블록체인의 규칙이 변경될 수 있습니다.

포크는 네트워크의 참여자들 간의 합의에 의해 이루어지며, 포크가 발생하면 블록체인의 분기가 생기게 됩니다. 이러한 분기는 각각의 포크 된 블록체인에서 별개의 트랜잭션이 발생하게 되고, 참여자들은 각각의 블록체인을 선택하여 사용할 수 있습니다.

하드 포크

하드 포크는 블록체인의 기존 규칙과 호환되지 않는 프로토콜 변경을 의미합니다. 하드 포크 후에는 각 체인에서 독립적으로 트랜잭션이 이루어집니다. 이 때, 하드 포크 발생 전에 토큰을 보유했던 사용자는 두 체인 모두에서 해당 토큰을 소유하게 됩니다.

 

🔴 주요 포인트

하드 포크는 이전 버전의 프로토콜을 따르는 체인과 새로운 버전을 따르는 블록체인 두 가지로 나뉩니다.

하드 포크에서는 이전 블록체인에서 토큰을 보유한 사람들은 새로운 포크에서도 토큰을 받게 되지만, 마이너들은 어느 블록체인을 계속해서 확인할지 선택해야 합니다.

 

🔴 하드 포크의 이해

하드 포크는 블록체인의 노드가 더 이상 이전 버전의 블록체인을 인식하지 않게 되는 것입니다. 이는 이전 버전의 블록체인으로부터 영구적으로 분리된 상태를 만듭니다.

코드에 새로운 규칙을 추가하면 블록체인에 포크가 생성됩니다. 하나는 새로운 업그레이드된 블록체인을 따르고, 다른 하나는 이전 버전의 경로를 따르게 됩니다.

 

🔴 포크 동작 방식

블록체인에서는 채굴자들이 네트워크의 규칙을 설정합니다. 채굴자들은 블록체인 네트워크의 동작과 관련된 메모리 이동 규칙에 대해 이해하고 있으며, 이를 기반으로 새로운 블록을 생성하고 체인에 추가합니다. 이러한 규칙은 블록 생성 시의 유효성을 결정하고, 블록체인의 일관성과 보안을 유지하는데 중요한 역할을 합니다.

 

규칙을 변경하려면 모든 채굴자들이 동의해야 합니다. 새로운 규칙을 도입하거나 기존 규칙을 수정하기 위해 네트워크 상의 모든 채굴자들이 동의하지 않으면 변경이 이루어지지 않습니다. 이러한 규칙 변경이 필요한 경우, 블록체인에서는 포크라는 개념을 사용합니다.

 

포크가 발생하면 개발자들은 새로운 규칙을 반영하기 위해 모든 소프트웨어를 업데이트합니다. 이는 블록체인 네트워크 전체에 영향을 주는 변경 사항이며, 채굴자들은 새로운 규칙을 준수하여 블록 생성과 검증을 계속 수행하게 됩니다. 이러한 과정을 통해 블록체인은 계속해서 발전하고 개선되는 것입니다.

 

블록체인 하드 포크

블록체인 하드 포크 - btcc


소프트 포크

소프트 포크는 기존의 규칙과 호환 가능한 프로토콜 변경을 의미합니다. 이러한 변경은 기존 노드들에게는 선택적이며, 새로운 규칙에 따른 블록은 기존 노드들에게도 유효하게 인식됩니다. 하지만 새로운 규칙을 적용받지 않은 블록은 업데이트된 노드들에게 유효하지 않을 수 있습니다.

 

🔴 소프트 포크의 이해

소프트 포크는 업그레이드된 새로운 규칙을 채택한 노드들과 기존 규칙을 따르는 노드들 사이에서 호환성을 유지할 수 있는 방식으로 이루어집니다.

 

🔴 소프트 포크의 특징

 

1️⃣ 호환성 유지

소프트 포크는 새로운 규칙을 따르는 노드들과 기존 규칙을 그대로 따르는 노드들 사이에서 호환성을 유지할 수 있습니다. 기존 노드들은 새로운 블록을 유효하다고 판단하여 이를 수용할 수 있습니다.

 

2️⃣ 업그레이드 필요성

소프트 포크를 위해서는 대다수의 채굴자들이 새로운 규칙을 따르는 소프트웨어 업그레이드를 해야 합니다. 이는 새로운 규칙이 적용된 블록을 생성하고 유효화하는데 필요합니다.

 

3️⃣ 역효과 없음

소프트 포크는 기존 블록체인의 유효한 블록 집합을 충족하는 새로운 규칙을 추가하여 이루어지기 때문에, 소프트 포크 이후에는 이전 블록들이 여전히 유효합니다. 이는 기존 노드들이 업그레이드하지 않아도 블록체인의 연속성을 유지할 수 있다는 것을 의미합니다.

 

4️⃣ 롤백 불가

소프트 포크는 하드 포크와는 다르게 기존의 규칙과 호환 가능한 프로토콜 변경을 의미합니다. 이로 인해, 소프트 포크 이후에 새로운 규칙에 따라 생성된 블록들이 유효하게 인식됩니다. 그러나, 이전의 규칙에 따라 생성된 블록들도 여전히 유효하게 인식됩니다. 이러한 특성 때문에, 소프트 포크는 일종의 역호환성을 지닙니다. 따라서 신규 블록들이 기존 블록들과 호환되기 때문에 기존 블록들을 롤백하거나 무효화할 필요가 없습니다.

 

5️⃣ 채굴자의 선택

소프트 포크에서는 채굴자들은 새로운 규칙을 따르는 블록과 이전 규칙을 따르는 블록 중에서 선택할 수 있습니다. 새로운 규칙을 따르는 블록을 채굴하면 기존 노드와 호환성을 유지하면서 네트워크 보안과 기능을 개선할 수 있습니다.

 

블록체인 소프트 포크 - 업비트 투자자 보호센터


🆚 하드 포크와 소프트 포크의 차이

하드 포크는 Window에서 Linux로 전환하는 것과 같은 완전히 다른 버전의 운영 체제를 사용하는 것에 비유할 수 있습니다. 둘 사이의 호환성이 없기 때문에 사용자는 하나의 운영 체제를 선택해야 합니다.

소프트 포크는 휴대폰의 OS 업데이트로 비유할 수 있습니다. 새로운 기능이나 개선된 보안 패치 같은 업데이트가 제공될 때, 이를 설치한 사용자는 새로운 기능을 활용할 수 있지만, 설치하지 않은 사용자도 기존의 방식대로 휴대폰을 사용할 수 있습니다. 그러나 업데이트를 설치한 사용자는 오래된 규칙에 따른 특정 동작을 거부할 수도 있습니다.