땡글에 제가 올린 글을 이곳에 다시 올립니다.
https://www.ddengle.com/bitcoindeveloper_voted/1588253
암호화폐에서 소프트 포크(soft fork)와 하드 포크(hard fork)라는 말이 많이도 등장합니다.
아래는 소스가 공개된 암호화폐에서 소프트 포크와 하드 포크의 차이를 알려줍니다.
소프트 포크와 하드 포크는 둘다 버전 업그레이드하는 것을 말합니다.
하지만, 유저가 반드시 버전을 업그레이드를 해야 하는냐 아니냐에 따라서 소프트 포크와 하드 포크를 나눕니다.
- soft fork
아래의 그림과 같이, 소프트 포크는 신 버전과 구 버전을 동시에 사용해도 문제가 없는 버전 업그레이드를 하는 것입니다.
구체적으로, 소프트 포크는 블럭체인에 포크가 발생하지 않게 이루어지는 버전 업그레이드입니다.
따라서 구 버전을 사용해도 정상적인 사용이 가능합니다.
1.1) 조치사항
마이너는 반드시 소프트 포크, 즉 신 버전으로 업그레이드를 해야 합니다.
일반 유저는 소프트 포크를 하지 않아고, 구 버전을 사용해도 정상적으로 동작합니다.
- hard fork
아래의 그림과 같이, 하드 포크는 반드시 신 버전으로 업그레이를 해야 합니다.
구체적으로, 블럭체인에 포크가 발생을 하기 때문에 강제적으로 신버전으로 업그레이드를 해야 합니다. (강제 업데이트 버전임)
결국, 블럭체인에 영구적인 포크가 발생하고, 비주류 블럭체인이 도태되도록 하여 주류 블럭체인만 살아남도록 하는 방법을 사용합니다.
따라서, 참여자의 합의가 필요하며, 비트코인 등의 경우 게시판 등에서 의견을 수렴하여 하드포크 등을 하고, 코스모스 등의 경우 프로토콜 내에 거버넌스를 포함하여 네트워크 내에서 투표로 주류 블럭체인을 결정합니다.
2.1) 조치사항
마이너와 유저 모두 신 버전으로 버전 업그레이드를 반드시 해야 합니다.
하드 포크는 일반 유저가 반드시 버전 업그레이드를 해야하는 강제 업그레이드 버전을 말합니다.
읽어볼만한 사이트:
- https://gist.github.com/gavinandresen/2355445
- https://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-fork
그림 소스: https://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-fork
- 문제
비트코인 블럭의 현재 거래제한 사이즈는 1MB인데요.
이 사이즈를 1MB 이상, 즉 예로 10MB로 높이는 버전 업그레이드는 소프트 포크일까요 아니면 하드 포크일까요?
답: 하드 포크
참고1 : https://en.bitcoin.it/wiki/Block_size_limit_controversy
참고2 : 비트코인의 거래제한 사이즈: MAX_BLOCK_SIZE = 1000000
(거래제한 사이즈는 main.h파일에 기록되어 있네요..
https://github.com/bitcoin/bitcoin/blob/d3cb2b8acfce36d359262b4afd7e7235eff106b0/src/main.h )