하드포크와 소프트포크
암호화폐의 가격 상승과 가장 밀접한 이슈를 꼽으라고 하면 단연 '비트코인 하드포크(Bitcoin Hardfork)일 것이다.
포크(Fork)란?
대체적으로 '포크'라고 하면 우리가 '밥 먹을 때 사용하는 포크'가 제일 먼저 떠오를 것이다.
쉽게 말해, 포크의 끝을 보면 삼지창처럼 갈라져 있듯이, 포크는 하나의 블록체인이 다른 블록체인으로 갈라져 나오는 현상이라고 설명할 수 있다.
그렇다면 하드포크나 소프트포크는 무엇일까? 혹시라도 이 용어를 찾아보았다면 온라인상에서 하드포크 개념에 대한 설명이 제각기 다름을 확인했을 것이다. 그만큼 간결하게 설명하기 어려운 개념이 바로 포크이다.
**'유효성(Validity)'으로 설명을 한다면, 이전에 유효(Valid)하지 않았던 것을 유효하게 하는 것을 '하드포크'라고 하고
이전에 유효하였던 것을 유효하지 않게 하는 것을 '소프트포크'라고 할 수 있다.**
이해하기 쉽게 설명하면, 키가 작은 운동선수를 수술을 통해 키를 크게 늘리는 방법을 '하드포크'라 하고 운동선수가 운동을 잘하게 식이요법이나 운동 프로그램을 적용하는 것을 '소프트포크'라고 할 수 있다.
** 포크(Fork)와 합의(Consensus)의 문제**
오랫동안 비트코인 핵심(Bitcoin Core) 개발 진영에서는 그동안 비트코인이 더 나은 방향, 더 안정적인 방향으로 가기 위해 많은 제안을 해왔다.
이 제안을 비트코인 개선안(BIP : Bitcoin Improvement Proposal)이라고 한다.
이 개선안을 실행하기 위해서는 비트코인의 경우, 채굴자(Miner)의 역할이 매우 중요하기 때문에 결정을 할 때 '합의'를 통한 이들의 동의가 필요하다.
*참고로 이 때 채굴자는 한 명을 의미하는 것이 아니다. 채굴자들은 적게는 수 백만, 많게는 수천만 대의 검증 역할인 '노드(Node)' 업무를 수행한다. 노드의는 비트코인 네트워크 발전을 위해 많은 노력을 하기 때문에 이들의 결정은 매우 중요하다.
포크가 하나에서 다른 것으로 갈라져 나온다고 앞서 설명했지만, '포크'는 그리 쉬운 문제가 아니다. 막연하게 '요즘 날도 그렇고 새로운 전환점이 필요한데, 그런 의미해서 포크나 한 번 해서 블록 크기를 변경해 보는 건 어떨까요?'하는 것처럼 쉽게 결정할 사항이 아니다. 바로 '이해관계' 때문이다.
앞서 언급한 검증자 역할을 하는 노드들, 개발자 진영 등 비트코인 네트워크의 합의가 필요하고, 이들 또한 비트코인의 발전이라는 이름 아래 자신의 이익이 되는 방향으로 선택한다. 그렇다면 작년에 진행된 비트코인 포크는 무엇이며, 어떤 이해관계가 있었을까? 입장을 나누어 채굴자와 개발자 입장에서 본다면 포크에 대한 이슈가 더 쉽게 이해된다.
2017년에 진행되었던 비트코인 포크는 무엇이며 어떤 이해관계가 있었을까? 입장을 나누어 채굴자와 개발자 입장에서 포크에 대한 이슈를 살펴 보았다.
채굴자 입장에서의 하드포크
비트코인 하드포크로 인해 붉어진 문제가 바로 블록 크기에 대한 논쟁이다.
블록 크기를 둘러싼 입장과 이해의 차이는 수수료를 통해 수익을 얻게 되는 채굴자들의 입장과 비트코인 전송 처리 용량 증가를 연구하는 개발자들 사이의 갈등으로 심화되기 때문이다.
비트코인 채굴의 경제 모델에서, 채굴자(Miner)도 일종의 노동을 하는 근로자로 비유된다. 근로자가 일한 대가로 임금을 지불 받듯이 채굴자는 전송 수수료와 새로 생성되는 비트코인을 받게 된다. 비트코인 채굴에는 채굴자에게 그에 상응하는 대가가 주어져야 채굴이 지속될 수 있다.
비트코인은 결제 시 결제 내역(Transaction)을 블록에 담아서 컨펌(Confirm)을 받는 원리이다. 블록 크기가 커지만 한 블록에 기록할 수 있는 전송 내역이 늘어난다. 이는 곧 채굴자들이 블록 당 더 많은 거래 수수료를 채굴에 대한 보상으로 받을 수 있게 됨을 의미한다. 다른 말로는 블록크기를 늘리면 채굴자들의 이익이 커진다는 의미이다. 이 때 채굴자들은 '블록의 크기를 늘리자'라고 비트코인 네트워크에 제안할 수 있는데 이 때 발생하는 대표적인 예가 하드포크이다.
하지만 문제는 개발자들의 입장이 채굴자들과 일치하지 않을 수 있다는 것이다.
개발자 입장에서의 소프트포크
비트코인(Bitcoin Core)를 개발하는 개발팀의 경우, 블록 크기가 증가되면 발생할 수 있는 문제점에 대해 안정성을 보장할 수 없다는 이유로 채굴자들의 입장과 대립된다. 채굴자들은 블록이 커지면 얻는 이익이 커지기 때문에 하드포크를 통해서 비트코인의 블록크기를 늘리자고 주장할 수 있지만, 개발자들은 블록코기를 키우지 않고, 블록의 저장 효율을 개선 시킬 것을 주장하고 있다. 개발팀은 비트코인 블록크기를 늘릴 경우, 그에 따른 위험성을 예측하기 어렵고, 다른 방법을 통해서도 문제를 해결할 수 있다고 주장하고 있다. 그래서 블록크기를 늘리는 것이 아니라 안정적으로 틀을 그대로 놓고 문제점을 보완하자고 내세운 것이 소프트포크였다.
하드포크와 소프트포크
2017년 비트코인 세그윗(SegWit)을 통해서 채굴자와 개발자간 갈등의 심화가 드러났다. 2017년 8월 비트코인의 크기를 유지한 채 거래가변성 문제 등을 수정하는 방법으로 소프트포크가 진행되었다. 이에 대해 비트메인(Bitmain)의 우지한은 자체적으로 비트코인을 하드포크하여 블록크기를 늘리는 대안을 제시했다. 여기서 재미있는 것은 우지한이 경영하는 비트메인은 중국 대표 채굴회사로 알려져있다는 것이다. 앞서 언급된 바와 같이 비트코인 용량을 늘리면 한 블록에 담을 수 있는 거래량이 늘어나서 채굴자들이 수수료를 더 받을 수 있게 된다. 이렇게 탄생하게 된 암호화폐가 현재 시가총액 4위의 비트코인 캐시(BCH, Bitcoin Cash)이다.
하드포크와 소포트포크의 핵심은 이해관계의 차이로 발생한다는 것이며, 이것은 결국 정치적 문제로 귀결된다. 채굴자와 개발자 간의 합의(Consensus)를 이루어야 하는데 쉽지가 않으며 결국 정치적 대립으로 이어지게 된다. 더불어 비트코인을 사용하는 유저들에게도 이들은 자신들이 진행하는 일들이 비트코인의 발전을 위한 일이라는 '당위성' 또한 인정을 받아야 하므로 비트코인의 네트워크는 생각보다 복잡한 구조라고 볼 수 있다.
하지만 이해관계의 문제도 결국 네트워크의 발전을 통한 생존이므로 갈등과 고민을 통해 지속가능한 방향을 선택하게 될 것이다.