포크 (Fork)

개념

개발자들이 하나의 소프트웨어 소스코드를 통째로 복사하여 독립적인 새로운 소프트웨어를 개발하는것을 말한다. 블록체인에서 포크가 일어난다는 것은 새로운 분기점이 일어난다고 볼 수 있다.

하드포크

  • 블록체인의 기능개선과 문제점 보완을 위해 쓰인다.

  • 블록의 규칙을 근본적으로 바꾸는 업데이트며 이전 노드들과 호환되지 않고, 기존의 하드포크된 블록체인과 다른 블록체인이 되며 서로 분리된 채 블록이 계속 쌓여 나간다.

  • 여러 규칙들의 변동으로 인해 사용자가 블록체인 자체를 바꿔줘야 한다.

  • 하드포크로 인해 새로운 암호화폐가 만들어지면 초창기 시점부터 하드포크 시점까지의 생성된 모든 코인이 복사가 된다. 그러므로 하드포크를 하는 쪽에서 활성화된 지갑을 가지고 있는 기존 체인 참여자에게 코인 보유 갯수에 비례한 코인 배당이 돌아간다. 하지만 활성화 되지 않은 지갑 주소에 대해서는 지급을 하지 않고 누락된 코인 물량을 하드포크한 주최자가 가져가게 된다.

하는 이유

  • 신규 기능 추가

    • 기존 블록체인의 기능을 쓰지 않는것은 소프트포크로 가능하지만 새로운 기능을 만들기 위해서는 하드포크를 해야한다.

  • 블록 크기의 확장

    • 블록 크기가 작으면 기록이 계속 밀리게되어 거래의 처리속도가 느려진다.

  • 보안상 취약점 수정

소프트포크

  • 기존의 규칙에서 큰 틀을 바꾸지 않고 부분적인 업데이트만 일어나 포킹된 블록끼리 간단한 시스템 업그레이드만으로 호환이 가능하다.

  • 기존 체인을 포크해서 업그레이드 한 후 다시 체인에 덧붙이는 방식이다.

  • 기존의 코인을 보내거나 받는 기능은 문제 없이 사용할 수 있지만 블록을 발행하는 사람의 채굴 방식은 소프트포크에 맞춰 업데이트 해야만 한다.

  • 서로 어느정도 호환이 가능하기 때문에 기존의 규칙을 따르는 블록체인은 업데이트가 필수가 아닌 선택사항이지만, 기존의 규칙을 따르는 블록체인의 노드가 새로운 규칙을 따르기로 합의한다면 두 체인은 결국 합쳐진다.

차이점

Last updated