반응형

출처:https://steemit.com/kr/@twinbraid/74kjhu



포크


포크(fork)는 나이프와 포크할때 그 포크가 맞습니다


포크로 내용을 콕 찝어서 가져온다는 의미죠
한마디로 복사입니다

그렇게 복사로 끝나는게 아니라
보통 복사한 시점에서 원본과 복사본이 다른길을
걷게 됩니다

예를들어
사장님이 장부를 만들었습니다
장부를 쓰다가 불법사업을 계획하게 됩니다
그래서
이전까지 쓰던 장부를 복사해서
또 하나의 장부를 만듭니다
그 시점까지는 내용이 똑같지만
이후로 하나는 정상적인 사업내용 나머지 하나는
불법 사업내용으로 장부의 버전이 달라지고 내용도
다르게 채워져 나가게 됩니다

여기서 또 하나의 장부를 만드는 시점을
이중장부 포크라고 합니다

위의 예시와 같이
백업용이 아니라 이후의 내용은 다르게 채워나갈
이른바 다른 버전으로 쓸 의도로 포킹해오는거죠

소프트 포크



소프트 포크는 어감 그대로 부드럽게 살짜기
달라집니다.

감수성 예민한 순수소설이
덜 예민하게 바뀌는 수준으로

독자는 그 변화를 알아채기 힘들정도고
굳이 해석의 방향을 달리할 필요없이
이전같이 읽으면 됩니다

코인으로 치면 굳이 지갑프로그램 업뎃을 안해도
보내기,받기 같은 간단한 기능은
아무 문제없이 사용할 수 있는 것이죠

하지만 소설작가만은 분명 이전과 다르게 써야하므로
반드시 업데이트를 해야합니다
즉, 블록을 발행하는 채굴자들의 채굴방법은
소프트 포크에 맞춰 업데이트해야만 합니다

그리고 블록체인 자체는 이전 것을 그대로 이어나갑니다

그래서
사용자들의 기능이 블록체인에 반영되게 건드리지는 않지만
채굴규칙등이 변경되어 블록체인에 소소하게 영향을 주는
(단 블록에 기록이 바뀐다던지 하는게 아니라
채굴자 프로그램에 해커주소를 막는 필터링 추가 같은 거)

업데이트들을 소프트 포크라고 합니다

하드 포크



개빡시게 달라집니다
감수성 예민한 순수소설이
사이버펑크 디스토피아풍의 맛간 소설로 바뀌는 수준입니다

이렇게되면 독자는 뭘 읽는건지 멘붕에 빠집니다
그러므로 읽을려면 일단 약을 한사발 한후에 읽어야됩니다
이전과 같은 마인드로는 못 읽는다는 거죠

즉 사용자나 채굴자나 무조건 강제업뎃해줘야합니다

보통 블록체인의 기록방식부터해서 블록체인에 대해
커다란 변경이 있는만큼 블록체인 자체를 포크해서
복사한 새로운 블록체인으로 접속을 변경합니다

그래서
여러규칙의 심한 변동으로 인해 사용자, 채굴규칙
모두 변하게 되어 블록체인 자체를 바꿔줘야 할 정도의
큰 업데이트를 하드 포크라고 합니다

하드 포크로 인한 블록체인 나뉨 개념


만약 게임서버 혹은 카카오톡 같은 거라면
업데이트와 동시에 서버에서
사용자의 프로그램 버전을 검사합니다

그리고 그 버전이 자신들이 권장하는 버전이 아니라면
접속자체를 끊어버립니다

하지만 블록체인의 경우 그런 통제권력이 없이
사용자들이 만들어나가는 것이기 때문에
이전버전을 쓰더라도 그것을 막을 수가 없습니다

예를들어 학교를 옮긴다고 하면
학생들은 강제로 이전학교를 버리고 학교를 옮겨야됩니다

하지만 같이 노는 그룹이 있는데
모이는 곳을 다른 놀이터로 옮긴다고 하면
'난 여기서 놀거야' 라는 사람들이 나올수가 있습니다

대부분의 경우
다수의 사람이 새놀이터로 옮겨가므로
이전 놀이터는 자연스럽게 폐허(...)가 됩니다

하지만
그룹이 나뉘어져버리는 경우가 있습니다

새로운 블록체인으로 못가겠다 이거죠
코인은 블록체인에 기록되기 때문에
블록체인이 다르면 기록내용도 달라집니다
잔고라던지.. 거래라던지..

결국 갈라진 블록체인은 코인 역시 갈라지게 됩니다

그렇게 해서 생긴게 바로
이더리움 클래식입니다.

이름에 클래식이 붙은 이유가
하드포크 이전의 예전 블록체인을 그대로 쓰기 때문이죠

맺음


비트코인이 이번에 제법 큰 하드포크를 한다고 합니다

큰 변화가 일어날 수 있다는군요
현재는 저도 몬소린지 모르겠지만 공부해보고
이해가 되면 한번 적어보도록 하겠습니다

여튼 모두 잘 대비하시길 바랍니다



출처: https://www.ddengle.com/bitcoindeveloper_voted/1588253



암호화폐에서 소프트 포크(soft fork)와 하드 포크(hard fork)라는 말이 많이도 등장합니다.

아래는 소스가 공개된 암호화폐에서 소프트 포크와 하드 포크의 차이를 알려줍니다.

 

소프트 포크와 하드 포크는 둘다 버전 업그레이드하는 것을 말합니다. 

하지만, 블럭체인에 포크가 생기는지 여부에 따라서 소프트 포크와 하드 포크를 나눕니다.

 

 

1) softfork

아래의 그림과 같이, 소프트 포크는 신 버전과 구 버전을 동시에 사용해도 문제가 없는 버전 업그레이드를 하는 것입니다.

구체적으로, 소프트 포크는 블럭체인에 포크가 발생하지 않게 이루어지는 버전 업그레이드이다.

따라서 구 버전을 사용해도 정상적인 사용이 가능합니다.

 

1.1) 조치사항

마이너는 반드시 소프트 포크, 즉 신 버전으로 업그레이드를 해야 합니다.

일반 유저는 소프트 포크를 하지 않아고, 구 버전을 사용해도 정상적으로 동작합니다.

 

 

1.png

 

 

 

2) hardfork

 

아래의 그림과 같이, 하드 포크는 반드시 신 버전으로 업그레이를 해야 합니다.

구체적으로, 블럭체인에 포크가 발생을 하기 때문에 강제적으로 신버전으로 업그레이드를 해야 합니다. (강제 업데이트 버전임)

블럭체인에 영구적인 포크가 발생하면, 비주류 블럭체인에 참여가 적어서 도태되도록 하는 방법을 사용해야 합니다.

 

2.1) 조치사항

마이너와 유저 모두 신 버전으로 버전 업그레이드를 반드시 해야 합니다.

하드 포크는 일반 유저가 반드시 버전 업그레이드를 해야하는 강제 업그레이드 버전을 말합니다.

 

 

2.png

 

읽어볼만한 사이트: 

1) https://gist.github.com/gavinandresen/2355445

2) https://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-fork

 

그림 소스: https://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-fork

 

 

3) 문제

비트코인 블럭의 현재 거래제한 사이즈는 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 )

반응형

+ Recent posts