brunch

매거진 Crypto 101

You can make anything
by writing

C.S.Lewis

by Writing Tree Aug 06. 2022

포크란 무엇인가?

크립토에서 종종 들리지만 전혀 모르겠는 단어, 하드 포크.

Disclaimer: 이 글은 크립토 입문자를 위한 해외 사이트 LearnCrypto의 아티클 <Crypto Basics: A Fork in the Road>를 번역한 글입니다. 대부분의 정보의 출처는 해당 아티클에 있으며, 이해를 돕기 위해 약간의 정보가 추가되거나 생략되었을 수 있습니다. 또한, 이 글은 투자 추천이나 보증 글이 아닙니다. 모든 투자판단은 본인의 책임 하에 있습니다.
구글의  플레이스토어와 애플의 앱스토어 (출처: the sierra home companion)

사용하고 있는 핸드폰 기종에 따라 앱스토어 혹은 플레이스토어에서 끊임없이 애플리케이션을 업데이트해야 한다는 알람을 받을 것이다. 업데이트는 주로 해당 애플리케이션 담당자가 버그 등 부족한 점을 파악하고 이를 수정하면서 생긴다. 업데이트에 동의하지 않는 사용자는 해당 애플리케이션을 사용하지 못한다.


애플리케이션의 업데이트는 매우 일방적으로 이루어진다. 이는 금융회사의 업데이트도 마찬가지다. 그러나 블록체인 네트워크 혹은 애플리케이션을 수정하는 것은 그렇게 간단한 과정이 아니다. 블록체인은 오픈소스로 이루어진 경우가 대부분이고 탈중앙화 되어 있기 때문이다. 즉, 모든 결정을 내릴 수 있는 권한을 가진 사람이 없다.


오픈소스는 컴퓨터 코드의 모든 부분이 모두에게 사용될 수 있다는 말이다. 따라서 이 코드 중 마음에 들지 않는 부분만 수정해서 자신만의 프로그램을 만들 수도 있다. 지난 시간에 이야기했듯 비트코인의 변화가 마음에 들지 않는 사람들은 필연적으로 존재하고, 이런 사람들은 비트코인의 코드를 일부 수정해 자신들이 원하는 방향으로 설계해 이에 동의하는 노드들을 유입시킨다. 이 작업을 포크(Fork)라고 부른다.


다시 말해 포크는 블록체인의 설계나 기능을 향상할 때 의견의 차이가 있는 사람들이 만들어내는 새로운 방향성이다. 조금 쉬운 비유를 들자면 밴드의 멤버들이 방향성에 대한 의견이 달라 나누어지고 각자 새로운 밴드를 구성하는 일과 유사하다. 


비트코인 생태계엔 누가 있을까?


비트코인 생태계에 영향을 미치는 플레이어는 크게 네 종류로 나뉜다. 그들에 대해 각각 알아보겠다.


1. 개발자

개발자들 (출처: agile search)

비트코인은 컴퓨터 기술이다. 따라서 개발자들의 역할은 매우 중요하다. 소프트웨어 개발자들은 비트코인을 생성하고 유지하고 업그레이드시키는 역할을 한다. 그중 비트코인 커뮤니티에서 인정받고 신뢰받는 개발자들을 비트코인 코어팀이라고 부른다.


비트코인 코어 개발자들은 매우 중요한 역할을 하지만 모든 권력을 갖고 있는 것은 아니다. 비트코인에 관심이 있는 개발자는 누구나 정식 절차를 따라 비트코인에 대한 변화 제안서를 제출할 수 있다. 이는 비트코인 개선 제안서, 혹은 BIP (Bitcoin Improvement Proposals)라고 불린다. BIP가 제출되면 커뮤니티는 이에 대해 토론을 벌이고 과반 이상의 동의가 있으면 해당 제안서의 내용이 도입된다. 그렇기에 제안서에 쓰인 변화가 급진적이고 논란의 여지가 많을수록 도입되기 힘든 구조를 가지고 있다.


만약 BIP를 수용하는 쪽으로 합의가 이루어지게 되면, BIP는 정식으로 도입이 되고 비트코인은 그 변화와 함께 계속 작동한다. 그러나 합의가 이루어지지 않는다면 포크가 일어날 가능성이 생긴다. 왜냐하면 이 변화를 원하는 집단이 있을 수 있기 때문이다.


2. 채굴자

비트코인 채굴자 TeraWulf의 채굴장 (출처: Bloomberg)

