공부하고 기록하는, 경제학과 출신 개발자의 노트

세줄요약 독서

알기 쉬운 블록체인 - 그림으로 배우는 비트코인/블록체인의 기본 원리

inspirit941 2018. 4. 10. 22:01
반응형

 

180404

 

 

블록체인 용어 설명 : 블록체인이 적용될 수 있는 산업분야 및 미래전망 = 3:7 정도의 비율.
처음 읽는 사람에게 ‘용어 해설’은 친절하나, 블록체인의 원리와 작동방식을 설명하기에는 개연성과 논리가 다소 부족한 책.
블록체인 입문서라기보다는 그림으로 쉽게 쓴 블록체인 용어 해설집.
 
사실, 이 책을 완독한 지금도 블록체인 기술을 누군가에게 설명하라고 하면 못 한다. 알 것 같으면서도 의문이 가시지 않고, 아무것도 모른다고 하기에는 블록체인에서 많이 쓰이는 용어의 의미는 각각 알 것 같다. 설명할 수 있을 정도로 체계가 완전히 잡히지는 않았지만, 블록체인 용어가 오가는 대화에서 맥락을 이해할 수는 있을 것 같다. 블록체인의 개념을 처음 접한 사람이 이 책을 완독하고 나면 느낄 수 있을 법한 감정이다.
  
책에서는 우선, 블록체인이 세상의 어떤 문제점을 해결하기 위해 등장했는지를 이야기한다. 태초부터 사람은 서로에게 필요한 물건을 교환하고자 하는 욕구가 있었다. 시간이 지나고 역사가 발전하면서 거래량이 많아지고 거래물품이 복잡해진다. 일일이 기억하는 대신 거래내용을 기록하는 ‘장부’가 등장한다.
시간이 흘러 인터넷이 등장하고 비대면 거래가 많아지면서, 거래하는 상대방을 어떻게 믿을 수 있는지 ‘신뢰’의 문제가 등장한다. 상대방이 거래를 충실히 이행하는 사람인지 믿을 수 없다는 주장이다. 현대 사회는 ‘신뢰’를 보증하는 기관이나 조직을 통해 이를 해결했다. 은행을 비롯해 여러 신용기관은 ‘거래 상대방을 믿을 수 있다’는 보증을 여러 방식으로 제공한다. 은행이나 신용기관은 국가의 제도 하에서 제대로 일을 해야 하며, 국가는 은행이나 신용기관이 제 역할을 할 수 있도록 돕는 역할을 한다.
  
그런데 만약 은행이나 신용기관이 제 역할을 하지 못하면? 은행 데이터베이스가 예기치 못한 사고로 손실됐다면? 그래서 내가 물건을 받고 대금을 지급받지 못했다는 기록이 사라져 버리면?
여기서의 문제 원인은 ‘제3자가 신용을 담보하고 거래 기록을 관리하기 때문’이라고 볼 수 있을 것이다. 거래 당사자인 나와 상대방이 아니라, 제3자인 은행이나 신용기관이 ‘신뢰’를 위해 거래기록을 관리하기 때문이다. 블록체인은 나와 상대방의 거래에서 제3자의 개입을 막고, 제3자가 제공하는 ‘신뢰’를 기술로 해결하자는 발상에서 출발한 기술이라고 이해하면 된다.
  
따라서 블록체인을 이해하는 수많은 키워드 중 하나는 ‘신뢰’ 확보를 위한 방법인 ‘암호화’라고 볼 수 있겠다. 블록체인 네트워크에서 자신의 신분을 증명하는 ‘개인 키’, 개인 키에 암호화 과정을 거쳐 블록체인 네트워크 모두가 알고 있는 ‘공개 키’, 그리고 블록체인 네트워크에서 본인의 Wallet을 나타내는 ‘주소’까지. 블록체인 네트워크에 입장하면서 갖게 되는 세 가지 정보다.
 

 

 

하지만 이 책에서는 ‘블록체인 하에서의 거래 및 교환’에 대해서는 상세히 다루지 않는다. 가장 먼저 만들어진 블록체인 시스템이고, 가장 안정된 상태인 비트코인을 예로 들어 설명하지만, ‘이 시스템이 작동하는 원리’를 다루지는 않는다. 기술적 설명보다는 순차적 접근에 가깝다.

이 책을 통해 논리적으로 이해한 흐름은 다음과 같다. 

비트코인의 거래 기록은 블록에 담겨 있다. 각 블록은 블록헤드와 블록바디로 이루어져 있고, 블록바디에 모든 거래기록이 담겨 있으며, 이전 블록과 현재 블록을 연결하는 핵심은 블록헤드에 있다. 이 블록헤드의 재료들과 블록바디의 거래데이터를 합쳐 SHA256이라는 암호화 함수에 넣으면 역산할 수 없는 암호값이 출력된다. 보통 SHA256이라는 함수를 통해 만들어진 암호 값을 Hash라고 부르며, 블록헤드 요소들을 통해 만들어진 Hash값은 블록의 고유 id가 된다. 

블록의 고유 id를 생성하는 방법은 어마어마한 컴퓨팅 파워가 동원되는 작업이며, ‘수학 문제를 푼다’고 보통 비유되는 과정이다. 비트코인 시스템은 약 10분에 1개 꼴로 블록이 생성되도록 난이도 조정을 거치며, 가장 먼저 난이도 조건을 만족시키는 블록의 고유 id를 찾아낸 사람이 블록을 생성한다. 이 사람이 보상으로 비트코인을 얻으며, 블록의 고유 id를 찾고 비트코인을 받는 모든 과정을 ‘채굴’이라고 부른다.
 

 

그 외에도 비트코인의 동작 원리를 설명하는 데에는 쓰이지 않았지만, 블록체인에서 쓰이는 용어 정리가 직관적으로 쓰여 있었다. 기술적 정의와는 별개로, 느낌을 이해하는 데에는 유용했다.
  
1. 하드포크와 소프트포크
하드포크는 블록체인 하에서의 분할이다. 모종의 이유로 현재 블록체인 시스템이 두 갈래로 나뉘어지고, 상호간에는 검증이 더 이상 되지 않는 상황을 말한다. 비트코인 블록의 용량이 1M이고 블록 생성 속도가 10분이라는 점을 보완하기 위해 여러 변형이 등장했다. 이 변형이 각각 초창기 비트코인의 하드포크 결과물이며, 기존 비트코인과는 하드포크 시점을 이후로 검증이 불가능하다.
소프트포크는 업데이트 개념이라고 생각하면 된다. 이전 버전과 새 버전 사이에 자유로이 검증이 가능하다.
  
2. 퍼블릭 블록체인과 프라이빗 블록체인
퍼블릭 블록체인은 누구나 블록체인 시스템에 들어갈 수 있고, 거래 검증에 참여할 수 있는 형태의 블록체인을 말한다. 비트코인이나 이더리움처럼, 거래소에 상장되어 있는 대부분의 코인이 퍼블릭 블록체인 기반이라고 이해하면 쉽다. 단 모두가 참여할 수 있다 보니 처리 속도가 느린 편이고, 프라이빗 블록체인에 비해 안정성 문제가 대두된다. 이더리움 같은 경우 해커의 공격으로 하드포크를 감행해야 했던 역사가 있다.
  
프라이빗 블록체인은 블록체인 플랫폼에서 거래에 참여하고, 거래내역을 검증하는 주체를 특정 기준을 충족하는 노드만이 가능하도록 제한한 것을 말한다. 블록체인의 검증 속도가 퍼블릭 블록체인에 비해 빠르며 안정성 면에서도 높다. 은행이나 금융권에서는 해커에 의한 하드포크가 발생하면 블록체인 플랫폼의 안정성이 흔들릴 수 있기 때문에 프라이빗 블록체인 연구를 많이 하고 있다.
  
3. 합의 매커니즘
PoW: 작업 증명 매커니즘(Proof of Work). 비트코인이 채택한 블록 생성방법 및 거래내역 인증방법. 각 노드는 난이도 조건을 만족하는 해시값을 가장 먼저 찾아내기 위해 컴퓨팅 파워를 투자해 경쟁하며, 가장 먼저 조건을 만족하는 해시값을 찾아낸 노드만이 보상으로 비트코인 채굴량 + 블록에 담긴 거래수수료를 취하는 방식. 
PoS: 지분 증명 매커니즘. 설명이 꽤나 복잡했지만, 이 책의 내용을 이해한 대로라면 ‘시스템에 존재하는 코인(화폐)을 가진 사람의 집합에서, 수중의 코인(화폐)을 PoS 매커니즘에 넣어두고 검증자가 될 수 있다’고 한다. 다시 말해 본인의 수중에 코인이나 화폐가 많을수록 블록의 검증자가 될 가능성이 높으며, 이는 많이 가진 자일수록 채굴 기회를 우선적으로 얻는다는 의미로 볼 수 있을 듯하다.
 

 

블록체인이 무엇이고 용어가 어떤 의미로 쓰이는지 느낌을 파악하는 데에는 유용하지만, 비트코인이나 이더리움과 같은 블록체인 플랫폼이 어떤 원리로 동작하는지 파악하기에는 쉽지 않은 책이었다. 코인 백서나 스팀잇에 정리된 글을 통해 먼저 맥락을 이해한 다음에 다시 읽으면 큰 그림을 파악하기에 좋을 법한 책이었다. 초심자에게 길잡이가 되어 준다기보다는, 어느 정도 개요가 잡힌 상태에서 읽어야 효과가 있을 것 같았다.

 


알기 쉬운 블록체인
국내도서
저자 : 쉬밍싱,티엔잉,리지위에 / 김응수,조정환역
출판 : 북스타 2017.12.13
상세보기
반응형