brunch

[문과지만 기술합니다] #1 블록체인(1)

데이터는 내 품 안에 있을 때 믿을만 하다

by 박 스테파노

데이터는 안에 있을 믿을만 하다


몇 해전 친구가 일하는 로펌에 블록체인에 대한 강의가 필요하다 하여, 당시 최고의 권위가인 전공 교수님을 소개해 준 적이 있습니다. 강연 후 당연히 고맙다는 인사 대신 양쪽 모두로부터 핀잔과 항의성 피드백을 받았습니다. 로펌 변호사들은 아무리 애써도 무슨 말인지 도무지 알 듯 모를 듯하다는 것이고, 교수님은 똑똑한 변호사들이 잘 알아듣지 못하다는 것 같았다며 어떻게 그 어려운 사법시험을 치러내었는지 의아하다고 했습니다. 이렇듯, IT, 정보기술은 일상에 턱 하니 자리 잡고 있는데 그 기술에 대한 이해는 마치 외국어나 다른 행성의 말 같이 느껴 지곤 합니다.


오늘도 최대한 문학도인 제 친구도 이해할 수 있게 풀어 보겠습니다. 그런데, 주제가 좀 무섭습니다. 바로 '블록체인'입니다. 무서운 이유는 많은 사람들의 관심이 몰려 있다는 점, 그리고 대부분의 관심이 잘못된 길이나 옆 길로 들어서서 개념의 이해부터 바로 잡아야 한다는 점입니다. 2018년을 기점으로 구글에서 검색하는 키워드가 블록체인과 파생된 자산(코인, 크립토, NFT)이 주식 자산 시장 인덱스(S&P500 등)를 월등히 뛰어넘고 있습니다. 달리 말해 세간의 관심사인데 혹여나 찬물을 끼얹는 '냉정수'로 비추어질 수도 있기 때문이지요.

마법 같은, 사진=게티이미지


블록체인 기술이 이처럼 미래를 변화시킬 주요 요소라는 인식은 함께 하고 있습니다. 그러나, 정작 '블록체인이 어떤 기술인가?'라는 질문에는 좀처럼 자신 있게, 알아듣게 대답하는 사람을 만나기는 힘든 실정입니다. 코인 투자가, 코인 스타트업, NFT관심자, 그리고 일반 IT 호사가들은 그 기본부터 풀어 나가지 못하는 경우가 일쑤이고, 보안 엔지니어, 시스템 설계 운영자, 컴퓨팅 사이언스 전공자들은 외계어 같은 알아듣기 힘든 이야기를 풀어내곤 합니다. 그래서, 도전의 시간입니다. 쉽게 풀어 보고 쉽게 다가오는 시간이 되었으면 합니다.


우선 안심이 될 수 있는 한 말씀은, 여러분들이 기술용어-해시함수, 블록, 합의 프로토콜, 작업증명(PoW) 를 이해할 필요가 없다는 것입니다. 자동차도 온갖 기술이 들어가 있는데, 실린더의 왕복 운동, 캠과 노즐, 폭발과 연소의 공정, 그리고 순환기, 브레이크 압력 패드의 작동원리, 조향의 원리 등을 다 알지도 못하고, 그럴 필요도 없습니다. 최소한 시동 켜고 끄기, 변속레버, 핸들에 달린 버튼 들만 알아도 운행이 가능합니다. 카 오디오는 덤이지요. 토익 시험 리딩 독해에서 모르는 단어에 매이지 않고 건너뛰거나 유추만 해도 전체 문맥 형성이 가능해 답을 적어 내는 것과 같은 원리라 이해하면 됩니다.



블록체인의 핵심 개념은 '각자도생'


블록체인의 기본적인 개념은 '데이터를 저장ㆍ보관하는 기술'입니다. 여기에서 데이터란 모든 유형의 데이터를 말합니다. 흔한 금융거래 데이터, 회사와 가게의 장부 같은 트랜젝션 데이터부터, 웹하드의 동영상, 클라우드의 사진들 같은 비정형 데이터, 기계의 작동ㆍ운행정보, 지진ㆍ풍랑 같은 연속적인 시퀀셜 데이터까지 다 포함됩니다. (데이터 유형은 초기 포스팅한 아래 참조)

https://alook.so/posts/lat8X6


이런 데이터들은 대부분 하드 디스크에 저장이 되고, 개별의 컴퓨터나 단말기 등을 통해 '서버'라는 컴퓨터에 저장이 됩니다. 개인의 금고, 은행 지점, 은행 본사의 예금들이라 이해를 하면 쉽고, 서버는 은행의 역할을 하는 기계입니다. 대부분의 데이터는 이 서버 시스템에 한데 모아서 저장하거나 처리합니다. 핸드폰을 바꾸어도 카톡 정보나 은행 어플이 현재 시점으로 그대로 보이는 이유입니다. 이런 환경을 '클라이언트-서버 환경'이라고 합니다. 각각의 단말기가 필요에 의해 서버에 저장된 데이터를 부르고, 그 클라이언트 단말기에서 수정, 보완, 변경, 삭제, 추가 등의 작업을 해서 다시 서버에 저장하는 방식이지요.


이전에는 '메인프레임-더미 단말기 환경'이었습니다. 모든 데이터는 메인프레임이라는 중앙 컴퓨터에서 보관하고 연산이나 수정ㆍ삭제ㆍ변경ㆍ추가 등의 작업도 그 컴퓨터에서 합니다. 더미 단말기, 말 그대로 멍텅구리 단말기로 입력과 조회만 가능한 구조입니다. 중앙 컴퓨터에 모니터와 키보드 콘솔만 연결되어 있다고 상상하시면 됩니다. 그러나 데이터가 기하급수적으로 증가하고 연산처리의 기본단계에서의 사용자 직접 처리가 요구되자, 사용자단-클라이언트에도 생각과 연산이 가능한 컴퓨터를 두게 된 것이지요. 지금의 대부분의 환경이 큰 범주 안에서 여기에 해당합니다.


블록체인을 아주 단순하게 표현하자면, '서버를 없애자'입니다. 서버를 없애고 데이터를 사용자 컴퓨터에 분산해서 저 징하 자는 개념입니다. 언뜻 이해가 가지 않습니다. 중요한 데이터를 한 곳이 아닌 각자 보관하자니요. 그래서 이 기술을 21세기의 진정한 패러다임 전환이라고 이야기합니다. 이유는 각자의 컴퓨터에 보관하는데 가장 좋은 보안을 유지하여 '안정성'을 높여 주기 때문이지요. 그야말로 '각자도생'처럼 보이는데, 이것이 우리 모두에게 이익을 주게 되니까요.

블록체인 방식, 사진=samsung semiconduct news

이렇듯, 블록체인이란 "데이터를 분산해서 다수의 컴퓨터에 분산하여 안전하게 보관하는 기술"이라고 정의됩니다. 누군가 묻는다면 이 정의를 대답하면 절반은 해 낸 것입니다.



'분산'이라는 개념에 속지 말자


분산이라는 말은 일상이나 경제 활동에서 흔하게 쓰는 말이라, 자칫 블록체인에서의 '분산'이라는 말이 오해를 빚습니다. 분산투자, 분산 이송 등에서 보면 커다란 덩어리를 작고 잘게 나누어 행하는 것으로 이해되는데, 컴퓨터에서의 분산은 조금 다른 의미가 있습니다. distributed라고 표현되는 '배분'에 좀 더 가까운 말이기 때문입니다.


블록체인에서 분산 개념은 대상 데이터를 똑 같이 복제하여 똑같은 복사본을 여러 대의 사용자 컴퓨터에 보관하는 것을 말합니다. 먹지를 생각하면 쉽습니다. 중요한 계약서가 있다고 상상해 봅시다. 그 계약서의 망실이나 위변조가 걱정되어 여러 조각으로 잘라 보관할 수 있지만, 만에 하나 그중 하나 이상의 조각을 찾아내지 못한다면 계약서의 온전한 존치는 실패하게 됩니다. 그래서 먹지에 대고 똑같은 내용을 참여 관계자 수대로 복사본을 만들어 각자 보관하는 개념입니다. 우선 완전히 망실될 우려가 급감합니다. 그리고 위조나 변조도 구성원 모두가 동일하게 하지 않는 한 불가능에 가깝습니다.


모든 참여자의 컴퓨터가 중복되게 동일한 데이터를 보관하게 되는데, 복사본과 원본의 구분이 없다는 것을 주목해야 합니다. 이것이 핵심이 되는 기술 개념입니다. 이는 하드웨어의 공간을 낭비하는 기술이라는 비판적 생각이 들 것입니다. 맞습니다. 하드웨어가 참여자 수만큼 비효율성이 증가하게 됩니다. 그러나 지금 하드웨어 디스크의 가격은 그야말로 똥값이 되었습니다. 그래서 지금에 와서 가능해진 기술이기도 합니다. 이미 오래전에 대두된 기술이 갑자기 나온 듯 성행하는 이유가 바로 하드웨어 생산의 발달이라니 역설적입니다.

블록체인 프로세스, 사진=samsung semiconsuct news

그렇다면 어떤 효능과 이익이 있기에 블록체인애 데이터를 저장하는 것일까요? 아까 먹지의 예를 떠 올려 봅니다. 500가구 마을의 공동 재산을 관리하는 장부를 예전에는 이장이나 총무가 도맡어 관리했지만, 화재나 도난, 인간의 욕심 등을 믿지 못하게 되어 매일 마감된 장부를 먹지로 500개의 복사본을 만들어 각자의 가구에 보관한다고 생각해 봅시다. 위조와 변조가 거의 불가능해집니다. 500가구의 주민이 똑 같이 위변조 하지 않는 한 불가능합니다. 소실이나 망실의 우려도 줄어듭니다. 반대로 매일 먹지를 대고 베껴 쓰는 노동력, 가구마다 밤새 잘 지켜야 한다는 긴장감, 종이 값 등의 비용이 발생합니다. 그럼에도 비용 대비 효과는 실질적으로 심리적으로 크게 느껴집니다.


이렇듯 분산하여 중복 복제 저장하는 것의 비용보다 효과의 이득이 클 경우 블록체인이 유효한 것입니다. 거꾸로 엄청난 양의 영상 데이터, 비정형 마이닝 데이터, 메타버스, VR 등의 큰 데이터와 게임 등에는 아직까지 비효율적입니다.



문제는 사용자의 증가에 따른 기술적 대응


블록체인에서는 분산된 '여러 대'의 컴퓨터에 저장을 한다고 했습니다. 중앙의 서버를 아예 없애고, 사용자들 컴퓨터에 데이터 전체를 똑 같이 복제해서 보관하는 것이지요. 비용은 위에서 살펴보았는데, 그럼 사용자가 증가하면 그 데이터를 똑 같이 복제하고 정합성을 맞추는 일도 만만치 않고 상당한 시간 비용이 들어가게 됩니다. 500대는 어떻게 해 보겠지만, 카톡 사용 같이 5천만 대라면 어찌해야 할까요. 클라이언트-서버 환경에서 이를 위한 작업에는 엄청난 시간과 노력이 필요하게 됩니다.


블록체인 기술은 이런 과제를 아주 현명하게 해결해서 획기적인 기술로 자리 잡게 됩니다. 여러 대의 불합치된 데이터를 빠른 시간 내에 일치하게 맞추어 주는 기술이 진짜 이 기술의 핵심이 됩니다. 그 기술적 내용은 깊게 이해하지 않아도 됩니다. CPU의 연산이 0,1로 이루어진 2진법 함수 연산으로 처리 된다는 데 그것이 어떻게 지뢰 찾기로 보여지는가를 알지 못해도 상관없는 것과 마찬가지입니다. 그럼에도 불구하고 간단하게 설명하자면 다수결의 원칙입니다.


사용자 각자의 컴퓨터에 분산되어 저장되는 복제본(원본과 구분이 안 되는)을 '블록'이라 하고 이들이 사슬 모양으로 서로 연결되어 있다고 해서 '블록체인'입니다. 먹지 개념으로 돌아갑니다. 마을 장사가 잘 되어서, 매일 먹지에 마감 장부를 옮기는 것이 힘겨워집니다. 그래서 각자의 장부에 변경이 되면 그 변경이 되는 주체가 다른 구성원에게 변경해 달라고 요청을 합니다. 그러나, 당시 출타 중이거나 다른 업무로 장부 변경을 못하는 가구가 나옵니다. 이때 기준을 정해 일정 수준(대표적으로 과반수) 이상 변경 찬성 이행하면 마을의 전체 장부가 변경되었다고 신임하고 마감 시까지 반영하는 것입니다. 절반 이상이 변경한 장부이니 사실이라고 약속한 것이지요.

이런 것 몰라도 상관없습니다. 사진=네이버 포스트

이를 위한 해쉬암호니, 작업증명, 합의 프로토콜을 억지 이해하지 않아도 됩니다. 엔지니어와 기술자, 과학자들의 몫으로 남겨 두면 됩니다.



블록체인의 최대 이익은 '안전성'


데이터가 안전하다는 의미는 잃어버리거나 위변조, 도난의 위협이 제거되었다는 의미입니다. IT에서는 이를 '보안(security)'의 의미로 이야기되는데 자칫 한정 축소될 수 있어서 기피하려 합니다. 해커나 침입자가 블록체인의 데이터를 위변조 하려면 전체 컴퓨터의 데이터를 동시에 위변조해야 가능합니다. 먹지 장부를 다수결로 맞추어 보는 일을 초당 수십 회를 한다고 생각하면 되기에, 장부는 늘 일치되어 있는 상태로 존재하기 때문입니다. 유천작으로 위변조가 불가능한 이유입니다.


위변조가 불가능하다는 의미는 삭제 또한 불가능합니다. 어려운 말로 '불가역성'이라고 하는데, 한번 합의한 데이터 결과는 뒤로 돌릴 수가 없습니다. 사실 이것은 이전 컴퓨팅 환경에서도 '로그 파일'은 삭제가 불가한 것을 생각하면 쉽습니다. 수사기관의 컴퓨터 포렌식은 이런 원리를 적용해 복원과 유추를 하는 것입니다. 어찌 되었든 삭제가 불가능하니 '안전성'은 강력하게 담보됩니다. 그래서 사실은 금융거래나 기타 개인정보 관련 데이터에서는 이슈가 발생하는 것도 사실입니다. 개인정보는 법제에 따라 삭제해야 하고. 금융거래는 오거 래나 비정상 거래일 경우 취소나 복구가 되어야 하는데 이것이 원천적으로 불가능하게 됩니다. 코인 거래에서 위험이 노출되는 아이러니가 발생하는 것이지요. (아래 기사 참조)


https://m.khan.co.kr/economy/industry-trade/article/201806041355001/?med_id=khan#c2b

개인정보의 경우 목적 달성과 관련해 불필요하거나 보존기간이 경과하면 정보를 파기해야 한다. -기사 본문 중-


또 하나의 역설적인 문제는 '투명성'에 있습니다. 금고 안의 금괴보다 시장 가판대의 사과가 더 훔치기 힘든 법입니다. 이유는 누구나 볼 수 있기 때문인데요. 블록체인이 가진 고민도 여기에서 시작합니다. 안전성을 위해 분산된 장부는 본인뿐 아니라 타인의 거래와 자산까지 알 수 있습니다. 비트코인 ID(정확한 표현은 아니지만, 계좌 식별자)만 알면 그 계좌의 거래정보는 다 알 수 있습니다. 다만 개인정보 없이 계좌가 개설 가능하니 누구의 것인지는 모르게 되지만요. 이는 카카오 아이디 하나면 그의 대화와 부가 서비스를 엿볼 수 있는 것과 비슷합니다.


그래서, 고안된 방법이 블록체인의 참여 조건을 제한하는 것입니다. 권한과 접근 제어의 방식으로 필요 구성원들만 공유하는 체인 덩어리를 만듭니다. 이를 '프라이빗 블록체인', '컨소시엄 블록체인'이라고 합니다. 초기에는 누구나 계정만 만들면 한 덩어리로 작동하는 퍼블릭 블록체인만 존재했습니다. 지금 기업이나 비즈니스 환경에서 구현되는 블록체인은 다 프라이빗이라고 보시면 됩니다. 후속 연재에서 실제 사례를 들면 이해가 더 수월하리라 기대합니다.


블록체인의 종류, 사진=samsung semiconsuct news


블록체인이 암호화 화폐가 아니라고?


지금 까지 대략의 핵심 개요를 설명했습니다. 그런데 한편 '어~?'라는 의아함이 들 수도 있습니다. NFT, Web3.0까지는 기대 안 해도 코인이나 가상 자산 이야기가 안 나오니까요. 이상하다 싶을 겁니다. 어디에서 듣기로 2007년 외환 위기 때문에 안전 자산인 비트코인을 만든 게 블록체인 아니냐고 따지실 수도 있고, 가상인지 실제인지 모를 일본인 괴짜 개발자 이야기도 없고, 굳건히 믿는 스폰서 일론 머스크는 이름도 안 나온다 팔짱 끼고 의심 가득 쳐다볼 수 있습니다. 그럴 수 있습니다.

네이버 검색 결과, 사진=네이버 캡쳐


네이버에 '블록체인'이라고 검색하면, '가상 화폐로 거래할 때 해킹을 막는 기술'이라고 대표 해설하는 시사상식사전 제일 상단에 뜹니다. 저는 경악하고 말았습니다. 이러니 블록체인=가상화폐라고 굳게 믿을 수밖에 없는 일입니다. 제가 이 주제로 긴 이야기를 풀어내는 이유입니다. 이 기술의 적용, 응용, 파생 분야가 가상 자산의 거래 시스템인 것은 맞지만, 가상화폐가 블록체인의 전부를 대변하거나 설명하지 않기 때문이지요. 대중화된 첫 번째 사례이기 때문입니다. 블록체인 기술은 엄연히 '개개인이 소유하여 가능한 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술'일 뿐이지, 새로운 부가가치를 만들어 내는 황금알 낳는 거위가 아닙니다.


다음 글은 블록체인이 이전 기술에서 어떤 비교우위를 가지는지 그래서 어떤 분야가 중점 적용 대상인지를 이야기해 보겠습니다. 그리고, 그다음은 실제 구현 사례와 그 말 많은 암호화 화폐, NFT 등의 허와 실을 다루어 보고, 기술 유래에 얽힌 야사와 뒷 이야기, 루머 등을 고려해 보겠습니다. 그러다 보면 크리스마스가 오겠지요. 괜한 약속이 발목을 잡는 듯 하지만, 계획대로 약속대로.





keyword
매거진의 이전글[문과지만 기술합니다]#1 웹 3.0