채굴자는 BIP를 도입시키기 위해 설득을 시켜야 하는, 가장 영향력 있는 집단이다. 그러니 당연히 비트코인 생태계에서 매우 중요한 역할을 한다. 이에 더해 거래를 검증하고 새로운 블록을 블록체인에 더하고 블록 생성 보상으로 받는 비트코인을 가져가니 생태계에서 없어서는 안 될 존재들이다. 그러나 채굴자들도 (당연히) 모든 권력을 가지고 있지 않다.


이들은 거래내역을 검증하고 처리하며 네트워크의 안정성을 유지한다. 만약 채굴자들이 나쁜 마음을 먹어 블록 생성 보상을 임의로 늘리려고 하면 당연히 많은 반발이 일어날 것이고 개발자들이 이 업데이트를 진행시키지 않을 것이다. 그리고 아마 그 제안서 자체가 통과되는 일이 없을 것이다. 가장 결정적으로 비트코인의 유통량과 속도를 건드리게 되면 비트코인에 대한 대중의 신뢰도가 떨어져 비트코인 가격의 하락으로 이어질 것이다. 채굴자들은 경제적 의도를 갖고 생태계에 참여하는 사람들이기에 이런 리스크를 감행할 이유가 전혀 없다.


3. 풀 노드 운영자

대한민국 대표 거래소 업비트. 대부분의 대형 거래소는 풀 노드 운영자라고 보면 된다. (출처: 업비트)

풀 노드(Full Node)는 비트코인에 저장되는 모든 거래 내역, 즉 블록체인의 전부를 저장하고 있는 노드들을 의미한다. 누구나 풀 노드를 운영할 수 있고 현재 전 세계에 약 5만 개의 노드가 있을 것으로 예상된다.


그들은 새로 생성되는 모든 블록의 정직성을 검증한다. 만약 채굴자가 악의를 가지고 말도 안 되는 거래 내역을 체인에 더하려고 하면 풀 노드가 이를 거부하고 채굴자는 보상을 빼앗길 것이다.


풀 노드는 블록체인의 데이터를 모두 로컬로 저장하기 때문에 네트워크에 접근이 없어도 데이터에 빠르게 접근할 수 있다는 장점을 가진다. 대부분의 거래소들은 풀 노드를 운영하고 있다.


풀 노드는 네트워크에 직접적인 영향을 미치는 존재들은 아니다. 그러나 그들이 힘이 없다는 의미는 결코 아니다. 궁극적으로 풀 노드의 과반이 받아들이는 것이 업그레이드의 성공을 결정한다. 만약 노드들이 만족하지 못하는 방향으로 업그레이드가 이루어진다면 노드들은 비트코인 생태계를 떠날 것이고, 이는 곧 비트코인 생태계 성장에 큰 해가 되기 때문이다.


4. 라이트 노드 사용자

대표적인 크립토 월렛 메타마스크 등을 사용하는 유저들은 라이트 노드라고 볼 수 있다. (출처: 위키피디아)

라이트 노드(Light Node)는 풀 노드에 연결하여 거래 내역을 보내고 검증한다. 그러나 그들은 블록체인 전부를 저장하지는 않는다. 라이트 노드는 대부분 비트코인 지갑이나 간단한 애플리케이션들이다.


라이트 노드는 비트코인 사용자들의 거의 대부분이라고 보면 된다. 네트워크 거버넌스에 직접적인 영향을 미치는 존재는 아니지만, 그 방대한 수만으로도 다른 플레이어들에게는 압박으로 작용한다. 만약 다른 플레이어들이 비트코인 생태계를 라이트 노드 사용자들이 원하지 않는 방향으로 끌고 간다면, 라이트 노드 사용자가 모두 비트코인을 팔아 가격이 하락할 것이기 때문이다 (비트코인 생태계 참여자들의 가장 큰 동기는 경제적 보상이라는 것을 잊지 마라).



위 네 플레이어들은 특정 사안에 대해 동의를 할 수도 있지만, 극단적인 경우에 네트워크를 분리시키는 작업, 즉 포크를 진행할 수도 있다.


소프트 포크 vs. 하드 포크


소프트 포크란 무엇인가?


소프트 포크(Soft Fork)는 기존 버전의 법칙을 무너뜨리지 않는 코드 변형이다. 따라서 기존 버전과 변형된 버전이 분리되지 않고 같은 네트워크에서 운영될 수 있다. 그 예시로는 Segwit라고 불리는 개선이 있다. 이 변형은 블록의 최대 사이즈를 제한하는 법칙을 무시하지 않고 거래 내역을 최대화하는 데 성공했다.


