brunch

You can make anything
by writing

C.S.Lewis

by 김병필 Aug 02. 2018

블록체인이 뭔지 이해 못해 조바심난 문과생에게 (1편)

블록체인을 이해하는 3가지 핵심 키워드

몇 년 전 국내 로펌에서 국내의 저명한 블록체인 전문 교수님을 모셔서 강의를 들었습니다. 그 교수님께서 1시간이 넘게 설명을 했지만 강의를 들은 변호사들은 여전히 블록체인 기술이 무엇인지 이해하지 못했고, 그 교수님께서는 왜 그 어렵다는 사법고시를 합격한 변호사들이 이렇게 간단한 내용을 이해하지 못하는지 답답해하셨습니다. 강의에 참석한 모든 이들에게 아쉬움을 남긴 채 강의는 마무리되었고, 변호사들은 그렇게 다들 자신의 사무실로 돌아갔습니다(참고로 제가 일했던 로펌의 이야기는 아닙니다). 아마도 그 강의에 참석했던 변호사들 중 대부분은 여전히 블록체인이 무엇인지 모르고 있을 것입니다. 이 글은 그 변호사들도 블록체인을 쉽게 이해할 수 있도록 쓴 것입니다.


1. 들어가며


몇 년 전부터 정말 많은 이들이 블록체인 기술이 무엇인지 이해하고자 애쓰고 있습니다. 아래 그래프는 최근 4년여간 구글에서 blockchain이라는 단어를 검색 수를 미국 주가지수(S&P 500) 검색 수와 비교한 것입니다. 이를 보면, 2016년부터는 미국 사람들이 미국 주가지수보다 블록체인이라는 단어를 훨씬 더 많이 검색하였다는 점을 알 수 있습니다.


출처: Cong & He (2017), Blockchain Disruption and Smart Contracts


많은 이들이 이토록 블록체인 기술에 이렇게 관심을 갖는 이유는 아마도 여러 전문가들이 앞다투어 블록체인 기술이 미래를 근본적으로 변화시킬 것이라는 설명하고 있기 때문일 것입니다. 하지만, 정작 자신이 블록체인 기술을 이해하고 있다고 말할 수 있는 사람은 소수에 불과할 것입니다. 더구나 이 글을 읽고 있을 문과생인 여러분들이 블록체인을 이해하고 있는 소수에 해당할 가능성은 사실상 없다고 생각합니다. 그리고 아마도 자신이 시대에 뒤처지고 있다는 조바심을 느끼고 있을 것이라고 조심스레 짐작해 봅니다.


앞으로 3편의 글에 걸쳐 블록체인 기술을 이해하지 못하고 있다고 조바심을 느끼는 이들에게 블록체인 기술의 본질이 무엇인지 설명하고자 합니다. 이 글들을 읽고 나면 왜 일군의 전문가들은 블록체인 기술이 세상을 바꿀 것이라고 주장하는지, 그리고 우리는 그러한 주장을 얼마나 신빙성 있게 받아들여야 하는지 이해할 수 있을 것입니다. 아니 적어도 그렇게 되기를 희망합니다.


이 글은 블록체인 기술을 이해하지 못하고 있다고 조바심을 느끼는 이들에게 블록체인 기술의 본질이 무엇인지를 설명하고자 합니다.


본론으로 들어가기에 앞서, 이 글을 여기까지라도 읽어 온 대부분의 독자들이 적어도 몇 번은 블록체인 기술이 무엇인지 이해해 보려고 애썼을 것이라고 생각합니다. 일단 안심시켜 드리자면, 블록체인에 대한 설명글에서 등장하는 수많은 기술 용어들, 블록, 해시 함수, 합의 프로토콜, 작업 증명(Proof of Work) 등등이 무엇인지 전혀 몰라도 블록체인 기술의 본질을 이해하는데 아무런 문제가 없다고 단언할 수 있습니다. 물론 이러한 단어들을 처음 듣는다고 해도 상관없습니다. 


