본문 바로가기
학교공부/[블록체인]

[블록체인] - 비트코인 프롤로그

by 윈디개 2025. 9. 29.

1. 수강 이유

 평소에는 비트코인이나 코인 이야기가 나와도 관심이 없어 그냥 듣기만 하거나 대화가 넘어가기를 기다리곤 했다. 그런데 최근 트럼프 취임 이후 비트코인 가치가 다시 급등하면서, 문득 "비트코인이 도대체 뭐길래 이렇게 길게 주목을 받는 걸까?" 하는 궁금증이 생겼다.

 

 처음에는 관련 서적을 읽어보려 했는데, 마침 이번 2학기에 블록체인 과목이 개설되어 있어 직접 수강해보기로 했다. 교수님께서는 투자법보다는 비트코인에 적용되는 암호화 기술과 블록체인 이론을 다룬다고 하셨는데, 암호학에도 조금 관심이 있던 터라 더 흥미롭게 느껴졌다.

 

 암으포 블록체인 수업을 들으면서 이해한 내용들을 정리해 보려고 한다.


2. 비트코인 등장배경

 비트코인은 사토시 나카모토(가명)가 2008년 10월에 발표한 논문에서 시작되었다. 하지만 왜 그 시기에 비트코인이라는 개념이 등장했는지를 이해하려면, 2008년에 발생한 글로벌 금융 위기를 먼저 알아야 한다.

 

 당시 미국에서는 모기지 사태라는 사건이 발생했는데, 부동산 거품이 터지고 이와 연결된 파생 금융 상품들이 줄줄이 무너졌다. 그 결과, 세계적인 투자은행 리먼 브라더스라는 투자 은행히 파산하게 되었다. 리먼 브라더스의 파산을 시작으로, 금융 회사들이 연쇄적으로 무너졌고, 사람들은 이 사건을 통해  금융 기관도 언제든 무너질 수 있다라는 사실을 깨닫게 되었다.

 

 따라서 은행과 같은 제3자를 신뢰하지 않고도 거래할 수 있는 시스템이 필요하다는 인식이 확산되었다.  즉, 기존에는 사용자간 거래를 할 때, 은행이라는 제 3자가 거래를 인증하고 보장해주는 역할을 맡았다. 그러나 은행이 무너지게 되면, 거래를 할 수 없게 되기 때문에 문제의식이 생기게 되었다. 그리고 이러한 문제의식 속에서 등장한 것이 사토시 나카모토의 비트코인이고, 이 비트코인은 시스템의 이름이자 화폐 이름이다.


3. 블록체인(BlockChain)

 그럼 블록체인이란 무엇일까? 그 전에, 블록체인과 비트코인을 명확히 구분하려고 한다. 블록체인은 기술이고, 이는 비트코인이 나오기 전에 연구 커뮤니티에서는 알려져 있던 것이다. 그리고, 이 블록체인을 기반으로 한 최초의 어플리케이션 이름이 비트코인이고, 이 비트코인이 시스템 이름이자 화폐 이름인 것이다.

 

 먼저, 블록체인의 이름을 살펴보자. 블록체인은 block(덩어리) + chain(체인)의 합성어이다. 따라서, 이름을 보면 덩어리들의 연결이라고 유추할 수 있는데, 간단하게 설명하면, block은 트랜잭션(블록체인에서는 계좌이체라고 이해하면 된다.)들을 모아놓은 덩어리라고 이해하면 되고, chain 그런 block들을 연결해주는 것이다. 블록체인에서는 이 block들을 linked list라는 자료구조로 연결해준다.

 

 linked list 구조는 자료구조 시간에 배웠다. linked list는 노드가 존재하고, 각 노드는 다른 노드를 향해 포인터로 가리키고 있다. 즉, 다음 그림과 같은 구조로 데이터가 저장되어 있다.

 이렇게 포인터로 각 노드를 향해 가리키고 있고, 마지막 노드는 null 값을 가리키게 된다. 이런 구조에서는 포인터만 수정해 주면, 중간에 데이터 삽입을 하거나 삭제를 하기 쉬워진다는 특징이 있다.

 

 비트코인은 이런 linked list 구조로 되어 있지만 위에 설명했던 특징을 가지고 있지 않다. 이는 나중에 비트코인의 해시함수에 대해서 설명할 때 자세히 정리할 것인데, 먼저 간단히 설명하면, 비트코인은 보안 및 인증을 위해 해시값을 계산해 이전 노드(비트코인에서는 노드)를 가리키고 있기 때문에, 중간에 다른 노드를 삽입하거나 삭제를 할 수 없게 만들었다. 만약, 악의적으로 수정이 일어난다면 기존에 가리키고 있던 해시값이 달라지게 되어 체인이 끊기게 된다.

 

 이러한 특성 때문에, 비트코인은 시간 기준(timestamped)으로 한쪽 방향으로 이어 붙이기(append)만 허용된다. 즉, 블록들은 이전에 생성된 블록들 사이에 넣지 못하고 뒤에 이어 붙이기(append-only)만 할 수 있다.

 

 또 다른 특징은 블록체인도 결국 linked list로 이루어진 데이터베이스이다. 그렇지만 이 데이터베이스의 특징은 auditable하다는 것이다. auditable하다는 것은, 누구나 장부를 검증할 수 있다는 뜻인데, 이는 투명성을 보장한다는 뜻과 같다. 이 데이터베이스 특징에 대해서 조금 더 알아보면, 다음과 같다.

  • 조작, 훼손 방지와 데이터 무결성을 보장하기 위해 해시 함수 사용
  • 디지털 서명 사용
  • Consensus 필요

 Consensus에 대해서는 후에 더 자세히 다룰 내용이므로 그때 정리해보려고 한다.


4. 블록체인의 기술

 블록체인의 기술에 대해서 알아보기 전에, 블록체인의 목적을 먼저 살펴볼 필요가 있다. 블록체인의 목적은 누구의 개입도 없이, 즉 1번에서 정리했듯, 제3자(은행 등)의 개입 없이 거래를 하겠다는 것이다. 이러한 배경을 이해하면 블록체인에 있는 기술들이 필요한 이유와 그 작동 기능에 대해 이해할 수 있을 것이다. 

 

 비트 코인이 나오기 전에, 원거리 거래가 일어나지 않은 것은 아니다. 스위프트, 페이팔이라는 앱들도 존재하지만, 스위프트는 최대 하루 이상이 걸릴 수도 있고 일단, 이런 앱들은 거래를 위해 누군가를 거쳐야된다는 단점이 있다. 그렇기에 시간도 꽤 걸리고, 제3자의 인증은 아니지만 개입이 존재하기 때문에 원론적인 문제는 해결할 수 없었다. 그렇지만, 비트코인이 등장하면서 원거리 거래가 가능해졌을 뿐 아니라 제 3자의 인증 또는 개입 없이 거래가 가능해졌고 이에 따라 시간도 10분 으로 단축되었다.

 

 이 비트코인, 블록체인이 필요로하는 기술은 바로 decentralized network에서 검증가능하게 데이터를 움직이게 하는 것이다. 우리가 현재 흔히 하고 있는 거래는 은행이라는 제3자가 인증을 해주고, 인증한 사용자끼리 거래를 가능하게 하는 것인데, 이를 centralized network라고 한다. 즉, 은행이 네트워크 중앙에 있다는 것이다. 모든 거래들은 어떻게든 이 네트워크 중앙을 거치게 되는데 비트코인은 그렇지 않다. 이러한 은행을 믿지 못하기 때문에, decentralized 네트워크에서 검증가능하게 거래(비트코인에서 거래가 즉 데이터이다)를 하는 것이다. 교수님께서 이 기술을 구현하기 위한 것들은 이 수업을 듣다보면 자연스레 이해된다고 하셨다. 그래서 그 데이터는 value나 computer code를 대체할 수 있다.

 

 위와 같은 기술들이 적용된 블록체인은 두 가지 유형이 있다. permissioned blockchainpermisionless blockchain이다. 

 

 permissioned blockchain에 대해서 정리해 보면 다음과 같은 특징들이 있다.

  • Known set of participants
  • No POW(proof-of-work) or mining
  • No need for a native currency
  • Distributed database technology

permissionless blocakchain은 다음과 같은 특징이 있다.

  • Unknown participants
  • Security based on incentives
  • Native currency
  • Crypto-economics

  둘은 반대되는 특징을 지녔는데, 먼저 permissioned blockchain에 대해서 정리하면, 이름에서 알 수 있듯이 허가된 블록체인이다. 이 블록체인은 DB에 등록될 때, 허가된 블록체인들만 등록가능하게 하는 것이다. 즉, 아무나 블록체인에 등록하지 못하도록 하겠다는 것이다. 특징들을 차례대로 살펴보면, 특정 사람들만이 블록체인에 등록할 수 있고, 이렇기 때문에 proof-of-work나 채굴이 의미가 없다. 또한, native currency도 필요가 없게 되는데, 이는 permissionless blockchain의 특징을 정리하면서 다시 이해하면 편할 것 같다.

 

 그럼, permissionless blockchain의 특징들에 대해서 정리해보면, 마찬가지로 이름에서 알 수 있듯이 누구나 블록체인에 블록을 등록할 수 있다. 그렇다면, 아무 블록들을 무분별하게 등록할 수 있는 것일까? 그건 또 아니다. 특징들을 살펴보면, 일단 누구나 등록할 수 있기 때문에, 보안을 중요시했다. 그럼 이 보안을 지키게 하는 방법은 두 가지로 추릴 수 있는데, 적절한 보상을 주거나 벌을 내리는 것이다. 블록체인은 벌을 내리는 대신 적절한 보상을 주는 방식을 택했는데, 보상으로 그 시스템 내에서 쓸 수 있는 currency가 필요했다. 그렇기에 permissioned blockchain과 달리 native currency가 필요해 진것이고, 우리가 흔히 아는 currency가 바로 비트코인이다. 그리고 보안을 위해 추가로 암호학도 적용되었다.

 

 Native currency가 필요한 이유를 조금 더 정리해 보면, permissioned blockchain은 정부 기관에서 관리하는 것이 일반적인데, 공무원들이 블록들을 등록하는데, 즉, 본인 직장일을 하는데 incentive를 받는 게 일반적인 경우는 아니다. 반면에  permissionless blockchain은 블록을 등록하는데 보통 채굴이라는 과정을 거치게 된다. 이는 POW 즉, 작업 증명이 필요한데, 이는 시간과 돈의 투자가 필요하다. 따라서 채굴하는 사람에게 적절한 보상을 주는 것이고, 정직하게 채굴한 사람에게 이런 제도를 만들어 보안을 유지할 수 있게 된다. 즉, 올바른 방식으로 채굴한 사람은 보상을 얻고, 부적절한 방식으로 채굴을 시도하면 투자 비용의 손해가 발생해 사람들이 정직한 방식으로 채굴하게 유도하는 것이다.