하드포크 없이 프로토콜 업그레이드? ‘포워드블록’ 논쟁

등록 : 2018년 10월 28일 16:22

블록스트림(Blockstream)의 공동 창업자 마크 프리든바흐(Mark Friedenbach)는 지난 5일 열린 스케일링 비트코인(Scaling Bitcoin) 콘퍼런스에서 기대를 모아왔던 “포워드 블록(Forward Blocks)”을 최초로 발표했다. 발표 전부터 “획기적인 발전” 혹은 “네트워크 공격”이라 불리며 지지하는 의견과 반대하는 의견이 팽팽히 맞서던 포워드 블록은 블록 크기나 작업증명방식(PoW) 변경 등 프로토콜 안에서 논란이 많은 부분을 상대적으로 쉽게 바꿀 수 있는 솔루션으로 알려졌다.

비트코인 커뮤니티의 일반적인 의견과는 상반된 내용을 담고 있어 콘퍼런스 개최 수주 전부터 숨겨져 왔던 프리든바흐의 발표에 많은 이목이 쏠렸었다. 특히 큰 파장을 몰고 올 내용은 기존 블록체인과 호환성을 유지하면서도 대대적으로 프로토콜을 변경할 수 있어서 모든 사용자의 소프트웨어를 업그레이드하지 않아도 된다는 점이다.

많은 사용자가 자신의 자금에 대한 일종의 주권을 행사하기 위해 블록체인 프로토콜을 사용하지만, 소프트웨어 변경을 강제함으로써 이 주권을 침해하는 문제가 발생한다. 이 문제는 프로토콜 변경에 오랫동안 걸림돌로 작용했고, 큰 논란 끝에 결국 비트코인 네트워크에서 비트코인캐시(BCH)가 포크되는 불미스러운 결과로 이어졌다.

프리든바흐의 연구는 암호화폐 개발자들이 오랫동안 해결하려고 애썼던 문제, 즉 거대한 분산 시스템을 대대적으로 변경하는 효과적인 방법을 모색하고 있다. 비트코인이 탈중앙화되어 있고 사용자가 프로토콜 변경을 수용 또는 거부할 수 있는 선택권이 없다는 이유를 들어 급격한 코드 변경은 어렵고 또 어려워야만 한다는 것이 많은 이들의 주장이다.

게다가 비트코인의 주요 변경사항 일부는 기존 블록체인과 호환되지 않는 하드포크를 통해서만 가능하므로, 모든 사용자가 소프트웨어를 업그레이드해야 한다. 프리든바흐는 포워드 블록을 통해서 하드포크하지 않고도 호환성을 유지할 수 있다고 주장한다.

“확장성과 관련된 논쟁은 하드포크해야 한다면 언제, 또 어떻게 안전하게 실행할지와 같은 문제에 집중되어 있다.”

그렇지만 그의 새로운 연구는 이제 더는 하드포크가 필요 없다고 지적한다.

“포워드 블록 덕분에 이제 이런 논쟁은 무의미해졌다. 비트코인을 확장하기 위해 하드포크할 필요가 없다. 세그윗(SegWit)의 경우와 마찬가지로 소프트포크로 해결할 수 있다.”

지난해 비트코인 업그레이드에도 적용되었던, 사용자들이 선택할 수 있는 옵트인(opt-in) 변경 방식으로 더 큰 변경 사항도 처리할 수 있다고 프리든바흐는 주장한다.

사진=Getty Images Bank

다양한 포크를 섞다

은둔형 개발자인 프리든바흐는 암호화폐 업계에서 그다지 잘 알려진 인물은 아니다.

미항공우주국(NASA)에서 우주 연구 관련 애플리케이션을 개발하다가 비트코인에 뛰어든 프리든바흐는 향후 비트코인에 적용될 수 있는 큰 변화의 토대가 되는 이론을 연구했다. 예를 들면 사용자가 더 복잡한 형태의 거래를 할 수 있도록 비트코인의 스마트 계약 기능을 연구했고, 사이드체인에 관한 블록스트림 논문을 공동 집필했다.

이런 전력에 비추어봤을 때 프리든바흐가 암호화폐 프로토콜의 변경 방법에 관심을 가지는 것은 당연하다. 사실 프리든바흐가 프로토콜 변경 방법에 관심을 가지게 된 이유는 블록 크기가 아닌 작업증명방식의 변경 때문이었다. 비트코인의 작업증명방식 알고리듬을 변경하려는 시도는 강력한 컴퓨팅 하드웨어를 가진 채굴자가 네트워크에서 과도한 영향력을 행사하는 것을 막으려는 조처로 인식되고 있다.

