소프트포크란?
소프트포크는 기존 블록체인의 기능 일부를 업그레이드하는 것입니다. 블록체인이 완성된 후 알 수 없는 이유로 가동이 되지 않을 때 개발자들은 오류를 다각도로 검토합니다. 이때 블록체인의 기존 구조는 유지하면서 간단한 업데이트를 통해 오류를 해결할 수 있다고 판단되면 소프트포크를 진행합니다.
소프트포크는 일부 기능을 수정해 블록체인의 문제를 해결합니다. 하지만 이런 방법으로는 해결할 수 없는 오류나 문제는 블록체인 구조 자체를 바꿔야 합니다. 이때 하드포크를 진행하는 것입니다.
소프트포크 실제 사례
2018년 6월 이오스의 메인넷이 구동 시작한 지 이틀도 안 되는 시점에 블록 생성이 안되는 사태가 발생했습니다. 이에 이오스 개발자들은 다각도의 검토를 통해 원인을 밝혔습니다. 정보처리의 가장 작은 단위인 트랜잭션 처리가 지연되는 것이었습니다. 이를 해결하기 위해 개발자들은 블록체인의 일부 기능을 업그레이드하는 소프트포크를 진행했습니다.
비트코인 소프트포크
비트코인 소프트포크는 2017년 처음 진행되었습니다. 소프트포크를 진행한 이유는 비트코인의 느린 처리 속도 때문이었습니다. 당시 비트코인의 크기는 약 1MB로 상당히 작았습니다. 그래서 1초당 처리되는 데이터가 7건으로 매우 적었습니다. 느린 데이터 처리 속도를 해소하기 위한 방법으로 비트코인 개발자들은 디지털 서명 부분을 별도로 분리해 용량을 4MB로 증가시키는 소프트포크를 진행했습니다. 이 방법은 세그윗 기법이라고 부릅니다.
세그윗 덕분에 블록당 데이터 저장 용량이 늘어났고 처리 속도도 빨라졌습니다. 그러나 세그윗으로 인해 기존 비트코인 채굴 방식 중 하나가 무용지물 되었습니다. 이를 우려하며 소프트포크에 동의하지 않았던 일부 비트코인 투자자들은 비트코인캐시(BCH)를 만들어 기존 비트코인 블록체인으로부터 독립했습니다.
이후로도 비트코인 블록체인은 몇 번의 소프트포크를 진행했습니다. 그로 인해 비트코인을 통한 복잡한 거래나 스마트 계약도 가능하게 되었습니다.
자주 묻는 질문 (FAQs)
소프트포크란 무엇인가요?
소프트포크란 블록체인의 소프트웨어를 업그레이드하는 작업입니다. 기존 블록체인의 구조는 그대로 유지하면서, 소프트웨어의 오류를 보강하는 것이 소프트포크의 목적입니다. 블록체인 구조 자체를 수정해야 하는 경우에는 하드포크를 진행합니다.
소프트포크의 예시는 무엇인가요?
대표적인 소프트포크 예시는 비트코인입니다. 비트코인은 다수의 소프트포크를 진행했습니다. 이더리움도 여러 번 소프트포크를 진행하며 생태계를 확장했습니다.