왜 그럴까요? 인터넷 기술을 예로 들어 보겠습니다. 우리는 매일 같이 인터넷을 쓰고 있고, 그래서 인터넷이 무엇인지 알고 있다고 생각합니다. 하지만 인터넷의 동작 원리를 이해하고 있는 이들은 전산학 전공자 이외에는 거의 없습니다. 참고 삼아 설명하자면, 인터넷의 근간이 되는 것은 TCP/IP라고 하는 통신 프로토콜인데, 이 기술은 보내고자 하는 데이터를 작은 단위(패킷이라고 부릅니다)로 나눈 다음, 그 패킷을 여러 중계기(라우터라고 부릅니다)를 거쳐서 목적지까지 보내는 것입니다. 전산학과 대학생들은 왜 데이터를 패킷으로 나눠서 전송하는지, 중간에서 패킷을 전달하는 중계기들이 어떤 방식으로 동작하는지를 배웁니다. 하지만 우리가 인터넷이 가져온 사회 변화를 이해하기 위해서 이러한 인터넷의 기술적 동작 원리를 이해할 필요가 없습니다.


블록체인 기술에 대해서 설명하면서 블록, 해시 함수, 합의 프로토콜 등등의 개념을 설명하는 것은, 인터넷 기술을 설명하면서 패킷 통신이나 라우터의 동작 원리를 설명하는 것과 마찬가지입니다. 패킷과 라우터에 대한 지식이 있으면 인터넷을 이해하는데 도움이 되겠지만, 인터넷 기술의 본질을 파악하는데 반드시 도움이 되는 것은 아니고, 경우에 따라서는 기술적 측면에 묻혀 사회적 영향을 이해하는데 걸림돌이 될 수도 있습니다. 블록체인 기술을 논의할 때에도 이러한 점을 유의할 필요가 있습니다. 우리가 비록 블록체인의 기술적 동작 원리를 이해하지 못하더라도, 블록체인 기술의 본질을 충분히 파악할 수 있습니다. 오히려 기술적 동작 원리가 아니라 추상적인 차원에서 접근해야 더 잘 이해할  수 있는 측면이 있을 수 있습니다.

우리가 인터넷 기술이 가져온 사회 변화를 이해하기 위해서 인터넷의 기술적 동작 원리를 이해할 필요가 없습니다. 마찬가지로 우리가 블록체인의 기술적 동작 원리를 이해하지 못하더라도, 블록체인 기술의 본질을 충분히 파악할 수 있습니다.


이제까지 문과생 여러분들이 열심히 읽고 나서도 이해하지 못했던 블록체인에 관한 많은 글들은 블록체인의 기술적 동작 원리를 설명한 것들이었을 겁니다. 하지만 우리가 그 동작 원리를 이해하지 못한 기술이 한둘이겠습니까? 이제 한걸음 뒤로 물러나서, 나무가 아니라 숲을 보는 자세로 블록체인 기술을 살펴봅시다.


2. 한 줄로 풀어쓴 블록체인의 핵심 개념


하나씩 차근차근 설명드리겠습니다. 우선 블록체인은 데이터를 저장하는 기술입니다. 여기서 말하는 데이터는 모든 것이 될 수 있습니다. 회사의 협력사와의 거래내역일 수도 있고, 금융거래 기록일 수도 있고, 주민 투표 결과일 수도 있고, 식품 주문 내역일 수도 있고, 여러분이 즐겨하는 온라인 게임의 캐릭터의 레벨, 아이템, 능력치에 대한 정보일 수도 있습니다. 현재는 이러한 데이터들이 '서버'라고 부르는 컴퓨터에 한데 모여져서 저장되어 있습니다. 예컨대 여러분이 PC에서 게임을 삭제하더라도, 여러분의 캐릭터에 대한 정보는 서버 컴퓨터에 계속해서 저장되어 있고, 그래서 나중에 게임을 새로 설치해서 다시 접속하면 여전히 캐릭터 정보가 남아 있는 것입니다. 이러한 방식을 '서버-클라이언트' 방식이라고 하는데, 이는 수십 년 이상 사용되어 온 아주 오래된 방식입니다.


그런데, 블록체인 기술은 서버라는 것을 아예 없애고, 데이터를 여러 이용자의 컴퓨터에 분산해서 저장하자는 것입니다. 서버라는 것을 아예 없애자고 하니 다소 황당하게 느껴질 수 있습니다. 하지만 오히려 이러한 황당함 덕분에 블록체인을 '거대한 패러다임의 전환'이자 21세기 최고의 '혁신 기술'이라고 부릅니다.  이러한 개념을 조금 더 정식화하면 블록체인은 "데이터를 분산해서 다수의 이용자 컴퓨터에 안전하게 저장할 수 있도록 하는 기술"이고 설명할 수 있습니다.  블록체인에 관해 더  복잡하게 생각할 이유는 전혀 없습니다.


블록체인 기술은 서버라는 것을 아예 없애고, 데이터를 다수 이용자의 컴퓨터에 분산해서 저장하자는 것입니다. 바로 이 점 때문에 블록체인을 '거대한 패러다임의 전환'이자 21세기 최고의 '혁신 기술'이라고 부릅니다.

출처: https://www.evnreport.com/economy/the-future-of-money-part-2-of-4

이러한 정의는 경영학자나 경제학자들이 블록체인 기술을 연구하기 위하여 추상화시킨 개념을 근간으로 해서, 제가 조금 더 이해하기 쉽게 풀어서 만든 것입니다(연구 목적으로 더욱 추상화된 개념에 관심 있으신 분들은 이 논문을 참고하시기 바랍니다. 이 글은 해당 논문에서 적지 않은 영감을 받은 것임을 밝혀 둡니다). 제 정의는 의도적으로 이해하기 쉽게 만든 것이라 학술적 엄밀성은 없지만, 일반인들이 블록체인을 이해하는 데는 더할 나위 없이 간결하고 이해하기 쉬운 개념이라고 나름 자부합니다. 나아가 저는 여러분이 이 말의 뜻을 온전하게 이해한다면 블록체인 기술의 핵심을 모두 이해했다고 보아도 과언이 아니라고 생각합니다.


제가 설명드린 블록체인 기술에 대한 "한 줄 개념 정의"를 제대로 이해하기 위해서는 세 가지 키워드가 중요합니다. 그것은 바로 (1) 분산해서(distributed), (2) 다수의 이용자 컴퓨터(nodes)에, (3) 안전하게(tamper-proof)입니다. 이제 이 세 가지 키워드를 하나씩 살펴보겠습니다.

한 줄 개념 정의: 블록체인은 "데이터를 분산해서 다수의 이용자 컴퓨터에 안전하게 저장할 수 있도록 하는 기술"이다.

세 가지 키워드: (1) 분산해서(distributed) (2) 다수의 이용자 컴퓨터(nodes)에  (3) 안전하게(tamper-proof)


(1) 첫 번째 핵심 키워드 - "분산(distributed)"


첫 번째 키워드인 "분산"(distributed)이 무엇보다도 중요합니다. 블록체인 기술의 본질이 바로 '분산'에 있다는 것은 여러 전문가들이 동의하는 바이고, 그래서 최근에는 블록체인 기술이라는 말 대신에 '분산 원장 기술(distributed ledger technology, 약어로 DLT)'이라는 용어를 사용하기도 합니다(여기서 '원장'이라는 말은 '데이터'를 조금 더 멋있게 부르는 말이라고 생각하면 됩니다). 그래도 이 글에서는 여전히 블록체인이라는 말을 계속 쓰겠습니다.


'분산'이라는 단어가 일상적으로 널리 쓰이는 말이 아니라서 문과생들에게는 그 의미가 곧바로 와 닿지 않는 문제가 있습니다. 하지만 이미 확립된 용어라 달리 표현할 방법이 없습니다. 특히 컴퓨터 쪽 용어에 익숙하지 않으면 분산이라는 말이 큰 용량의 데이터를 쪼개어서 조금씩 나눠서 저장하는 것을 의미한다고 오해하기 십상입니다. 전혀 그렇지 않으니, 주의할 필요가 있습니다. 여기서 분산이라는 말은 모든 데이터의 완전한 복사본을 여러 개 만들어서 여러 컴퓨터가 모든 데이터를 중복해서 보관하고 있다는 뜻입니다. 모든 컴퓨터가 동일한 데이터를 가지고 있으니 원본과 복사본의 구별 자체도 없게 되는데, 특히 동일한 데이터를 여러 컴퓨터가 중복해서 보관한다는 점을 기억하는 것이 중요합니다. 


그렇다면 블록체인은 여러 컴퓨터에 동일한 내용을 중복해서 저장하니 하드디스크를 낭비하는 비효율적인 기술이라는 생각이 들 것입니다. 맞습니다. 정확히 그렇습니다. 블록체인은 저장 공간이라는 측면에서는 매우 비효율적인 기술입니다. 그래서 하드디스크 가격이 비쌌던 옛날에는 도저히 상상할 없었던 기술이었습니다. 하지만 지금은 하드디스크 가격이 그렇게 비싸지 않습니다. 예를 들어, 비트코인 거래 내역을 저장하고 있는 비트코인 블록체인 데이터는 2018년 1월 기준으로 크기가 약 150GB에 이르렀습니다. 이 데이터는 전 세계에 걸쳐 약 10,000대의 컴퓨터에 중복해서 저장되어 있습니다. 즉 10,000대의 컴퓨터에 동일하게 150GB의 데이터가 저장되어 있는 셈이니 150GB X 10,000대 = 1,500 TB의 용량이 비트코인 블록체인 데이터를 저장하기 위해서 사용되고 있는 셈입니다.


이처럼 여러 컴퓨터에 중복해서 데이터를 저장한다면 어떠한 장점이 있을까요? 블록체인에 저장된 데이터는 위조나 변조가 불가능하다는 설명을 들어본 적이 있을 것입니다. 아주 거칠게 설명하자면, 블록체인 데이터의 위조나 변조가 불가능한 이유는 데이터가 여러 컴퓨터에 분산되어 저장되어 있기 때문에, 즉 여러 컴퓨터가 동일한 데이터를 복제해서 보관하고 있기 때문이라고 해도 크게 틀리지 않습니다. 만약 해커가 컴퓨터 한 대에 저장되어 있는 데이터를 조작하더라도, 나머지 컴퓨터에 있는 데이터를 확인해 보면 조작되었다는 점이 금방 드러나게 될 것이기 때문입니다.


이처럼 블록체인 기술의 핵심 전제는 여러 컴퓨터에 동일한 데이터를 중복해서 저장함으로써 얻게 되는 이익이 그 비용보다 더 크다는 것입니. 만약 그렇지 않고 데이터의 용량이 매우 크거나, 저장 용량을 효율적을 사용해야 하는 경우(예컨대 동영상, VR, AR 데이터 등)에는 블록체인 기술을 적용하기가 적절치 않습니다.

블록체인 기술의 핵심 전제는 많은 컴퓨터가 동일한 데이터를 중복해서 저장함으로써 얻게 되는 이익이 그 비용보다 더 크다는 것입니다.


(2) 두 번째 핵심 키워드 - "다수의 이용자 컴퓨터(nodes)"


두 번째 핵심 키워드는 '다수의 이용자 컴퓨터'입니다. 이 말은 종전에 '서버'에 데이터를 저장하던 것과 달리, '이용자 컴퓨터에 데이터를 저장한다'는 뜻입니다. 


'이용자 컴퓨터에 데이터를 저장한다'라는 말의 뜻은 온라인 게임 서비스에 비추어서 생각해 보면 이해하기 쉽습니다. 온라인 게임에서 중요한 부분은 사용자 캐릭터의 레벨, 아이템, 능력치 등 게임 데이터를 안전하게 보관하는 것입니다. 그래서 대부분의 게임 회사는 서비스의 안정성을 유지하기 위해 여러 대의 서버 컴퓨터를 두고 데이터를 이중, 삼중으로 백업해서 안전하게 보관하고 있습니다. 블록체인 기술은 이처럼 게임 회사가 게임 서버 컴퓨터를 여러 대를 두고, 데이터를 백업해 둔다는 것이 전혀 아닙니다. 다시 설명하건대, 블록체인 기술은 게임 서버를 아예 없애고 그 대신 게임 이용자들이 보유하고 있는 각각의 개별 PC에 게임 데이터를 저장하겠다는 것입니다. 게다가 앞서 설명드린 첫째 핵심 키워드인 '분산'을 복습해서 적용하면, 게임 이용자들의 개별 PC에 자신의 게임 데이터만 저장하고 있는 것이 아니라 전 세계의 모든 해당 게임 이용자들의 게임 데이터의 복사본을 통째로 모두 저장해 두는 것입니다. 그렇습니다. 도대체 왜 이런 짓을 하는지 믿기 어렵겠지만 이것이 블록체인 기술의 가장 기본적인 원리입니다. 블록체인은 이처럼 상식을 뒤집는 시스템이고, 오히려 그렇기 때문에 혁신적입니다.


다만, 온라인 게임 서버의 사례는 이해를 돕기 위해 개념상 예로 든 것이고, 아직까지 온라인 게임을 블록체인 방식으로 운영하는 것은 어렵습니다. 대부분의 온라인 게임은 아주 빠른 응답 속도를 필요로 하는데, 블록체인 기술의 처리 속도가 그렇게까지 빠르지는 않기 때문입니다. 여하간, '다수의 이용자 컴퓨터'라는 말은 서버 컴퓨터를 여러 대를 둔다는 것이 아니라, 서비스를 사용하는 다수의 사용자들의 여러 컴퓨터들을 지칭하는 것이라고 이해하면 되겠습니다.


블록체인은 이처럼 상식을 뒤집는 시스템이고 그래서 혁신적입니다.


이 글을 주의 깊게 읽어 온 독자라면, 이 대목에서 여러 컴퓨터 간에 복사본을 동일하게 유지시키는 것이 쉽지 않을 텐데...라는 생각을 떠올릴 수도 있을 것입니다. 정말 그렇습니다. 이러한 작업은 여러분이 생각하는 것보다 기술적으로 상당히 어렵고 복잡합니다. 휴대전화를 2대 가지고 있는 사람이라면 그 휴대전화에 저장된 주소록을 서로 동기화하는 단순한 일조차도 쉽지 않다는 점을 잘 알 것입니다. 앞서 설명한 가상의 블록체인 온라인 게임 시스템을 다시 예로 들면, 서울에 있는 게이머 A의 PC에 저장된 데이터와 미국에 있는 게이머 B의 PC에 저장된 데이터가 서로 다르게 될 수도 있고, 이 데이터가 서로 일치하게 되는데 시간이 걸리게 되는 문제가 발생할 수 있습니다. 이러한 불일치 문제는 종래의 '서버-클라이언트 모델', 즉 게임 데이터를 오로지 게임 서버 한곳에 집중해서 저장할 때에는 발생하지 않습니다. 게이머 A 데이터나 게이머 B 데이터나 모두 한 곳의 게임 서버에 저장되어 있기 때문입니다. 하지만 데이터를 분산해서 저장하게 되면, 여러 컴퓨터 사이에 데이터를 일치시켜야 한다는 문제가 발생하게 됩니다.


2018년 8월 현재 비트코인 블록체인에는 총 9,391대의 컴퓨터가 있다. 이들 간에 데이터가 서로 일치해야 하는 셈이다. 출처: https://bitnodes.earn.com


그런데, 블록체인 기술은 이러한 과제를 아주 현명하게 해결했고, 그 결과 블록체인 기술이 혁신적이라고 평가받고 있는 것입니다. 블록체인이 어떻게 이러한 기술적 과제를 해결했는지를 이해하는 것은 크게 중요하지 않고, 전공자가 아니라면 굳이 이해할 필요도 없어 보입니다. 여하간 컴퓨터 공학자들은 여러 컴퓨터에 저장된 데이터들이 서로 불일치할 수 있다는 문제를 합리적으로 현명하게 해결했고, 그 결과 블록체인 기술을 이용하면 이 문제를 고민하지 않고도 손쉽게 다수의 컴퓨터가 동일한 데이터를 중복해서 저장할 수 있게 되었습니다. 


컴퓨터 공학자들은 여러 컴퓨터에 저장된 데이터들이 서로 불일치할 수 있다는 문제를 합리적으로 현명하게 해결했고, 그 결과 블록체인 기술을 이용하면 이 문제를 고민하지 않고도 손쉽게 다수의 컴퓨터에 동일한 데이터를 중복해서 저장할 수 있게 되었습니다.


하지만 언제나 공짜 점심은 없는 법입니다. 여러 컴퓨터 간의 데이터를 일치시키기 위해서는 복잡하고 번거로운 기술을 적용해야 하고, 그 기술을 적용하기 위해서 CPU도 많이 소요되기 마련입니다. 그래서 블록체인 기술을 적용하기 위해서는 중복해서 저장된 데이터들을 서로 동기화하는 비용보다, 데이터를 중복해서 저장함으로써 얻게 되는 이익이 더 커야 합니다. 그래서 온라인 게임과 같이 여러 게이머에 대한 데이터가 빈번하게 업데이트되고, 또한 동기화가 신속하게 이루어져야 하는 경우에는 아무래도 그 처리에 시간이 오래 걸리게 되고, 그래서 블록체인과 같은 기술을 적용하기가 쉽지 않은 것입니다.


(3) 마지막 핵심 키워드 - "안전하게(tamper-proof)"


이제 마지막 키워드인 '안전'입니다. 블록체인 기술이 안전하다는 것은 블록체인에 저장된 데이터의 위조나 변조가 어렵다는 뜻으로 이해하면 됩니다. 블록체인 기술에 따르면 데이터를 많은 컴퓨터에 중복해서 저장해 놓고 있으니, 해커가 일부 컴퓨터만 공격해서는 전체 데이터를 위조나 변조하기 어렵다는 것은 앞서도 설명드렸고, 상식적으로도 쉽게 납득이 갈 것입니다.


블록체인 기술이 안전하다는 것은 블록체인에 저장된 데이터의 위조나 변조가 어렵다는 뜻으로 이해하면 됩니다.


블록체인 기술이 데이터의 위조나 변조를 막는 방법에는 2가지 중요한 특징이 있습니다.


첫째, 블록체인 기술은 데이터가 일단 등록이 되어서 여러 컴퓨터에 중복해서 저장이 되면, 그 데이터를 없던 것으로 되돌려 삭제할 수 있는 기능을 원천적으로 막아 놓았습니다. 그 이유는 기술적으로 복잡한 것이라서 굳이 이해할 필요가 없어 보입니다. 한번 저장된 데이터는 삭제를 못하게 막아 놓음으로써 기술적으로 위조나 변조를 못하게 막았다는 정도로 이해해도 괜찮습니다(궁금하신 분들은 이 신문 기사를 참고하면 되겠습니다). 예컨대 비트코인 블록체인에서는 A라는 사용자가 실수로 혹은 해킹을 당해서 자신이 모르는 B에게 비트코인을 이체하고 나면, 이 거래를 취소할 수 있는 방법이 기술적으로 아예 없습니다. 따라서 A가 돈을 되찾기 위해서는 B가 다시 A에게 다시 비트코인을 이체해 주어야 합니다. 그런데 만약 B가 나쁜 마음을 먹고 비트코인을 이체해 주지 않는다면, A로서는 결국 비트코인을 영영 되찾을 수 없게 됩니다. 그러니 이용자로서는 매우 신경을 써서 거래를 해야 합니다.


bitcoin.org에 게재된 유의사항 - 비트코인 거래는 취소할 수 없다는 점을 강조하고 있다. 출처: https://bitcoin.org/ko/you-need-to-know


그런데 문제는 여기서 그치지 않습니다. 블록체인에서 데이터를 삭제할 수 없다는 제약은 개인정보보호법과 정면으로 충돌합니다. 현행 개인정보보호법에 따르면 이용자의 요청이 있으면 사업자는 보유하고 있는 개인정보를 파기하는 등의 필요한 조치를 하여야 합니다. 그런데 블록체인에 데이터를 저장하게 되면 이용자의 요청이 있더라도 개인정보를 파기할 수 있는 방법이 원천적으로 없어지게 되고, 따라서 사업자는 개인정보보호법을 지킬 수 없게 됩니다. 이 문제를 두고 여러 가지 기술적 해결 방법이 시도되고 있기도 하고, 법을 개정해야 한다는 주장도 있는데, 아직 완전히 해결되지 않았습니다. 그래서 블록체인에서 데이터를 삭제할 수 없다는 제약은 아주 큰 골칫거리입니다. 이 문제는 나중에 후속 글을 통해서 더 자세하게 다루겠습니다.


블록체인에서 데이터를 삭제할 수 없다는 제약은 개인정보보호법과 정면으로 충돌합니다.

둘째, 블록체인 기술은 여러 컴퓨터에 동일한 데이터가 중복해서 저장되어 있으니, 블록체인 이용자들은 다른 이용자의 데이터를 언제라도 열어 볼 수 있다는 문제가 생깁니다. 위에서 예로 들었던 가상의 블록체인 온라인 게임을 생각해 보면, 모든 게이머들의 데이터가 모든 게이머의 PC에 저장되어 있는 셈이니, 누구라도 다른 게이머들의 데이터를 곧바로 알 수 있게 되는 셈입니다.


비트코인 블록체인의 경우도 마찬가지 문제가 있습니다. 또한 2018년 1월까지 비트코인 블록체인 데이터가 150GB 정도 된다고 설명드렸습니다. 150GB의 데이터는 2009년 비트코인 블록체인이 시작된 때부터 현재까지의 모든 블록체인 거래 내역입니다. 따라서 만약 제가 누군가의 비트코인 계정 ID(정확히 표현하자면 비트코인 주소라고 불러야 하는데, 그냥 계정 ID라고 하겠습니다)를 알게 된다면, 그 계정에서 이제까지 어떠한 거래가 이루어졌는지, 현재 잔고가 얼마인지 곧바로 투명하게 알 수 있습니다. 물론 비트코인 계정 개설을 위해서는 실명 확인을 요하지 않기 때문에(pseudonymous), 계정 ID를 안다고 하더라도 그 보유자가 누구인지 알 수 없기는 합니다. 하지만, 만에 하나 제가 누군가의 비트코인 계정 ID를 알게 된다면 그 사람의 거래 내역 전체를 알 수 있게 됩니다. (이것은 마치 익명 공개 게시판에는 익명이라는 이유로 마음껏 글을 쓸 수 있지만, 혹시라도 누가 해당 ID를 썼는지 밝혀지면 글쓴이의 신원을 알게 되는 것과 마찬가지입니다. 글쓴이가 이러한 상황을 회피하고자 한다면 ID를 계속 바꿔 가면서 글을 쓰는 방법이 있기는 하겠지만, 그 경우에도 IP 추적 등을 통해서 글쓴이가 누구인지 추적될 가능성은 있습니다. 공개된 블록체인의 동작 원리도 이러한 익명게시판과 비슷합니다. 비트코인 계정 ID는 실명 확인을 하지 않고서도 언제든지 만들 수 있으므로 누구에게도 알리지 않고 익명으로 거래할 수 있지만, 만에 하나 계정 ID의 보유자의 신원이 확인되면 그의 거래 내역을 알 수 있게 되는 것입니다.)


요컨대, 블록체인은 투명성을 요구함으로써 블록체인에 저장된 데이터가 위조나 변조가 어렵게 하지만, 이는 정보보호의 측면에서는 치명적인 위협이 될 수 있습니다. 특히 금융거래 정보라거나, 회사의 계약 정보와 같이 비밀 유지가 필요한 정보는 결코 공개된(public)  블록체인에 저장하기 어렵습니다.


블록체인은 투명성을 요구함으로써 블록체인에 저장된 데이터가 위조나 변조가 어렵게 하지만, 이는 개인정보 보호의 측면에서는 치명적인 위협이 될 수 있습니다.


이 문제를 해결하기 위해서 제시된 방안이 컨소시엄 블록체인(consortium blockchain) 또는 프라이빗 블록체인(private blockchain)입니다. 즉, 종래의 블록체인 기술은 누구나 특정 프로그램을 자신의 컴퓨터에 설치하고 계정 ID를 만들면 해당 네트워크에 자유롭게 접속할 수 있는 형태였습니다(이를 퍼블릿 블록체인이라고 부릅니다). 하지만 이에 비해 허가받은 특정한 사람들만 블록체인 네트워크에 접속을 할 수 있게 하고, 나아가 각 이용자들마다 데이터에 대한 접근 권한도 달리 정해서 다른 이용자들의 데이터를 함부로 볼 수 없도록 기술을 개량했습니다. 그 중 접근/수정 권한을 복수의 선정된 참가자에게만 부여하는 경우를 컨소시엄 블록체인이라고 하고, 오로지 하나의 기업이 정보에 대한 통제권한을 갖도록 하는 경우를 프라이빗 블록체인이라고 합니다. 다만 용어가 아직 정립되어 있지는 않은데, 컨소시엄 블록체인과 프라이빗 블록체인을 합쳐서 프라이빗 블록체인이라고 부르는 경우도 많고, 그래서 하나의 기업이 정보에 대한 통제 권한을 갖는 경우를 fully private blockchain이라고 구분해서 표현하기도 합니다.


