소화가 잘되는 비트코인 지식
비트코인은 변동성이 높은 화폐입니다.
눈 깜짝할 때마다 바뀌는 가격에 코인 맛본(?) 사람은 주식으로 못 돌아간다는 말이 있을 정도죠.
금요일 밤 홍대 길거리마냥 24시간 불타는 코인 거래소에선 수많은 개미들이 파티를 벌였습니다.
토론방에는 고양이가 뛰어다니고 기영이와 배추도사가 머리스타일을 뽐냈죠.
모두들 광란의 투자를 하고 있을 때, 개복치의 심장을 가진 개미 A씨는..
뫼비우스의 비트코인 속에서 상상매수와 상상매도만 반복합니다.
요즘따라 자주 들려오는 옆집 개미들의 수익실현 소식에 겨우 마음을 먹고 공부하려 해 봐야..
탈중앙화… 노드..에.. 장부를.. 분산.. 어김없이 외계어를 마주해야 하죠. 아무튼 개발자들이 문제
그.래.서 오늘은! 비트코인이 왜 태어났는지부터 공부하려 합니다! 몰라도 되는 것들은 빼고요.
오늘의 글은
1. 왜 탈중앙화를 하려는 건지
2. 탈중앙화는 어떻게 하는 건지
3. 여기에 블록체인이 왜 필요한지
에 대한 답을 담고 있습니다.
*여기서 잠깐 비트코인은 원/달러와 같은 화폐를 뜻함과 동시에 송금 시스템을 뜻하기도 하는데요. 이해의 용이성을 위해 본문에서는 이 둘을 분리해 송금 시스템은 ‘비트코인 시스템’, 화폐는 ‘비트코인’으로 칭하겠습니다. |
01 아니 왜 ‘탈‘중앙화를 하려는 건데?
비트코인의 최종 목표는 탈중앙화이다.
난이도 : ★☆☆☆☆
아마 비트코인 시스템을 검색했을 때 가장 먼저 만날 문장은 이걸 겁니다.
비트코인은 탈중앙화된 암호화폐다.
결론부터 말하자면 이 탈중앙화는 비트코인이 태어난 이유인데요.
흠… 어감상 중앙에서 벗어난다는 것 같은데.. 도대체 ‘중앙’이 뭐길래 탈출을 한다는 걸까요?
비트코인 시스템이 말하는 중앙은 은행입니다. 지금까지 우리는 은행을 믿고 송금했고, 은행은 우리의 거래내역을 기록했죠.
우리가 평소에 하는 거래를 봅시다. 놀란씨가 버핏씨에게 50만 원을 빌려달라고 한 경우
버핏씨는 은행 어플 혹은 atm에서 놀란씨의 계좌에 돈을 송금할 겁니다. 이후 은행은 버핏씨의 계좌에 50만 원이 있는지 확인하고 놀란씨의 계좌로 돈을 보내며 이를 장부에 기록하죠.
너무나 당연한 듯 보이는 이 프로세스는
1. 은행의 보안은 완벽하다
2. 은행은 망하지 않는다.
라는 두 가지의 조건을 가지고 있는데요.
이 두 가지 조건이 각각 깨지게 되는 경우에 대해 알아보죠.
첫 번째 조건. 놀란씨의 해킹
은행은 모든 거래내역(장부)을 자체 서버에 저장하고 있습니다. 이때, 못된 놀란씨가 은행을 해킹해서 송금 기록을 지워버린다면, 우리가 믿고 있던 은행은 이 거래를 보증해주지 못하고 버핏씨는 놀란씨에게 돈을 요구할 수 없죠.
두 번째 조건. 은행 혹은 국가의 파산
은행이 늘 안전한 것은 아닙니다. 서브프라임 모기지 사태 혹은 IMF만 해도 다양한 은행이 파산했죠.
이렇듯 은행이 파산하게 된다면 놀란씨와 버핏씨 모두 은행에 넣어둔 돈을 잃게 될 겁니다.
이는 은행뿐 아니라 국가에도 적용되는데요. 베네수엘라와 같이 경제가 파탄 난 경우, 은행에 돈을 넣어뒀을지라도 그 화폐의 가치가 급격히 하락해 살 수 있는 상품이 없어질 수도 있죠.
이러한 은행/국가를 중심으로 하는 “중앙화“의 문제를 해결하려고 나타난 것이 비트코인 시스템입니다.
02 비트코인으로 탈중앙화하기
은행이 아닌 모두의 컴퓨터에 장부 저장하기
난이도 : ★★★☆☆
앞선 과정에서 우리는 은행 혹은 국가만 믿고 있다가는 해킹이나 파산에 당할 수 있다는 문제를 찾아냈습니다. 이에 비트코인의 창시자 사토시 나카모토는 이런 생각을 하게 되죠.
“은행 하나만 믿는 건 그만하고 비트코인 시스템의 참여자 서로를 믿는 건 어때?”
이를 위해 비트코인 시스템에서는 은행이 가지고 있던 거래 장부를 여러 명이 복사해 나눠 갖기로 하는데요.
비트코인 시스템하에서 놀란이가 버핏이에게 돈을 보내면, 이제 거래 기록은 은행이 아닌 비트코인 시스템에 참여한 모든 사용자의 컴퓨터에 저장되는 거죠.
*여기서 이 컴퓨터들을 ‘노드’라고 부릅니다.
이렇게 모두가 장부를 가지고 있다면 놀란이가 돈을 갚지 않으려고 본인 컴퓨터(노드)의 기록을 지워봐야 나머지 모든 인원의 노드엔 놀란이가 송금한 기록이 남아있으니 놀란의 거짓말은 금방 반박당하고 말 겁니다.
즉, 놀란이는 은행이 아닌 전체 참가자 컴퓨터의 50% 이상을 해킹해야만 돈을 갚지 않을 수 있죠.
어..? 이러면 위험한 거 아니야? 라는 생각이 드실 수도 있는데요. 물론 이론적으로는 가능한 일이지만 사실 비트코인 시스템에서는 불가능에 가까운 일입니다.
그 이유는 비트코인 시스템에 10000개 이상의 노드가 있고, 놀란이가 해킹할 50%의 노드는 5000개가 넘기 때문이죠.
정리하자면 비트코인 시스템은
은행에 장부를 넣어뒀을 때
- 해킹당하거나
- 은행이 망하는 것이 걱정되니
이제 장부를 은행이 아닌
- 모든 참여자들이 나눠 가져
- 참여자 전체의 절반을 해킹해야
장부를 조작할 수 있게 만든 거죠.
03 그래서 그걸 어떻게 할 건데?
탈중앙화를 가능케 한 기술, 블록체인
난이도 : ★★☆☆☆
앞 장에서 우리는 놀란이의 조작질을 방해할 탈중앙화에 대해 알아봤습니다.
모든 노드가 장부를 나눠 가진 덕분에 5000개의 노드를 해킹해야 하는 놀란이로부터 비트코인을 아주 안전해졌지만 비트코인의 창시자 사토시 나카모토는 아니.. 5000개도 해킹하면 어떡해..? 라는 걱정까지 하기 시작하는데요. 극한의 쫄ㅂ..
이 걱정을 해소하기 위해 나카모토는 새로운 장부를 10분마다 추가해 마치 블록을 쌓듯 장부를 쌓습니다.
이처럼 비트코인 시스템에서는 10분마다 새로운 장부가 생겨나 기존의 블록들에 연결되는데요. 이렇게 블록을 쌓는 구조에선 다음 블록이 쌓이면 그 전 블록은 수정이 아~주 어려워지게 됩니다.
예를 들어 블록2가 붙고 나서 블록1에 있는 1시 7분의 거래를 지우려면 블록2를 떼고 블록1을 수정한 뒤 다시 블록2를 붙여야 하는 거죠.
*이 작용은 다음 장에서 설명하겠습니다.
즉 이제 비트코인 시스템에서, 놀란이가 장부를 조작하려면 5000개의 노드를 10분 안에 해킹해야 합니다.
블록.. 연결… 혹시 눈치채셨나요?
바로 여기서 쓰인 장부를 블록처럼 쌓아 저장하는 기술을 블록체인이라고 부르는 겁니다.
즉, 비트코인 시스템에서는 거래 장부가 은행이 아닌 각 사람들의 컴퓨터(노드) 속에 블록체인 형태로 저장되어있는 거죠. 비트코인 시스템이 안전한 이유는 그 블록체인에 약 10000개의 노드에 있고 이를 해킹하려면 10분 후 다음 블록이 붙기 전에 5000개의 노드를 해킹해야 하는 거고요.
이로써 비트코인에 아주 중요한 개념인 탈중앙화, 블록체인, 노드에 대해 알아봤습니다.
자 이제 다시 앞에서 봤었던 외계어를 확인해 볼까요?
여전히 어렵긴 하지만.. 아마
비트코인은 중앙집중화의 문제를 해결하기 위해
= 비트코인은 은행에 장부를 넣어뒀을 때 해킹당하거나, 은행이 망하는 것이 걱정되니
탄생한 탈중앙화 결제 네트워크이자 신종 화폐로
= 장부를 은행이 아닌 사용자들이 나눠 가진 시스템이자 화폐로
블록체인 기술을 기반으로 장부를 노드에 분산 저장함
= 10분마다 블록을 쌓는 기술로 장부를 사용자들의 컴퓨터에 저장함.
라는 뜻인 것 같네요.
사실 비트코인에 대한 내용이 방대하다 보니 다루지 못한 내용이 많았는데요. 다음 글에서는 오늘의 글을 읽었을 때 나올 의문인 “왜 다음 블록이 쌓이면 이전 블록을 수정하기 어려운데?”와, “그래서 블록은 누가 만들어서 나눠주는 건데?”에 대한 답을 풀어보도록 하겠습니다.
비트코인을 공부하기 시작한 지 얼마 되지 않아 내용에 잘못된 점이 있거나 설명이 부족할 수 있습니다.
궁금한 점이나 틀린 부분이 있다면 편하게 댓글 달아주세요.
돌망님이 브런치에 게재한 글을 편집한 뒤 모비인사이드에서 한 번 더 소개합니다.