gettyimages

 

블록체인에 발생할 수 있는 이른바 51% 공격이란 개인 혹은 소수의 담합한 세력이 51% 이상의 연산능력을 손에 넣었을 때 조작된 거래를 기록한 장부를 정상적인 거래를 기록한 장부 대신 선택함으로써 합의 알고리듬을 왜곡하고 잘못된 블록을 만들어낸 전체 블록체인을 왜곡하는 행위를 일컫는다.

이론적으로는 언제나 있을 수 있는 일이지만 특히 유명한 암호화폐에서는 실제로 거의 일어나지 않기도 했다. 하지만 지난 두 달 사이에 같은 블록체인에서 무려 두 차례나 51% 공격이 성공했고, 단일 채굴자(혹은 소수의 담합한 채굴자)가 자기에게 유리하게 장부를 조작해 더 많은 암호화폐를 챙겼다.

문제의 암호화폐는 프라이버시에 특화된 버지코인(verge, XVG)으로, 특히 최근 들어 성인물 웹사이트 포르노허브(Pornhub)와 제휴를 맺어 세상의 이목을 끌었던 바로 그 화폐다. 공격을 감행한 이들은 수백만 달러어치 버지코인을 찍어낸 뒤 유유히 챙겨갔다.

먼저 (포르노허브와의 제휴를 발표하기 약 2주 전) 4월에 일어난 첫 번째 공격에서 해커들은 25만 버지코인을 챙겨갔다. 이어 5월 중순에 일어난 두 번째 공격 때는 무려 18억 원이 넘는 버지코인을 찍어낸 뒤 챙겨갔다.

전문가들은 기존 암호화폐 프로토콜이 쓰는 기본 코드를 조금만 변경해도 합의 알고리듬의 허점을 파고들 여지가 생긴다고 지적했다. 그리고 사소해보이는 코드 변경이 어떤 결과를 야기할지 예측하는 것은 매우 어려운 일이다. 물론 버지코인 개발자들은 결제를 위해 더 좋은 암호화폐를 만들려는 의도였겠지만, 새로운 블록이 유효한 시간 같은 작은 파라미터를 살짝 바꾸는 것으로 인해 블록체인 전체를 공격해 장악할 수 있는 허점이 생겨버렸다.

런던 임페리얼 칼리지의 교수이자 리퀴디티 네트워크를 만든 아서 저베(Arthur Gervais) 교수는 "제대로 된 인센티브를 설계하고 유지하는 것만 해도 절대 쉬운 일이 아니"라고 말했다. 즉 블록체인에 참여하는 모든 이들이 공동의 목표를 추구하게 함으로써 개별 참여자가 전체 노드를 장악하는 경우를 방지하는 방식은 언뜻 합리적이고 안정적인 인센티브처럼 보이기도 하지만, 실상을 들여다보면 상당히 위태로운 방식이 될 수도 있다.

암호화폐 분석 업체 아바커스(The Abacus)의 CTO 다니엘 골드만(Daniel Goldman)은 이번 51% 공격을 분석해 왔다. 골드만은 버지코인 측의 안일한 태도가 아쉽다고 지적했다.

전반적으로 상황이 좋지 않다. 이번에 기본 코드에서 일어난 문제는 결국 부주의와 안일한 대처가 빚어낸 사달이다. 즉, 오픈소스 소프트웨어의 코드를 그대로 가져다 쓰면서 그 원리를 정확하게 이해하지 않았던 탓이다. 이런 식으로 말하기 싫지만, 한마디로 해커가 개발자보다 더 꼼꼼하고 치밀하게 준비해 공격을 감행했다고 볼 수 있다. 내가 버지코인 개발자라면 그 해커를 영입하려 할 것이다.

라이트코인을 만든 찰리 리나 모네로의 수석 개발자 리카르도 스파그니 등 유명한 블록체인 개발자들은 사실 그동안 오픈소스를 사실상 그대로 가져다쓰는 플랫폼의 취약점을 여러 차례 지적해 왔다. 버지코인도 비판을 피해가지 못했지만, 그때마다 "버지 지킴이(Verge Army)"를 자처하는 열성 지지자들은 비판을 일축해 왔다. 두 차례나 성공한 51% 공격을 보며 찰리 리나 리카르도 스파그니 같은 이들은 다시 한번 자신들이 옳았다고 생각할 것이다.

피델리티 인베스트먼트의 연구원 닉 카터도 트위터에 "이번 일로 정말 중요한 교훈을 얻었다"며, 버지코인의 개발 과정 전반에 어떤 문제가 있는지 명백히 드러났다고 덧붙였다. 이 기사에 관한 의견을 물은 취재 요청에 버지코인 개발팀의 대표 개발자들은 답하지 않았다.