지난해부터 ASIC 채굴기를 배제하려는 시도에도 불구하고 다수의 블록체인이 공격을 당하자 많은 사람이 비트코인 프로토콜을 공식적으로 변경해야 한다고 주장하고 나섰다. 예를 들면 최근 시아코인(Sia, SC) 커뮤니티 사용자들이 몇 달간의 논쟁 끝에 현재 활동 중인 ASIC 채굴기를 몰아내기 위해 “킬 스위치(kill switch)” 하드포크를 단행하기로 했다.

개발자들은 일반적으로 하드포크를 통해서만 이런 변경이 가능하다고 생각했고, 그래서 하드포크 이야기만 나오면 늘 논쟁이 뒤따랐다. 하지만 포워드 블록의 등장으로 하드포크가 아닌 소프트포크를 통해서 합의된 변경 사항을 실행할 수 있는 길이 열렸다.

그렇다면 포워드 블록은 어떤 방식으로 작동하는가? 프리든바흐는 최근 논문에서 블록체인 변경을 다양한 종류의 포크를 혼합한 형태로 설명한다.

“각각의 접근 방식(포크)은 감내할 수 없는 부작용이 따른다. 이들을 잘 결합하면 신기하게도 장점만 취하고 부작용과 단점은 상쇄해버릴 수 있다. 포워드 블록이라는 새롭고 기발한 메커니즘에 기초한 이 방식은 사실 그렇게 복잡하지 않다. 복잡하고 잡다한 만물상 같은 제안이 아니다.”

포워드 블록은 범용 업그레이드 솔루션이기 때문에 블록 크기 변경과 작업증명방식 변경뿐 아니라 모든 업그레이드에 적용할 수 있다. 프리든바흐는 이더리움의 확장성 기술을 떠올리게 하는 ‘샤딩(sharding)’이란 용어를 써가며, 이 변경 방식이 확장성을 위해 비트코인을 ‘샤딩’하는 데도 사용할 수 있다고 주장한다.

(논문에는 이런 모든 아이디어와 포워드 블록이 작동하는 방식이 자세히 기술되어 있다).

 

그저  다른 도구?

논문 전문은 10월 6일에서야 발표되었는데 소셜미디어에서는 이미 포워드 블록에 관한 논의가 진행되고 있었다. 일부 비트코인 개발자들은 시큰둥한 반응을 보였다.

“Shinobimonkey”라는 아이디를 쓰는 비트코인 사용자는 “업그레이드를 가장한 네트워크 공격”이라는 의견을 밝혔다. 사실 이 사용자는 논문이 발표된 스케일링 비트코인 콘퍼런스 자체를 과격한 언어로 비난하면서 “이런 이벤트는 웃음거리에 지나지 않아 폐지해야 한다”라는 트윗을 올리기도 했다.

블록스트림의 CEO 아담 백도  포워드 블록을 흥미롭지만 획기적인 발전으로 보기는 어렵다는 견해를 밝혔다.

“괜찮은 아이디어라고 생각한다. 새로운 메커니즘의 발견은 언제나 유용하지만, 기술적으로 그리고 사용자 합의 측면에서 실용적인지는 별개의 문제이다. 포워드 블록은 그저 또 다른 도구일 뿐이다.”

하지만 프리든바흐의 제안을 열렬히 지지하는 이들도 생겨났다. 비트코인 코어(Bitcoin Core) 개발자인 칼요한 앨름은 실제로 적용될지는 미지수라면서도 “획기적인 발전”이라고 찬사를 보냈다.

“결과와 관계없이 예전에는 불가능하다고 여겼던 일을 이제 할 수 있는 길이 열리고 있다. 이는 실제 실행 가능성과는 전혀 다른 차원의 얘기이다.”

프리든바흐도 포워드 블록이 비트코인에 꼭 사용돼야 한다고 주장하지 않는다. 단지 이런 옵션이 있음을 알려서 폭넓은 논의를 시작하자는 의도일 뿐이라고 밝혔다.

“도구는 도덕적 판단의 대상이 아니므로 ‘좋다’ 혹은 ‘나쁘다’고 평가할 수 없다. 단지 도구일 뿐이다. 어떻게 사용하느냐가 문제인데, 비트코인에 관한 한 개인적으로 어떻게 했으면 좋겠다는 의견이 딱히 없다는 점을 밝혀 둔다.”

비트코인 커뮤니티가 포워드 블록을 시도할 가치가 있는 옵션으로 받아들일지는 시간을 두고 지켜봐야 한다.

한편, 프리든바흐는 프레이코인(Freicoin, FRC)에서 포워드 블록을 실험할 계획이다. 프레이코인은 프리든바흐가 수년 전 공동 출시한 암호화폐 프로젝트로, 비트코인과는 경제 모델이 약간 다르다. 규모가 작은 프레이코인 커뮤니티가 포워드 블록을 채택하기로 하면, 이 업그레이드 방식은 최초로 실제 암호화폐에서 실험될 예정이다.

번역: 뉴스페퍼민트

각종 제보 및 보도자료는 contact@coindeskkorea.com 으로 보내주세요.