요즘 TV를 틀거나 IT블로그에 들어가면 여기저기 비트코인이나 블록체인에 대한 이야기가 넘쳐난다. 비트코인의 인기가 이렇게 높아진 것은 지
블록체인 기술은 분명 우리 삶에 엄청난 영향을 끼칠 것이다. 2017년 초, 하버드 비즈니스 리뷰는 블록체인을 두고 ‘우리 사회 전반의 경제, 사회적 시스템의 새로운 기반을 만들어 나갈 잠재력을 지닌 기술’이라고 평하기도 했다. 2017년 1월 세계 경제 포럼 보고서 역시 2025년이면 전 세계 GDP의 10%가 블록체인이나 블록체인 관련 기술로 집중되리라 예측했다. 앞으로 10년 내에 전 세계 GDP의 10%를 차지하게 될 기술에 대해 잘 모르고 있다면, 지금이라도 관심을 가져 보는 것이 좋을 것이다.
블록체인이란 무엇인가?
블록체인이란 온라인 거래를 보호하는, 암호화된 디지털 로그 파일을 일컫는다. 1991년 이 개념이 처음 등장한 이후, 분산형 퍼블릭 블록체인 기술을 실제 사례에 적용한 것은 비트코인이 처음이었다. 여기서 ‘블록’이란 블록체인 사용자들 간 거래의 디지털 기록이며 거래가 확정되기 위해서는 블록체인 거래자들 간의 합의가 필요하다. 일반적으로 블록에는 거래에 관한 정보가 들어가는데, 예컨대 물건의 가격이나 거래 행위(매도, 매수, 송금 등), 그리고 거래 시각 등이 기록된다. 블록체인 상에 거래가 발생할 때마다 새로운 블록이 생성된다. 각 블록은 바로 전 블록의 암호화 해쉬를 포함하고 있다(요즘은 주로 SHA-256 해쉬이다). 즉 이 해쉬가 연결고리 역할을 하는 것이다. 각 블록이 암호를 통해 연결되는 구조를 띤다.
그런데 만일 블록체인이 비트코인의 경우처럼 분산형 퍼블릭 블록체인인 경우, 블록체인에서 이뤄지는 거래(블록)는 모든 참여자가 확인해 줘야만 블록체인에 편입될 수 있다. 어떤 사람이 얼마만큼의 돈이나 부를 가지고 있는지는 그러한 정보가 블록에 기록되지 않은 이상 알 수 없지만, 적어도 블록체인으로 연결된 두 참여자 간에 어떠한 거래가 이루어져 있는가는 확인할 수 있으며, 모든 참여자 하나하나가 이러한 거래의 유효성을 확인해주는 역할을 하게 된다.
또한 모든 참여자는 (위조가 매우 어려운) 암호 증거를 제시함으로써 특정 블록체인의 소유권이 누구에게 있는가를 증명할 수 있다. 블록체인의 작동 기전은 공용/사설 키 암호와 비슷하다. 키 암호 역시 각 참여자가 하나의 사설 키를 가지고 있으며 관련된 공용 키를 사용하는 다른 모든 참여자들이 이를 확인해주는 형태기 때문이다.
클라우드 컴퓨팅에서와 마찬가지로, 블록체인도 퍼블릭, 프라이빗, 하이브리드 블록체인이 모두 존재한다. 자신만의 블록체인을 생성하거나, 비슷한 관심사를 공유하는 더 큰 그룹의 블록체인을 사용하거나, 비트코인과 같은 글로벌 규모의 퍼블릭 블록체인에 합류할 수도 있다. 또 비교적 최근에 추가된 기능이기는 하지만, 프라이빗 블록체인이 퍼블릭 블록체인에 참여하거나 그 반대도 가능하다.
비트코인에서 블록체인까지
대부분 사람들은 아마 비트코인을 통해 블록체인의 존재를 처음 접했을 것이다. 비트코인은 2008년 나카모토 사토시라는 필명을 지닌 개인 또는 그룹이 만들어 낸 암호화폐이다(이 글에서는 편의를 위해 나카모토를 지칭할 때 ‘그’라는 인칭 대명사를 쓰겠다. 하지만 필자는 나카모토 사토시가 한 개인이 아니라 그룹이었다고 생각한다). 나카모토가 블록체인의 개념을 만들어냈다고까지는 말할 수 없지만, 탈 중앙화된 레저 및 디지털 화폐 거래의 인증에 분산형 블록체인 개념을 적용한 것은 사실이다. 그리고 이러한 시도를 통해 그는 신뢰할 수 있는 제3의 관리체가 개입하지 않는 탈 중앙화된 디지털 화폐의 ‘이중 지출(double spending)’ 문제를 해결하였다.
2008년 10월, 나카모토는 metzdowd.com의 크립토그래피 메일링(Cryptography Mailing) 목록에 ‘비트코인: P2P 전자 캐쉬 시스템’이라는 제목의 논문을 올렸다. 이듬해 그는 누구나 다운로드 하여 비트코인을 생성(채굴)할 수 있는 소프트웨어와 함께 최초의 ‘블록’을 생성하였다. 필자 역시 비트코인이 세상에 나오고 며칠 지나지 않아 이 소프트웨어를 다운 받았고 3개의 비트코인을 생성한 바 있다.
궁극적으로는 비트코인 가격이 상당히 상승하리라는 예측과 기대는 처음부터 존재했지만, 최초의 비트코인 거래는 무려 1만 개의 비트코인을 20달러 피자와 맞바꾼 것이었다. 오늘날 비트코인의 가격은 현재 글을 쓰는 이 순간에 약 1만 6,000달러에 육박하고 있으며 시시각각 바뀌고 있다. 비트코인의 가격이 이처럼 빠르고 가파르게 상승하기 시작하자 투자자, 금융 기업 CEO들이 이에 주목하기 시작했지만, 그 누구도 이 암호화폐의 미래를 확언하지는 못했다. 많은 투자자들은 비트코인 가격 상승을 17세기 네덜란드의 튤립 파동에 비유하곤 했으며, 용감한 몇몇 투자자들은 많은 돈을 벌었고 비관적 전망을 하던 이들은 옆에 서서 다른 사람들이 부자가 되는 것을 지켜보았다.
비트코인이나 그 소프트웨어, 그리고 분산형 네트워크를 살펴보면 생성되는 비트코인 수가 증가할수록 점점 더 채굴이 어려운 구조로 되어 있다. 예전에는 컴퓨터 한 대로 반나절이면 생성 가능했던 코인을 이제는 집약적 네트워크에서 수천 대의 채굴 전용 특수 컴퓨터를 이용해 수 주에서 수개월 동안 채굴해야만 얻을 수 있게 된 것이다. 오늘날에는 비트코인을 생성하는 데 너무 많은 전기 에너지가 들어가는 까닭에 전 세계 전력 사용량을 높이는 주범으로 지목되고 있기도 하다.
이처럼 비트코인은 그 특성상 엄청난 양의 컴퓨팅 파워를 필요로 한다. 그뿐만 아니라, 비록 물리적 에너지가 드는 것은 아니지만 비트코인 거래를 생성하고 이를 인증하기 위한 상당한 연산 작용이 필요하다. 게다가 거래가 이루어질 때마다 블록이 추가되고, 블록체인의 규모는 시간이 지날수록 점점 커지게 되는데(비트코인 블록체인은 100GB가 넘는다), 이러한 새로운 블록에 추가될 때마다 바뀐 블록체인을 모든 블록체인 참여자에게 배포하여 유효한 거래임을 확인해야 한다. 2140년까지 채굴될 수 있는 비트코인의 최대량은 2,100만 개이다. 이처럼 비트코인의 공급을 점차 줄이도록 해 둔 것도 이 코인의 기하급수적인 가격 상승에 한몫했다고 볼 수 있다.
비트코인이란 무엇일까? 어디에 사용되는 것일까? ‘탈 중앙화 애플리케이션 실현한 새로운 자산, 암호화 화폐’ 기사를 통해 전문가들의 의견을 알아보자.
—————————————————————
비트코인 인기기사
->비트코인의 중추 ‘블록체인’··· 미래의 활용처 7곳
-> 독일 정부 “사적 거래에 비트코인 사용, 합법”
-> 비트코인 열기 속으로 ‘거품 vs 새로운 화폐’
-> 비트코인 이해 3가지 키워드 : 수학과 희망 그리고 과대광고
->사라진 5,300억 원 어치 비트코인 … ‘마운트곡스 파산’의 10가지 미스테리
—————————————————————
비트코인은 거품일지 몰라도, 블록체인은 아니다
비트코인의 가치에 대해서는 투자자들과 금융 전문가들 사이에 논쟁이 격렬했지만, 블록체인 기술의 가치에 대해서는 모두가 인정하는 분위기다. 세계 최대 규모의 기업들이 모두 블록체인 기술 전문 팀이나 때로는 부서를 신설하고 있는 것을 보면 이러한 사실을 알 수 있다. 블록체인은 클라우드에서도, 혹은 민간 기업에서도 만들고 사용할 수 있다.
블록체인 기술을 미는 기업들은 모든 금융 거래가 블록체인 방식으로 대체되는 날을 손꼽아 기다리고 있다. 실제로 블록체인 기술을 활용하면 아주 복잡한 금융 거래를 수 초 이내로 처리할 수 있게 된다. 한 다국적 은행의 블록체인 리더(크레디 스위스, CNBC TV에 출연)는 일반적인 레버리지 매수 거래에 한 달 이상의 시간이 걸리지만, 블록체인 기술을 활용하면 수 초 이내로 계약 체결이 가능하다고 설명했다. 그는 시청자들을 향해 블록체인 기술의 도입으로 복잡한 거래 과정이 얼마나 효율화될 수 있을지, 그리고 그를 통해 근로자들의 생산성이 얼마나 향상될지 상상해 보라고 말하기도 했다.
금융 거래가 잦은 기업이라면 거의 예외 없이 비즈니스와 산업 전반에 블록체인 기술을 적용하려는 방법을 모색하고 있다 해도 과언이 아니다. 어느 산업 분야이건, 블록체인은 단연 오늘날 가장 관심 끄는 주제다. 마이크로소프트나 아마존과 같은 컴퓨터 산업의 클라우드 거물들 역시 다양한 블록체인 서비스를 제공하고 있다.
인터넷에서 블록체인에 대해 조금만 찾아봐도 2016년 이후 관련 정보 링크 및 서비스 수백만 개가 뜰 것이다. 비트코인에는 거품이 껴 있을지 모르지만, 블록체인 기술은 이제 막 시작 단계며 앞으로도 우리 삶의 중요한 일부가 되어 남게 될 것이다.
블록체인과 비트코인 해킹
초기에 비트코인과 블록체인에 관심을 보였던 이들은 이 기술이 암호로 돼 있다 해도 해킹에 대해 충분히 안전한지 궁금해했다. 오래 지나지 않아 답이 나왔다. 컴퓨터에서 거래되는 다른 모든 가치 있는 것들과 마찬가지로 비트코인이나 다른 암호화폐들, 그리고 블록체인도 여러 번 공격의 대상이 되기도, 때로는 피해자가 되기도 했다. 이러한 해킹 사건은 수억 달러에 달하는 피해액을 남겼으며, 피해자들의 가슴이 상처를 남겼다. 가장 유명한 해킹 사건 몇 건만 꼽자면 아래와 같다.
비트코인 채굴 악성코드
비트코인 채굴량이 증가할 때마다 이후 비트코인의 추가 채굴 난이도는 더욱 올라간다. 특히 특수 ‘채굴용’ 컴퓨터를 구동하고 냉각시키는 데에는 많은 전기가 소모된다. 실제로 비트코인 채굴 전문가들의 비용은 대부분이 전기세 때문이라고 해도 과언이 아니다. 이런 이유로 상당수 채굴 전문가들은 고용주가 제공한 장소에서 코인을 채굴하거나, 비트코인 채굴 악성코드를 퍼뜨리는 경우도 있다. 오늘날 가장 규모가 큰 악성코드 봇넷 중 상당수는 이처럼 비트코인 채굴이 목적인 악성코드들이다.
물론 이러한 의도가 악하다고는 할 수 없지만, 이러한 컴퓨터 및 디바이스의 사용은 엄연한 불법이며(이들은 주로 온라인 비디오카메라 장비와 라우터를 하이재킹 하는 방식을 선택한다) 무엇보다 피해자에게 금전적 손해를 입힌다. 그뿐만 아니라 하이재킹당한 컴퓨터의 속도도 느려진다. 비트코인 채굴 악성코드라 해도 여느 악성코드처럼 발견하는 즉시 박멸해야 한다.
암호화폐용 월렛 절도 사건
암호화폐들은 월렛(wallet)이라고 하는 코인 전용 지갑(파일 보관함)에 보관한다. 그런데 이러한 월렛에 저장된 파일 역시 컴퓨터에 저장된 것들과 마찬가지로 훼손되거나 조작되거나 훔쳐갈 수 있다. 설상가상으로 자신의 PIN넘버, 패스워드를 잊어버리거나, 월렛이 있는 하드 드라이브를 잃어버리는 경우도 적지 않다. 이 경우 코인을 보관해 둔 파일 보관함에 영영 접근할 수 없게 된다. 랜섬웨어도 마찬가지 문제를 일으킨다. 일반적인 은행 계좌에 온라인으로 접근할 때는 또 다른 컴퓨터를 통해 온라인 계정에 접근하면 나의 재산이 훼손되지 않고 그대로 보존되어 있지만, 암호화폐 월렛은 그렇지 않다.
그래서 대부분 전문가는 이러한 암호화폐를 악성코드나 해커가 노릴 수 없는 오프라인 월렛에 보관하라고 조언한다. 물론 이렇게 하면 코인을 사용하는 것도 더 복잡해진다. 오프라인 월렛이기 때문에 사용하거나 업데이트하려 할 때 수일씩 기다리게 될 수도 있다. 만일 온라인 월렛을 사용 중이라면, 가능한 한 다중 인증 방식을 적용하여 최대한 자산을 보호할 수 있도록 하자.
암호화폐 트로이 목마
한편, 암호화폐 계좌번호의 형태를 띤 정보가 등장하기만을 기다리며 모니터 뒤에 조용히 숨어 때를 기다리는 암호화폐 트로이 목마도 존재한다. 계좌 번호로 보이는 것을 발견하면, 이 트로이 목마는 잠에서 깨어나 사용자가 송금하려던 원래 계좌를 자신의(공격자의) 계좌 번호와 바꿔치기 한다. 다행히 미세한 차이를 알아차릴 수 있다면 다행이지만, 그렇지 못하고 그냥 보내기 버튼을 누른다면 그대로 당하게 된다.
실제 적용상의 취약점
“이론적으로만 보면, 이론과 실제에는 차이가 없어야 한다. 하지만 실제로 보면, 항상 차이가 있다.” 이 명언을 처음 남긴 사람이 누구인지는 아무도 모르지만, 종이 책에 처음 등장한 것은 월터 J. 사비치의 1986년 저서 ‘파스칼: 프로그래밍의 기술과 과학 입문서’에서였다.
늘 그렇듯, 암호 알고리즘은 언제나 그 알고리즘을 이용하는 실제 프로그램보다 더 안전하다. 프로그래밍 버그나, 믿을 수 있는 사설 키 보안(또는 비트코인 월렛)이 갖추어져 있지 않은 경우 모든 것이 한 번에 끝날 수 있다. 지금은 별로 와 닿지 않겠지만, 암호화폐를 사용하기 전에, 혹은 블록체인 프로젝트에 참여하기 전에 소프트웨어 프로그래머들이 안전한 개발 라이프사이클(secure development lifecycle, SDL) 프로세스를 적용해 버그를 최소화하고 있는지 살펴보자.
실제로, 암호화폐를 훔치기 위해 해커들이 암호 화폐 소프트웨어를 조작한 사례가 몇 건이나 있었다. 가장 최근의 사건 중 하나는 해커가 코딩 실수를 하는 바람에 도둑질에 실패했을 뿐 아니라 전 피해자의 월렛이 복구가 안 될 정도로 망가진 일도 있었다. 돈을 훔친 사람은 없는데, 잃은 사람은 수두룩한 상황이 된 것이다.
암호화되지 않은 텍스트 공격
좋은 암호는 그 결과물이 전혀 말도 안 되는 헛소리처럼 보이는 암호문을 만들어 낼 수 있어야 한다. 이론적으로는, 이렇게 암호화를 할 경우 공격자가 원래 텍스트를 알아볼 수 없어야 한다. 그렇지만 블록체인 기술의 경우 블록의 포맷이 잘 알려져 있거나 맞추기가 어렵지 않다. 특정 글자, 단어, 숫자 등이 모든 블록의 동일한 위치에 있기 때문에 해커는 암호로 보호되는 모든 블록의(암호화되지 않은) 텍스트 일부를 ‘베낄’ 수 있게 된다. 게다가 모든 블록은 이전 블록의 함수이기 때문에 기저의 암호화 보안 수준을 약화 시킨다. 기저에 존재하는 암호화가 충분히 강력하다면 문제없지만, 그런데도 공격자에게 시작부터 기선 제압을 당하게 될 수 있다.
취약한 SHA-256?
많은 보안 전문가들은 비트코인이나 블록체인(두 기술 모두 SHA-256을 주로 사용한다)이 과연 SHA-256에 대해 걱정할 필요가 있는가를 궁금해하고 있다. SHA-256은 그 전신이라 할 수 있는 SHA-1과 동일한 수학적 약점을 지니고 있다. 정답부터 얘기하자면, 지금 당장은 아니라는 것이다. 적어도 당분간은 SHA-256만으로 충분하다. 무엇보다, 전 세계 금융 거래 및 HTTPS 거래의 대부분이 SHA-256으로 보호되고 있는 만큼 만일 SHA-256에 보안상의 문제가 생긴다면 그때는 블록체인이니 비트코인보다 훨씬 더 큰 문제가 생기기 때문이다. 그렇지만 만일 암호화폐나 블록체인 생성을 계획하고 있다면, 아마도 가장 먼저 해야 할 일은 ‘크립토 애질리티(crypto-agility)’를 갖추는 것이다. 어떠한 상황에서도 대체할 수 있는 암호 기술을 준비하여 기저의 프로그램을 안전하게 보호해야 한다.
웹사이트 해킹
중앙 집중된 웹사이트 통제의 잦은 해킹은, 비트코인을 둘러싸고 가장 자주 발생하는 해킹 쓰레드이긴 하지만 사실 여느 블록체인 프로젝트에도 적용될 수 있는 이야기다. 이런 해킹 사례는 아주 빈번하게 발생하는 것으로, 불과 지난주만 해도 약 7,000만 달러어치의 비트코인이 해킹을 통해 탈취된 사건이 있었다. 수천만, 심지어 수억 달러 규모의 자금을 관리하는 암호화폐 사이트들이 너무 쉽게, 너무 자주 해킹당하고 있다. 그리고 이런 일이 발생할 때마다 사람들이 투자를 통해 쌓아 올려놓은 비트코인의 가치는 너무나 허망하게 무너져 버린다. 반드시 자신의 디지털 자산은 안전한 오프라인에 옮겨 놓도록 하자.
가끔은 양심 없는 운영자가 수백만 달러를 훔쳐 달아나는 경우도 발생한다. 따라서 암호화폐 웹사이트와 거래 시에는 반드시 믿을 만한 사이트인지, 보안 상태는 안전한지 살펴보도록 하자. 적어도 아직은 암호화폐 거래를 하다가 부당하게 돈을 잃어도 FDIC(미 연방예금보험공사)는 당신을 도와주지 않을 것이다.
대형, 퍼블릭 블록체인이 더 안전하다
블록체인 보안과 관련하여 알아두어야 할 또 다른 중요한 개념은 퍼블릭 분산형 블록체인이 프라이빗 블록체인보다 안전하다는 것이다. 블록체인을 해킹하려면 전체 참여자, 혹은 블록의 50% 이상을 그것도 새로운 블록이 생성되는 속도보다 더 빠르게 해킹해야 하기 때문이다.
이런 이유로 규모가 큰 퍼블릭 블록체인들이 작은 프라이빗 블록체인보다 안전할 수밖에 없다. 소규모 블록체인들은 더 빠르고, 해킹도 더 쉬우며, 특히 모든 ‘비밀’이 하나의 장소나 기업에 함께 보관되어 있다면 더욱 취약하다. 사실 상당수 보안 전문가들은 단일 기업의 블록체인이라는 것이 과연 필요하기는 한 것인가 의문을 제기한다. 블록체인의 이점은 단일 보안체를 벗어나 여러 참여자들 간에 분산되었을 때 발생하는 것이기 때문이다.
어쨌든 블록체인이 복잡한 금융 거래를 수 초 이내로 해결해 줄 수 있다는 이유 때문에라도, 그리고 소규모 블록체인이 그보다 더 큰 하이브리드 및 퍼블릭 블록체인에 참여할 수 있게 되었기 때문에 앞으로 소규모 프라이빗 블록체인 수는 증가할 수밖에 없다.
보안 전문가라면 당연히 블록체인에 대해 알고, 이것이 자신의 미래 경력 관리에 어떤 영향을 미칠지 생각해 봐야 한다. 블록체인 기술은 아주 안정적인 암호화에 기반을 두고 있긴 하지만, 언젠가는 다른 모든 것들과 마찬가지로 해킹의 대상이 될 것이기 때문이다.
*Roger A. Grimes는 인포월드 테스트센터 전문 기고가로, 보안 전문 컨설턴트이자 마이크로소프트 수석 보안 아키텍트다. dl-ciokorea@foundryco.com