정확히 무엇이 문제인가?


이번 두 차례 공격을 분석해보면 왜 블록마다 거래가 유효한 시간을 설정해놓고 이를 엄격히 준수하도록 했는지 그 이유를 알 수 있다.

예를 들면 비트코인 거래는 10분 안에 검증이 끝나게 돼 있다. 10분 뒤에는 정당한 거래면 블록에 기록되고 그렇지 않으면 폐기된다. 그런데 버지코인은 그 시간이 2시간으로 훨씬 더 길다. 블록체인 시스템에 참여하는 이들은 전 세계에 퍼져 있으므로 자연스레 정보 비대칭이 발생하는데, 여기서 해커들은 몰래 거래 시각을 조작해 거래량을 부풀려 등록할 구멍을 찾아냈다. 다니엘 골드만이 이 문제를 지적해놓은 글은 많은 주목을 받았다.

문제는 여기서 끝이 아니다. 버지코인 해시함수의 난이도도 공격의 빌미를 제공한다.

버지코인은 "암흑 중력파(Dark Gravity Wave)"라는 알고리듬을 사용해 채굴자가 해시함수를 풀어내고 블록을 생성하는 속도를 자동적으로 조정한다. 비트코인의 경우 2주에 한 번 조정을 하는데, 버지코인은 그보다 훨씬 빠른 2시간마다 조정을 한다.

골드만은 유효한 거래인지 검증에 걸리는 2시간과 그 사이에 거래량 조작 등에 취약한 점, 그리고 블록 생성 속도를 자주 조정하는 알고리듬이 결합돼 "버지코인 채굴 조정 기제 자체의 기준이 상당히 모호해지는" 문제가 발생한다고 지적한다.

다시 말하면 해커들은 거래 시각을 조작하고 거래량을 부풀려 검증이 유효한 2시간 사이에 해시함수의 난이도를 급격히 낮출 수 있다. 그러면 해커들은 더 많은 버지코인을 더 쉽게 채굴할 수 있게 된다.

첫 번째 공격이 발생했을 때 버지코인 개발자들은 재빨리 대처해 해커들이 버지코인을 추가로 발행해 챙겨갈 수 없게 막았다. 하지만 지난달 또 공격이 발생했을 때는 개발팀의 대응에 빈틈이 있었고, 해커들은 새로운 패치를 우회해 계속 버지코인을 찍어낼 수 있었다. 이는 공격에 취약하지 않은 분산된 구조를 만드는 작업이 얼마나 어려운 일인지를 다시 한번 보여주는 사례다.

계속되는 공격


골드만은 이어 버지코인에 발생한 공격을 아직 완전히 막아내지 못했다는 점이 더 문제라고 지적했다. 처음부터 버지코인을 분명히 노린 공격이었고, 지금도 공격이 계속되고 있다는 것이다. 다행히 아직은 공격을 감행한 측이 네트워크를 장악하지 못했을 뿐이라고 그는 경고했다.
현재 상황을 보면, 버지코인 네트워크의 세 가지 취약한 부분 가운데 두 가지는 어느 정도 방어가 되고 해결을 했다고 봐줄 수 있다. 하지만 나머지 한 문제는 아무리 좋게 봐주려 해도 전혀 손도 못 대고 있는 실정이다.

버지코인을 보유하고 있던 사람들이 지갑을 해킹당해 코인을 잃어버린 사건은 아니다. 하지만 블록체인 네트워크상의 채굴자들이 이런 식으로 합의 알고리듬을 왜곡해 마치 일반인이 마구잡이로 화폐를 만들어 쓰는 것처럼 버지코인을 원 없이 채굴하는 상황은 당연히 용납할 수 없는 일이다.

버지코인 개발자들은 즉각 문제 해결에 착수했다. 한동안 구체적으로 어떻게 대처하고 있는지 개발자들로부터 말이 없었지만, CryptoRekt라는 가명을 쓰는 개발자가 지난달 31일 레딧에 버지코인 개발자들과 팀원 전체는 버지코인 프로젝트의 명성을 해치거나 프로젝트에 해가 되는 일은 어떤 것도 하지 않기로 다시 한번 다짐했다고 글을 남겼다. CryptoRekt는 버지코인 '흑서'(프라이버시를 중시하는 다크코인이라 whitepaper 대신 blackpaper라고 명명)를 쓴 인물이다.