하드 포크란 무엇인가?


반면 하드 포크(Hard Fork)는 기존 버전과 양립할 수 없는 변화를 만든다. 앞서 언급한 대로 하드 포크는 커뮤니티 내의 합의가 이루어지지 않을 때, 혹은 너무 심각한 버그 때문에 대대적인 수정이 불가피할 때 진행된다. 가장 대표적인 예시로는 이더리움이 있다.


기존 버전에는 새로운 법칙이 적용되지 않기 때문에 기존의 소프트웨어는 하드 포크 된 버전과 같은 네트워크에 남을 수 없다. 네트워크가 멈춘다는 말은 아니다. 하드 포크가 이루어진 시점부터 두 개의 다른 네트워크가 운영된다는 뜻이다. 하나는 기존의 법칙을 그대로 따르고 다른 하나는 업데이트된 소프트웨어를 따른다. 그리고 각 체인의 플레이어들은 - 채굴자, 홀더, 거래소, 스테이커 등 - 각각 어떤 버전을 따를지 정하게 된다.


이후 벌어질 일들은 커뮤니티와 하드 포크의 이유에 따라 달라진다.


시나리오 1: 완전한 합의로 인해 계획된 개선


이 경우에는 커뮤니티 전체가 소프트웨어의 포크에 동의한 상태로, 사실 포크라고 보기도 어려운 경우다. 왜냐하면 모든 사람들이 똑같은 네트워크를 선택하였고 기존의 네트워크는 사라지기 때문이다.


이 시나리오는 심각한 버그가 있거나 커뮤니티 대부분에 긍정적인 영향을 준다고 생각될 때 일어난다. 2019년 EOS 프로토콜 업데이트가 이러한 예시가 될 수 있다. 그러나 당연히 이렇게 깔끔하게 이루어지는 포크는 매우 드물다.


시나리오 2: 의견 차이로 인한 논쟁적 상황


커뮤니티가 의견 차이로 인해 갈라지는 경우도 있다. 이때 양쪽 모두 의견을 굽힐 기세가 보이지 않는다면 네트워크가 분리되게 된다. 2017년 비트코인의 네트워크가 갈라져 비트코인 캐시(Bitcoin Cash)가 생긴 경우를 생각하면 된다.

비트코인에서 하드 포크 된 비트코인 캐시 (출처: Bitcoincash.org)

2017년에 비트코인은 거래내역 처리에 어려움을 겪고 있었고, 이 문제를 해결하는 방식에 대한 커뮤니티의 의견이 갈렸다. 이 논란은 수개월 동안 해결되지 않아 결국 네트워크가 분리되었다. 이렇게 분리된 네트워크가 비트코인 캐시다. 비트코인 코어 팀이 제시한 해결책이 마음에 들지 않았던 일부 커뮤니티 멤버는 코드를 포크 해서 새로운 암호화폐를 만들었다. 그리고 비트코인의 통화량을 그대로 가져와 비트코인을 가지고 있는 모든 사람들이 같은 양의 비트코인 캐시를 받게 되었다. 예를 들어 10 비트코인을 가지고 있던 사람은 10개의 비트코인 캐시를 받게 된 것이다. 다시 말하면 비트코인의 홀더들은 아무런 조건 없이 새로운 암호화폐를 받았다. 이로 인해 많은 사람들이 하드 포크는 "공짜 돈"이 된다는 생각을 하게 되었고 추후 여러 하드 포크의 동기가 되었다.


시나리오 3: 계획된 분할


드물지만 완전히 새로운 암호화폐가 되기 위한 포크를 진행하는 경우도 있다. 이 경우에는 각각의 암호화폐가 갈라져 다른 특징, 목표, 이상을 가지고 완전히 독립된 방식으로 진화한다.




위에서 언급한 비트코인 캐시 이후 하드 포크는 새로운 네트워크를 효율적으로 만들어낼 수 있는 전략으로 자리매김하기 시작했다. 여태까지 몇몇 포크는 합리적으로 진행되어 지금까지도 활발하게 운영되고 있지만, 대부분의 포크는 완전히 실험적이거나 경제적 이익만을 위한 기회주의적인 이유로 진행되었다. 추후 다양한 이유로 사라진 비트코인 하드 포크의 예시들을 다루는 글을 작성해보도록 하겠다.


알트코인과 대표적인 비트코인 포크 사례

비트코인과 대표 알트코인들 (출처: Cointribune)

하드 포크는 순수 주의자들(비트코인 맥시멀리스트들)에게 비판받아오고 있지만, 사실 하드 포크는 엄연히 비트코인의 본성의 일부이다. 2011년 새로운 암호화폐들이 많이 생겨날 때 대부분의 프로젝트는 비트코인의 코드 베이스를 포크 하거나 비트코인의 특징을 약간만 바꾸어서 시작되었다. 오늘날 비트코인을 제외한 암호화폐를 부르는 알트코인(altcoin)이라는 단어도 이때 생겨났다.


라이트코인(Litecoin; LTC)은 이때 태어난 포크 중 하나이다. 오늘날, 라이트코인은 시가총액 기준 상위 20위권에 위치하고 있을 정도로 큰 영향력을 발휘하고 있다.


비트코인 캐시가 야기한 하드 포크는 조금 더 논쟁적인 여지가 있는 형태의 하드 포크이다. 단순히 경제적인 이득을 위해 생성되는 경우가 많지만 실제로 경제적인 이득으로 이어질지는 확실치 않기 때문이다. 실제로 새로운 비트코인 캐시를 표방하며 비트코인 골드, 비트코인 다이아몬드, 슈퍼 비트코인, 비트코인 아톰 등 수많은 프로젝트가 생겼지만 성공한 프로젝트는 매우 드물었다.


비트코인을 포크 한 비트코인 캐시를 포크 한 암호화폐도 존재한다. 원래 비트코인 캐시 코어 팀에 멤버였던 크레이그 라이트(Craig Wright)가 만든 비트코인 SV가 그것이다.


이렇듯 현재는 수많은 포크와 포크의 포크, 포크의 포크의 포크가 존재한다. 그리고 포크는 비트코인에서만 일어나는 것이 아니다. 이더리움이나 리플 같은 주요 알트코인이 포크 되어 새로운 암호화폐와 블록체인의 기반이 되기도 한다.


비트코인 맥시멀리스트: 비트코인은 궁극적 진리인가? 


비트코인 커뮤니티와 하드 포크를 보면 인간의 본성에 대해 생각해 볼 수 있다. 그룹을 만들고 편을 들고 다른 그룹과 싸우며 정치질을 하는 것은 인간의 본성이고, 암호화폐 커뮤니티에서는 하드 포크를 야기하기도 한다.


비트코인 커뮤니티의 대표적인 정치 그룹은 아마 비트코인 맥시멀리스트 - 혹은 맥시 - 일 것이다. 맥시의 정의에 대해서는 아직까지 명확하게 정해진 합의는 없지만, 보통 맥시는 비트코인이 단 하나의 진실되고 순수한 암호화폐라고 믿는 사람들을 지칭한다. 그래서 이들은 비트코인을 제외한 모든 암호화폐를 부정한다. 맥시들은 암호화폐와 블록체인의 다른 사용 사례를 전혀 인정하지 않고 비트코인의 핵심 원칙만을 절대 진리로 여긴다 (물론 이는 매우 극단적인 사례이다).


비트코인 맥시들의 극단적인 태도는 많은 갈등의 원인이 되었다. 단순히 암호화폐 커뮤니티에서만 그런 것이 아니라 트위터 등 비교적 더 공개적인 공간에서도 말이다. 이는 암호화폐에 대한 반감을 일으키는 행동이지만 동시에 인간의 본성 중 하나이기에 어쩔 수 없기도 하다.


그러나 비트 맥시들의 의견과는 달리 비트코인은 복사하고 변형하고 새로운 실험으로 이어져 우리가 생각하지 못한 문제들을 해결할 수 있는 방식으로 진화하도록 설계되었다. 그래서 비트코인의 단점을 보완하는 새로운 암호화폐는 계속해서 나올 것이다. 그리고 금융과 관련된 문제뿐 아니라 블록체인 기술을 활용하여 무한한 분야에서의 가능성을 보여줄 것이다.


이번 글에서 알고 넘어가야 할 개념

1. 포크

- 하드 포크 vs. 소프트 포크

2. 비트코인 코어팀

3. BIP

4. 풀 노드 vs. 라이트 노드

5. 알트코인

6. 비트코인 맥시멀리스트

매거진의 이전글 비트코인의 단점
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari