brunch

You can make anything
by writing

C.S.Lewis

by Dennis Kim Jan 01. 2020

블록체인 호기심 해결사

Blockchain Mythbusters - 블록체인 기술이 꿈꾸는 미래

한여름마다, 나는 어릴 때 아버지가 선풍기를 켜놓고 폐쇄된 방에서 자면 죽는다는 이야기를 종종 들은 적이 있다. 


나중에 이 이야기가 한국인들만이 가진 '근거 없는 이야기'라는 것을 알게 되었다. 이런 이야기는 전문가가 TV에서 했던 단편적 이야기나 뉴스에서 나온 말이 와전되었거나 확대 재생산되어 '신뢰'를 거쳐 '상식'이 된 예이다. 자신의 전문 분야가 아닌 분야는 비판적 사고가 힘들 수 있다. 


도시 전설이 사실인지 아닌지를 실험을 통해 증명하는 TV 프로그램이 있었다. 호기심 해결사(Mythbusters)라는 이름의 프로그램이었는데, 상당히 흥미로웠다. 합리성과 비판적 사고를 중시하는 미국인조차도 다양한 도시 전설이 있다는 것에서 인간의 지식과 인식의 한계는 존재한다는 걸 알게 되었다.


내가 은행 ATM의 취약점을 발견했을 때나 은행 간편 조회의 취약점을 발견했을 때 해킹의 난이도는 그리 높지 않았다. 단지 상상력과 가설, 인간이 만드는 발코딩의 가능성을 노렸다. 


우리는 사토시가 누군지 모른다. 


하지만, 나와 많은 사람이 사토시의 이상을 믿는다. 서브 프라임 경제 위기 때, 경제 위기의 원흉인 금융 기관들이 대마불사로 살아나고 정작 정직하게 살아가던 서민들이 피해를 입었던 그 순간은 하나의 담론이 되었다.


미국의 청년들은 월스트리트를 점령하라는 구호를 외쳤고


피게티는 '21세기 자본'이라는 책으로 영미 자본주의를 비판했다.


그리고 자신을 나카모토 사토시라고 불렀던 프로그래머, 해커는 모두가 경제 활동에 참여하면 약간의 코인을 나눠가질 수 있는 블록체인을 만들었다. 


이것이 비트코인의 탄생이다


사토시의 블록체인은 시장 참여자들이 약간의 컴퓨팅 파워를 제공하면 코인을 나눠가지도록 설계되었다. 자발적 참여를 할 동기를 비트코인이라는 것으로 유도한 것이다.


처음 비트코인은 장난처럼 사용되었고 2012년의 나는 비트코인으로 피자를 사먹기도 했다. (미안해 2020년 1월 1일의 나...)


비트코인이라는 정보 네트워크를 유지하기 위해서 온라인에 연결된 PC가 있어야한다. 동일 데이터(거래 기록)을 저장하기 위한 기본 단위가 '블록(Block)'이고 10분 단위로 생성된다. 데이터는 저장 용량이 필요하다. 저장 공간 과 인터넷 등의 컴퓨팅 파워 이용료로 약간의 비트코인은 비트코인에 참여할 '넛지'가 될 수 있다. 


잘 설계된 '넛지'가 비트코인의 '채굴'이다.

비트코인의 채굴은 비트코인의 확산에 확실히 기여했다.
참고 도서: 마스터링 비트코인

문제는 후에 전문적인 채굴 업체가 등장하면서 지구와 인류의 재앙이 되었다. 비트코인 채굴로 인해서 전세계 에너지의 3~5% 정도를 가상의 머니 게임을 위해 매일 소모 중이다. 이런 전문 채굴 업체 등장은 사토시가 생각했던 이상과 거리가 멀다.


사토시는 비트코인 네트워크에 참여한 사람들이 평등하게 코인을 분배 받기를 원했고 그런 의도로 비트코인은 설계되었다. 


 그래서 나는 채굴을 반대하는 입장이다. 비트코인 채굴은 너무나 많은 에너지와 자원을 소모하기 때문에 인류의 미래를 갉아 먹는 암적 존재가 되고 말았다.





멋진 금융 전문가이며 유튜버인 '슈카'님의 방송은 블록체인의 기본적인 설명은 명쾌하고 훌륭했다. 