그는 이어 버지코인 개발자들이 지난 몇 주간 향후 버지코인을 향한 공격에 보안을 더 튼튼히 한 새로운 코드를 짜고 있다고 덧붙였다.

골드만은 그렇더라도 문제가 다 해결된 것은 아니라고 말한다. 현재 우리가 아는 많은 암호화폐 프로젝트가 오픈소스 코드를 사용한 것과 달리 버지코인의 코드베이스는 공개되지 않은 채 개발되고 있다. 그래서 블록체인 전문가들과 보안 전문가들이 버지코인의 코드를 보고 만약에 있을지 모를 취약점을 바로잡아줄 수 없다.

"제대로 된 검증을 거치지 않고 만든 코드를 곧바로 실행에 옮긴 셈이다. 지난 두 차례 공격이 더 큰 문제가 되는 이유도 거기에 있다. 버지코인 지지자들(vergefam)은 이 문제를 심각하게 받아들여야 한다."

버지코인의 미래는?


두 차례 공격에도 불구하고 버지코인 커뮤니티는 여전히 현재 개발팀과 암호화폐 버지코인의 미래를 전폭적으로 지지하고 있다.

Crypto Dog이라는 이름을 쓰는 버지코인 이용자는 "전혀 당황하지 않아도 될 문제"라고 말하며, 버지코인은 여전히 성공을 향해 나아가고 있다고 주장했다. 개발자 CryptoRekt도 이번 일을 통해 얻은 교훈을 새겨 "앞으로 버지코인이 더 좋은 프로젝트를 크게 벌여나가면 될 일"이라고 말했다.

그렇지만 여전히 이번 공격은 버지코인뿐 아니라 포르노허브를 비롯한 버지코인 협력사들에도 상처를 남겼다. 당장 포르노허브의 코리 프라이스 부사장이 버지코인과의 제휴를 발표하면서 "우리가 아주 신중한 선별 과정을 거쳐 버지코인을 선택한 이유는 무엇보다 고객의 금융 정보를 안전하게 보호할 수 있다는 확신이 섰기 때문"이라고 한 말부터 무색하게 됐다.

이번 일을 계기로 블록체인 프로젝트나 암호화폐와 제휴를 맺을 때 제휴사부터 먼저 더 꼼꼼하게 책임감을 가지고 해당 블록체인과 암호화폐를 분석하고 검증해야 한다는 목소리가 높아졌다.

비트고(BitGo)의 엔지니어 마크 에르하르트는 앞으로 규모가 작은 알트코인 프로젝트들도 더 깐깐한 검증을 거치게 될 것이라며, 취약한 부분은 언제든 공격 대상이 되는 만큼 투자자들이 앞장서 훨씬 더 꼼꼼하게 블록체인의 보안을 따져보고 평가할 것이라고 말했다.

지금까지 공격을 받은 적이 없다고 해서 그 암호화폐가 안전하다고 볼 수는 없다. 사실 알트코인 프로젝트 가운데 보안상 취약할 수 있다는 것을 알면서도 일단 프로젝트를 띄우는 데 급급한 나머지 제대로 된 검증을 거치지 않고 블록체인을 운영하는 경우가 꽤 많다. 아직 이러한 구조적인 문제와 결함을 누구도 본격적으로 공략하지 않았을 뿐이다.

어쩌면 버지코인이 그저 제일 처음 매를 맞은 건지도 모른다.

51% 공격은 실제로 수행하기는 쉽지 않은 것으로 알려졌지만, 리퀴디티 네트워크의 아서 저베는 새로운 데이터를 토대로 보면 사람들이 생각하는 것보다는 쉽게 공격을 할 수 있다고 설명했다. 51크립토(51crypto)라는 웹사이트에는 블록체인별로 51% 공격을 감행하는 데 드는 비용과 예상되는 수익이 한눈에 보기 좋게 정리돼있기도 하다.

복잡한 통계를 나열해놓은 듯하지만, 핵심은 간단하다. 블록체인의 규모가 작을수록 51% 공격으로 전체 노드를 장악하고 합의 알고리듬을 멋대로 주무를 수 있는 힘을 얻기는 상대적으로 쉬워진다. 개발자들이 전체 시스템을 구축할 때 신중하게 접근해야 하는 이유도 바로 여기에 있다고 저베는 말했다.

"블록체인의 정직한 이용자로 남는 것보다 공격을 감행하는 쪽이 기대수익이 높아지는 순간, 이를 호시탐탐 노리는 해커들이 꼬이기 마련이다."

번역: 뉴스페퍼민트

제보, 보도자료는 contact@coindeskkorea.com
저작권자 © 코인데스크코리아 무단전재 및 재배포 금지