하드포크와 소프트포크의 차이점은 무엇인가요?
안녕하세요. 하드포크와 소프트포크에 대하여 답변드리겠습니다.
▣ 블록체인의 분기점 - 포크(Fork)
포크(Fork)는 사전적 의미로 분기점 뜻하며, 블록체인에서는 새로운 체인으로 분리 또는 변경(업데이트)을 할 때 사용합니다. 포크에는 소프트 포크와 하드포크가 있습니다.
하드포크(Hard fork)
현 블록체인 시스템을 기준으로 새로운 체인을 구축할 때 사용한는 개념으로 기준이 되는 블록체인의 특정 블록에서 또 다른 분기를 발생하여 독자적인 시스템을 운영하는 경우가 대표적입니다.
해당 블록체인의 핵심적인(중요) 사항이 변경 또는 업데이트 될 경우 실시됩니다.
소프트포크(Soft fork)
기존의 규칙에서 일부분만 변경하거나 새로운 규칙을 적용하는 방식을 말합니다.
핵심사항이 아닌 보조적인 기능을 업데이트하는 것을 말합니다.
즉, 하드포크는 새로운 블록체인을 생성하거나 핵심적인 기능이 변경이 될 경우 실시되며, 소프트 포크는 간단한 업데이트 또는 패치 같은 행위를 말한다고 볼 수 있습니다.
감사합니다.
안녕하십니까?
블록체인의 하드포크와 소프트 포크에 대해서 알아보겠습니다.
포크란(Fork)?
우리가 양식 먹을 때 사용하는 음식을 찍어 먹는 포크를 생각하면 이해가 쉬울 듯합니다.
포크 또는 소프트웨어 개발 포크(project fork)는 개발자들이 하나의 소프트웨어 소스 코드를 통째로 복사하여 독립적인 새로운 소프트웨어를 개발하는 것을 말합니다.
오픈 소스 소프트웨어의 경우 소스 코드가 공개되어 있고, 통째로 복사하는 것이 허용되는 라이센스를 따르기 때문에, 원 저작자의 허가 없이 복제를 통한 새로운 소프트웨어 개발과 발전이 가능합니다.
먼저 하드 포크(Hard Fork)는
기존 블록체인 시스템과 별개로 새로운 블록체인 생겨나는 것입니다. 기존에 존재하던 시스템의 문제점이 발생하였을 때 새로운 기능으로 업그레이드 하기 위해 주로 사용됩니다.
기존 블록체인의 기능 개선, 오류수정, 문제점 보완 등을 목적으로 기존 블록체인과는 호환이 되지 않게 분리하여 새로운 방식으로 변경하는 강력한 업그레이드를 뜻합니다. 하드포크 이후에는 신 버전이 구 번전과 호환이 안되기 때문에 채굴자, 일반 사용자 모두 신 버전으로 업그레이드 해야 합니다.
하드포크는 가상화폐 사용자(소유주)들 사이의 합의가 원만하게 이루어지지 않을 때 발생하기도 합니다. 이는 화폐 생태계를 하나로 모으지 못하는 문제가 될 수 있기 때문에, 이를 효율적으로 해결할 수 있는 의사소통 방법이 점점 필요하게 된다.
다음으로 소프트 포크(Soft Fork)는
기존 블록체인에 큰 영향을 미치지 않고 단순 오류를 수정하는 버전 업그레이드를 의미하며, 채굴자는 반드시 신 버전으로 업그레이드 해야 하고 일반 사용자는 구 버전과 신 버전 모두 사용 가능한 것을 말합니다.
궁금하신 점에 도움이 되셨기를 바랍니다.
안녕하세요 Danny입니다.
블록체인의 핵심은 합의알고리즘, 즉 블록체인에 참여하는 참여자들이 합의한 규칙에 의해서 시스템이 운영됩니다.
기존 합의된 규칙에서 다른 규칙이 생기는 경우를 우리는 포크라고 이야기 합니다.
Fork. 네..우리가 밥먹을때는 잘 안쓰지만, 파스타 먹을때 쓰는 그 포크맞습니다.
동사로 사용될때 갈라지다, 나누어지다 등의 뜻이 있는 영어단어죠.
보통 소프트웨어 개발용어로 사용할때는, 소스코드를 통째로 복사하여 독립적인 소프트웨어를 개발할때 사용하고 있습니다.
사전 설명이 길었는데요.
블록체인에서 사용되는 소프트포크는,
기존 합의 알고리즘에서 약간의 수정이 있는 경우에 사용됩니다.
즉, 연결된 체인들에서 변화가 있지만 기존에 사용되던 체인들과 새롭게 구성된 규칙에 의한 체인들이 서로 연결이 될 수 있습니다.
예를 들어 쉽게 설명드리면,
PPT 버전이 업그레이드 되더라도 이전버전과 이후 버전이 호환이 되는 경우를 소프트포크처럼 생각할 수 있습니다.
블록체인에서 사용되는 하드포크는,
기존 합의 알고리즘의 핵심부분을 수정합니다.
그래서 기존에 연결된 체인들과 새롭게 구성되는 체인들간의 연결이 되지 않습니다.(상호호환이 안되는거죠.)
기존 이더리움이 새롭게 포크하면서 이더리움 클래식과 이더리움으로 두개가 생긴걸 예로 들수 있습니다.
우리가 이해하는 소프트웨어로는,
PPT 프로그램을 개발한 소프트웨어 회사가 PPT를 버리고 HWP를 지원하는 한글프로그램 회사가 되었다?
(좀 예가 이상하지만..) 이런 개념정도로 이해할 수 있습니다.
안드로이드와 아이폰이 호환이 되지 않는것 처럼.
하드포크되면 이전 블록체인과 새로운 블록체인이 호환이 되지 않습니다.
감사합니다.