강추하는 슈카 님의 방송 블록체인 기술이 꿈꾸는 미래 시장 거래 시스템의 변화(https://youtu.be/W-ZARauLKc8)에서 블록체인의 기본 원리와 내용은 쉽고 대중이 이해하기 좋았다. 하지만 몇 가지 지점에서는 의견을 달리할 수 밖에 없다.


Mythbusters #블록체인은 해킹에 안전하다.


사실 나는 많은 블록체인 재단과 거래소과 협력해서 그들의 취약점에 대한 보안 리포트를 작성해 알려줬다. 대부분의 블록체인 프로젝트와 거래소는 빠르게 취약점을 수정했다. 하지만 취약점 고지 후 100일을 넘어 몇 년이 지나도 취약점을 방치하는 블록체인 프로젝트, 거래소도 다수 있는 것이 사실이다. 


블록체인은 이미 생성된 데이터를 위변조할 수 없다는 점에서 서버 한 두 곳에 보관하는 DB보다 해킹에 안전하다는 이야기가 있다.


부분적으로 맞는 답이다. 그러나 보안 전문가들이 말하는 답이지 해커의 관점에서는 아니다.


비트코인은 데이터를 분산 저장하는 컴퓨팅 파워, 해시가 크기 때문에 블록 데이터 변경이 쉽지 않다. 51%의 노드가 특정 정보를 지지해야하기 때문이다. 


 블록체인의 블록 데이터의 무결성은 투표로 검증된다.

51% 해시파워의 지지가 있어야 하기 때문에 잘 알려지고 활발한 블록체인은 참여한 컴퓨팅 파워가 거대하기 때문에 데이터 조작에서 자유롭다. 하지만 예외적인 51% 공격이 자주 발생했다.


51% 공격이 가능한 경우

노드의 속도를 높이기 위해 소수의 노드만 운영

블록체인 소스의 취약점 (이른 바 '발코딩')

막대한 현질로 해시파워 획득 or 해킹으로 노드 점거

스마트 계약의 취약점 (이른 바 '발코딩')


51% 노드 공격의 방어는 속도를 포기하고 검증을 깐깐하게 해야하면 된다. 하지만, 10분에 1번 블록을 생성한다는 것은 생각보다 느리다. 결제 등에 사용하기에는 불편한 속도이다. 이런 안정성과 속도의 줄타기에서 줄을 잘못타면 결국 코인을 생성할 수 있는 문제(51% 공격)가 발생하게 된다.  


그리고 비트코인을 비롯하여 많은 블록체인은 사람이 만든 프로그램이기 때문에 취약점을 가지고 있다. 비트코인의 2020년 1월 1일 버전이 0.19.0이다. 아직 비트코인 1.0이 나오지 않았고 갈길이 먼 상황이다. 우리는 오픈베타인 비트코인을 이용하고 있는 것이다. 자동차라면 시험 주행 중인 차를 고속도로에 몰고 있는 것과 비슷한 상황이다. 


비트코인 취약점 목록


위의 이미지는 비트코인 취약점 목록이다. 대부분이 보안 패치되었다. 자세히 살펴보면 짧게는 몇 달, 길게는 1년 이상 취약점이 있는 상태에서 비트코인을 비롯한 많은 블록체인 코인들은 서비스되고 있었다는 것을 알 수 있다.


생각보다 비트코인 구버전 소스를 가져다쓴 비트코인의 이복형제들은 비트코인 보안 패치를 방치한 경우가 많다. 한마디로 해킹의 위험에 노출되어 있다. 비트코인은 많은 부분에서 오픈 소스에 의존하고 있다. 일부 오픈 소스의 구버전 취약점이나 제로데이 취약점 발견으로 긴급 패치된 사례도 있어 앞으로도 이런 오픈 소스 취약점을 이용한 공격은 더 활발해질 것이다. 


해커는 노력대비 쉬운 해킹에 집중한다. 2000년대 초는 게임 머니, 게임 아이템에 집중했고 지금은 크립토 커런시에 집중하고 있다. 대표적인 코인 해킹을 주도하는 범죄 집단을 지목하자면 북한이다. (자세한 설명은 생략한다.)


금고는 튼튼하지만 금고를 보관한 집이 허술한 나무 판으로 만든 집이라면 보안이 완벽하다고 할 수 있을까?


비트코인을 비롯해서 이더리움을 운영하는 서버 대부분이 방화벽이 없고 구형 OS를 사용하고 있다. 필자가 이더리움 네트워크의 노드를 조사한 결과 30% 이상이 6개월 이상 운영 체제 보안 패치를 한 적이 없었다. 그리고 15% 이상이 윈도우7, 윈도우 2008 등 더 이상 보안 패치를 제공하지 않는 단종 OS에서 블록체인 노드를 운영 중이었다. 


이런 유지보수 불량한 PC는 시간이 지나감에 따라 늘어난다. 51% 공격이 가능한 상황이 언제든 만들어질 수있다.  


2년 전, 보안 관련 컨퍼런스에서 실수로 러시아 지인의 ICO 홈페이지를 털어버린 일이 있었다. 라이브 해킹 데모 하루 전까지도 보안 취약점이 없었지만, 세상은 늘 보안 취약점을 발견된다. 당시 시가로 200억원 상당의 이더리움이 담긴 지갑이었다. 실수로 털어버린 후 바로 취약점을 알려주고 러시아 친구에게 돌려줄 것은 돌려줬다. 


종종 보안이 허술한 ICO 홈페이지, 거래소, 지갑이 지금도 존재한다. 


안타까운 일이지만, 대부분의 비트코인 모바일 지갑의 비밀 번호인 PIN code 4자리는 지금도 대부분 5분 안에 해킹이 가능하다.  


Mythbusters #원산지 증명등에 사용될 수 있다.


간단히 생각하면 원산지 증명에 사용되기 힘들다는 것을 알 수 있다. 소프트웨어 영역에서 벗어나 실물과 결합되는 일이 발생하면 유통 업자들이 언제든 물건의 박스 갈이를 할 수 있다. 


중국산 농산물이 종종 국산 농산물으로 유통되는 이유는 '가격'의 차이로 인해 원산지 장난이 엄청난 마진을 보장하기 때문이다. 쌀이나 팥 등의 농산물, 공산품의 원산지 증명을 블록체인으로 담는 것은 유통 전체를 관리하지 않는 이상 의미가 없다.


단, 유용하고 가능한 시나리오는 있다.


미국에서 살모넬라에 감염된 토마토가 어느 농장에서 나왔는지를 추적하기 위해서는 약 3주가 걸린다고 한다. 하지만 블록체인으로 유통 단계를 기록하면 단 몇 초 만에 역학 조사와 오염원을 찾을 수 있다. 서플라이 체인과 생산까지 블록체인으로 꼼꼼히 묶는 경우에는 의미 있다. 


Mythbusters #개인 정보 주권 회복에 사용될 수 있다.


DID(http://bit.ly/2sBhRpm)라는 분야인데, 사실상 정부 자금용 사업에 가깝다. 


부정적으로 판단하는 이유는 신원 인증은 탈중앙화 이념에 맞지 않게 중앙 집권적인 게이트웨이가 필요하기 때문이다. 그리고 분산원장 기술인 블록체인이 보안 강화라는 명목으로 프라이빗 블록체인, 소수의 노드만 인증 권한을 가지고 갈 경우 사실 DB나 다를 바가 없게 된다. 


기술과 마케팅 용어는 분리되어야 한다.


Mythbusters #AI 블랙박스 딜레마 해결에 도움이 될 수 있다.


AI는 고의적으로 학습 편향, 오류를 일으킬 수 있다. 데이터 가공 단계에서 편향이 발생하기 때문이다. 데이터와 처리 결과의 문제를 파악하기 위해 블록체인을 이용하는 것은 적절하지 않다. 


자율 주행 자동차가 1시간 주행할 때 4TB의 데이터를 생성한다. 그 데이터의 상당량이 센서 데이터, 카메라, 영상 정보이다.


데이터 저장 속도: 10분 단위

데이터를 담는 block size의 한계


비트코인을 비롯한 정상적인 블록체인의 블록(데이터 저장 단위) 생성 속도는 아쉽게도 빠르지 않다. 삭제 불가능한 해시 값을 블록체인에 올리는 것은 속도와 데이터 저장 가격에서 적당하지 않다. 


보안적인 면과 가격적인 면이라면 클라우드에 사본을 업로드하고 쓰기 권한 외에 삭제, 변경 권한을 주지 않으면 된다. 더 간단하고 효율적이고 데이터 분석에 용이하다. 


블록체인을 AI, IoT에 이용하려는 시도가 많을수록 블록체인의 기본적인 속성과 가정을 무너트려야 한다. 그리고 극도의 데이터 공간 낭비와 분석의 어려움에 직면한다. 


log 파일은 사람 눈으로 봐도 읽기 편해야 분석도 편하다. 


보안의 문제라면 CCTV가 충분한 선례를 가지고 있다. 인터넷을 고려하지 않고 만들어진 CCTV가 인터넷과 연결되었을 때 얼마나 쉽게 해킹 당하고 사생활이 유출되었는지 안다면, 인터넷이 연결된 커넥티드 카, 자율 주행 자동차는 앞으로 얼마나 헬게이트가 열릴 것이지 기대된다.


참고로 테슬라를 비롯한 모든 자동차 기본 전자 제어는 1970년대 만들어졌고 당연히 보안이 없다. 


Mythbusters #핀테크


비트코인은 10분에 한번 블록에 생성된다. 내가 누군가에게 비트코인을 보내면 최소 10분이 소요된다는 것이다. 즉, 블록체인은 근본적인 한계가 있다.


속도를 높여서 비자, 마스터카드보다 빠른 TPS(결제 속도)가 가능하다는 블록체인이 존재한다. 한국의 대표적인 블록체인인 카카오 클레이튼이 이에 속한다. 하지만 부작용으로는 트랜잭션이 빠른 만큼 데이터가 쌓이는 속도가 극적으로 빠르다. 실제 메인넷 테스트(클레이튼 거버넌스 카운슬)를 해봤을 때 과연 기존 DB보다 데이터 저장에서 효과적인지는 다소 의문이 있었다. 


블록체인, 오픈 소스의 딜레마와 꿈


비트코인은 불과 700명의 프로그래머들이 소스 코드를 수정하면서 나날이 발전 중이다. 생각보다 적은 개발자가 개발을 하고 있다. 이더리움도 이와 다르지 않다. 다른 블록체인 프로젝트들은 몇 명이 개발을 전담하고 있거나 특정 외주처에 외주를 주고 있다. 그래서 특정 외주처의 버그와 오타가 여러 블록체인 프로젝트에서 발견되고 있다.


그리고 Top 100의 블록체인 프로젝트 대부분이 거래소에서 머니게임을 할 뿐, 유의미한 트랜잭션과 사업을 가지고 있지 않다. 닷컴 버블은 버블의 끝에서 많은 인터넷 기업을 탄생시켰지만 블록체인 시장은 사업을 시장에 증명하고 있지 못하다는 점이 논쟁거리이다. 


리눅스가 처음 세상에 0.1로 발표되었을 때, 동작하는 것조차 신기했다. CPU 스케쥴러 역시 상상할 수 없이 비효율적이었고 멀티코어 사용도 리눅스 커널 버전 2.x가 되어서야 그나마 쓸만해졌다.


그러나 오픈 소스가 가진 참여와 공유의 힘은 대단했다. 리눅스가 가진 수 많은 보안 취약점, 정치적인 소송의 세월이 지나고 이제는 클라우드에서 가장 많이 사용하는 OS가 되었다. 


오픈소스의 세상에서 사토시가 뿌린 씨앗은 지금 막 싹트고 있다. 비트코인의 채굴이 만든 폐해도 크지만 채굴이라는 넛지가 탈중앙화의 이념과 분산 원장의 가능성을 열었다. 


우리가 중앙 은행이 정치와 결합되었을 때의 폐해를 서브 프라임 모기지 사태에서 보았다. 현대 금융의 부조리함의 대안으로 비트코인, 사토시는 권력과 권한이 개인에게 돌아간 탈중앙화된 세상을 꿈꾸고 있다.


참고 자료: 


경제 유튜버 슈카 님 채널: https://youtu.be/W-ZARauLKc8

비트코인 백서: https://bitcoincore.org/bitcoin.pdf

비트코인 github: https://github.com/bitcoin/bitcoin

비트코인 취약점 리스트: https://www.cvedetails.com/vulnerability-list/vendor_id-12094/Bitcoin.html

51% 공격의 사례: http://wiki.hash.kr/index.php/51%25_%EA%B3%B5%EA%B2%A9

DID: http://bit.ly/2sBhRpm

비트코인 각종 통계: https://www.blockchain.com/ko/charts

마스터링 비트코인: https://unglueit-files.s3.amazonaws.com/ebf/05db7df4f31840f0a873d6ea14dcc28d.pdf



작가의 이전글 사업을 한다는 것 - 레이 크룩
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari