블록체인의 원리와 여러 개념
서브프라임 모기지 사태를 포함하여, 대규모 은행과 정부와 같은 중앙화된 주체들을 100% 신뢰할 수 없다고 생각하게 된 사례들에 대해 알아봤어! 그래서 탈 중앙화된 방식으로 이런 문제를 극복하고자 등장한 비트코인에 대해서도 살펴봤지.
이번 시간에는 어떻게 비트코인이 작동하는 것이고, 대체 무엇이 탈중앙화라는 건지 알아보려고 해!

💰비트코인, 디지털 화폐, 우리가 전자 결제하는 거랑 뭐가 다른 거야?
우리는 너무도 익숙하게 카카오페이나 각종 은행 앱을 이용하여 돈을 송금하거나 물건을 사는 등 전자 결제 서비스를 이용하고 있지. 비트코인도 전자화된 화폐의 일종이라는데 대체 무엇이 다르길래 특별한 건지, 그리고 블록체인 기술이 어떤 건지 예시를 통해 한번 알아보자.
먼저, 기존의 전자 송금을 생각해 보자.
A가 B에게 빌렸던 돈 10만 원을 갚으려고 해. 그래서 A는 은행 앱으로 B에게 돈을 송금할 거야. 그러면 몇 초도 걸리지 않아서 우리는 B의 잔고에 10만 원이 들어온 것을 확인할 수 있지.
이 과정이 너무 간편하지만 사실 송금 과정 속엔 매개 주체인은행이 숨어있어. 여기서 은행은 A의 계좌에 10만 원이 있는지를 확인 후 B의 계좌로 해당 금액을 송금해.
은행이 중개자로서 A가 B에게 돈을 10만 원을 보냈다는 걸 보증하는 거야.
별문제 없어 보이는 이 과정 속에 중앙화된 기관에 의존하여 발생하는 문제들이 존재하지.
만약 거래 담당자가 10만 원이 아닌 1만 원으로 입력한다면? 또는 은행 서버가 해킹당해 내 잔고가 0이 된다면 어떨까?
아무리 유명한 은행이라고 해도 더 이상 믿지 못하게 될 거야. 실제로 은행 해킹 사례들이 나타나고 있기도 하지.
그래서 블록체인 기술을 이용한 비트코인은, 중앙화된 중간자의 개입 없이 익명의 불특정 다수가 거래 장부를 가지는 방법을 통해 이러한 신뢰의 문제를 극복하고자 했어!
💡중앙화된 주체 없이 모두가 거래 장부를 소유한다면?
이번에는 서로 계좌와 거래내역 정보만을 아는, 익명의 1~20번까지의 사람들이 모여 있다고 생각해 보자!
1번 사람이 2번 사람에게 10만 원을 송금할 예정이야.
비트코인의 원리는 다음과 같아.
1. 1번-> 2번 10만 원 송금 사실을 모여있는 20명의 사람들에게 똑같이 공지할 거야.
2. 주변의 20명이 1번의 잔고를 검사하여, 송금할 10만 원이 있는지 또 예전에 사기를 친 내역이 있는지 확인하는 거야.
3. 문제가 없다면 1번-> 2번 10만 원 송금 사실을 20명이 각자의 노트(장부)에 모두 적어두는 거지.
4. 다른 거래들이 있을 때에도 다음과 같은 노트(장부) 기록 과정을 반복하는 거야.
이게 왜 은행보다 더 신뢰할 수 있는 방식이야?
바로 모든 사람이 똑같은 노트(장부)를 동일하게 소유하고 있다는 점 때문이야!
그래서 블록체인을 공공 거래 장부라고 부르기도 하지. 원래 은행은 중앙화된 서버에 장부를 꽁꽁 숨기면서 철통 보안을 유지하려고 해.
그런데 한 곳에 밀집되어 보관되다 보니 아무리 잘 지킨다고 해도 언젠가는 허술해질 위험이 있어.
하지만 수천만, 수억 명이 똑같은 장부를 가지고 있다고 한다면 나쁜 마음을 가진 몇 명이 본인 장부를 조작한다고 해도 과반수의 장부와 대조해 봤을 때 장부 내역이 다르기 때문에 조작한 장부들은 무효화되는 거야.
즉, 네트워크 내의 부정직한 소수는 정직한 다수를 이길 수 없는 구조가 만들어져.
이렇게 중개인에 의존하지 않고 모두가 평등하게 장부내역을공유한다는 점 때문에 블록체인을 탈중앙화라는 어휘를 사용하여 표현하는 거야.
📒 왜 ‘블록체인’ 이라고 부를까?
먼저 위에서 설명한 노트(장부)를 하나의 ‘네모 블록’이라고 생각해 보자. 노트, 즉 블록 안에는 하나하나의 거래들이 적혀있지? 그 거래들을 ‘트랜잭션(Transaction)‘이라고 해.

하나의 블록은 1MB까지 트랜잭션을 담을 수 있는 데, 하나의 트랜잭션이 약 0.3KB 정도 하니까 한 블록에 약 2~3천 개까지의 거래를 담을 수 있어.

블록이 가득 차면 다른 블록을 새로 쌓아 내용을 채우게 되겠지. 그리고 여기서 우리는 블록끼리를 연결하여 장부들을 보관하게 되는 거야. 이 과정이 바로 체인이겠지.
그래서 블록들을 연결하는 과정, 즉 블록체인이라고 하는 거야!