현재 논의되는 대부분의 기업용 블록체인 솔루션들이 이러한 컨소시엄/프라이빗 블록체인을 활용한 것입니다. 다음 글들을 통하여 컨소시엄/프라이빗 블록체인의 다양한 활용 사례를 설명드리겠습니다. 구체적 사례들을 보시면 무슨 말인지 보다 쉽게 이해가 될 것입니다.


3. 요약


이제까지 블록체인 기술의 핵심 개념을 살펴보았습니다. 이제까지 설명한 내용을 간단히 요약해 보겠습니다.


블록체인 기술의 개념을 한 줄로 요약하면, 종전에 서버 컴퓨터에 데이터를 저장하던 모델에서 벗어나서, 서버의 개념을 아예 없애고, 그 대신 "데이터를 분산해서 다수의 이용자 컴퓨터에 안전하게 저장할 수 있도록 하는 기술"입니다. 여기서 (1) 데이터의 분산성 (2) 다수의 이용자 참여 (3) 데이터의 위조나 변조가 어렵다는 안전성이 핵심적 특징입니다.

(1) 데이터의 분산되어 있다는 것은 여러 컴퓨터가 큰 용량의 데이터를 쪼개어서 조금씩 나눠서 저장하고 있다는 것이 아니라, 모든 데이터의 완전한 복사본을 여러 개 만들어서 여러 컴퓨터가 모든 데이터를 중복해서 보관하고 있다는 뜻입니다. 그 결과 저장 용량의 측면에서는 비효율적 일 수 있겠습니다만, 여러 컴퓨터에 동일한 데이터를 중복해서 저장함으로써 얻게 되는 이익이 그 비용보다 더 클 수도 있습니다. 그러한 경우에 블록체인 기술을 도입하는 것이 이익이 됩니다.

(2) 다수의 이용자 컴퓨터가 참여한다는 말은 서버 컴퓨터를 여러 대를 둔다는 것이 아니라, 서비스를 사용하는 다수의 사용자들의 컴퓨터들에 데이터를 저장해 둔다는 뜻입니다. 그래서 여러 컴퓨터들 간의 데이터를 일치시켜야 한다는 어려운 기술적 문제가 생기는데, 컴퓨터 공학자들이 합리적이고 현명하게 이 문제를 해결했습니다. 다만, 블록체인 기술은 한 곳의 서버에 모든 데이터를 저장하는 경우에 비하여 데이터 처리 속도가 다소 느려질 수 있다는 문제가 남아 있습니다.

(3) 블록체인 기술이 안전하다는 것은 블록체인에 저장된 데이터의 위조나 변조가 어렵다는 뜻입니다. 그런데 이와 관련하여 2가지 문제가 있습니다. (i) 블록체인 기술은 데이터가 일단 등록이 되어서 여러 컴퓨터에 중복해서 저장이 되면, 그 데이터를 없던 것으로 되돌려 삭제할 수 있는 기능을 원천적으로 막아 놓았고, 그 결과 개인정보보호법과의 충돌 문제가 발생합니다. (ii) 블록체인에서는 여러 컴퓨터에 동일한 데이터가 중복해서 저장되어 있으니, 블록체인 이용자들은 다른 이용자의 데이터를 언제라도 열어 볼 수 있다는 문제가 생깁니다. 이 문제를 해결하기 위해서 프라이빗 블록체인이라는 것이 등장했고, 현재 논의되는 대부분의 기업용 블록체인 솔루션들은 이러한 프라이빗 블록체인을 활용한 것입니다.


혹시라도 제 설명이 잘 이해되지 않는다면 앞으로 설명드릴 블록체인의 구체적인 적용 사례들까지 읽어보신 다음, 이 글을 다시  읽어보시기 바랍니다. 그러면 제가 지금까지 설명한 것들이 무슨 말인지 대략 감을 잡으실 수 있을 것입니다.


이제까지 말씀드린 핵심 개념에 비추어 보면, 블록체인 기술이 모든 경우에 적용될 수 있는 '만병통치약'이 아니라는 인상을 받으셨을 것입니다. 2편에서는 블록체인 기술이 종래의 기술에 비하여 어떠한 경우에 비교 우위가 있는지, 즉 어떤 문제를 치유할 수 있는 기술인지 설명 드리겠습니다. 그리고 3편에서는 블록체인 기술의 구체적인 활용 사례를 살펴보겠습니다.

작가의 이전글 빅데이터와 법의 미래: 개인화된 법
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari