U-lis [491954] · MS 2014 · 쪽지

2017-06-19 12:10:13
조회수 9,758

[연재글] BlockChain - 03. 블록체인의 기본 구조

게시글 주소: https://spica.orbi.kr/00012334500


1편 : https://orbi.kr/00012313138

2편 : https://orbi.kr/00012318427


이 글은 암호화폐와 그 근간을 이루고 있는 블록체인에 대해 살펴보는 글이지 비트코인과 이더리움 시장을 예측해 투자 타이밍을 조언하는 글이 아님을 알려드립니다. 이걸 본다고 투자하는데 도움이 되지 않습니다. 기술은 개발자에게 투자는 주갤러에게.


안녕하세요 지난 글에서 어떻게 비트코인 지갑을 만드는지 알아봤습니다. 생각보다 별거 아니에요. 없는줄 알았던 개인정보 인증이 N개정도 있다는 것만 빼면(...)

이번 글에서는 그렇게 만든 코인 지갑으로 거래를 하면 무슨 일이 어떻게 진행되는지 개괄적인 구조를 살펴보려 합니다. 그리고 한 단계씩 상세하게 설명을 할거에요. 아마 기본적인 지식을 갖추는 데는 이번 글로 충분할 지도 모르겠네요.


0. 블록체인의 구조

일단 그림 한장 보고 시작하겠습니다. 기본 구조는 그림 한장에 담을 수 있을 정도로 별 거 없어요.

일부러 좀 크게 올렸습니다. 대충 그림판같은거로 작업한거니 퀄은 이해 부탁드립니다...

앞으로 살펴볼 내용도 이 그림을 기초로 해서 설명드릴 것이기 때문에 이 그림을 보고 뭔지 이해하실 수 있으시면 블록체인의 구조에 대해 알고 계시다고 말씀하실 수 있습니다. 그럼 한 단계씩 설명해보겠습니다.


1. Make Transaction

기본적으로 블록체인은 각종 Transaction들의 연속연속입니다. 모든 것은 Transaction으로 이루어져 있다고 할 수 있죠. 위 그림에서 User1이 User2에게 비트코인을 보냈다고 해보죠. 그럼 녹색 네모 안에 적힌 것 같은 정보가 담긴 Transaction 데이터가 생성됩니다. 그리고 이 정보는 User1에 연결되어 있는 피어들에게 전달됩니다. 블록체인 네트워크는 P2P 네트워크로 이루어져있기 때문에 이런식으로 새로 생긴 정보는 네트워크를 따라 모든 노드들에게 공유됩니다. 이 시점에서 아직 User1, 2는 이 거래가 검증되었다는 것을 확인할 수 없습니다.


2. Receive Tx. and Pooling

노드는 새로운 정보를 받으면 이를 검증하고 유효할 경우 또다른 노드에 전달하는 작업을 자동으로 진행합니다. 그 중에 특별하게 Full Node라는 녀석들이 있는데, 이 녀석들은 지금까지의 모든 블록체인 데이터를 가지고 있으면서, 독립적으로 거래를 검증할 수도 있으며, 새로운 거래도 모두 저장을 하고, 이를 가지고 새로운 블록도 만들어낼 수 있습니다. 노드 얘기는 다음에 다시 하고, Full Node가 새로운 거래를 전달받으면 이게 유효한 거래인지를 검증합니다(사용자 정보가 정확한지, 거래량이 잘 맞는지, 보낸사람의 잔고가 거래에 적합한지 등). 그리고 유효한 거래임이 확인되면 이 정보를 다른 노드에 전파하고 자신이 가진 Tx. Pool 안에 저장합니다.


3. Make New Block(Mining)

블록체인의 핵심 활동인 마이닝입니다. N-1번 블록이 어딘가에서 생성되어 이 정보가 우리 노드에 전달되었다고 합시다. 그러면 노드는 즉시 N번 블록을 생성하기 시작합니다. 새 블록을 만들기 위해 Tx. Pool 안에서 적당한 거래들을 골라 블록 안에 채워넣습니다. 블록의 구조는 Miner 안의 네모처럼 생겼습니다. 블록 안에 든 단어들이 뭘 의미하는지는 다음에 자세히 살펴보도록 하고, 지금은 Hash라는 단어 하나에만 집중하도록 합시다. 위와 같은 정보를 가지고 마이너는 특정 조건을 만족하는 Block Hash를 만들어내기 위해 노력합니다(보통 문제를 푼다고 표현하죠). 그렇게 Block Hash를 찾아내면 노드는 유레카를 외치며 완성된 블록 정보를 다른 노드들에게 전파합니다. User1, 2가 새로 생긴 블록 정보를 받게 되면 거기에 자신의 거래가 포함되어 있는지 확인합니다. 만일 방금 생긴 블록에 자신의 거래가 포함되어 있으면 1번의 검증을 받았다고 합니다. 보통 가벼운 거래의 경우 이것만으로 거래가 성사되었다고 판단합니다. 고가의 거래 또는 안정성이 매우 중요한 거래인 경우에는 최대 6번의 승인을 받기까지 기다리는데, 이는 다음에 거래 검증에 대한 얘기를 하면서 좀 더 자세히 썰을 풀어보도록 하겠습니다.


블록체인은 위의 3개의 단계가 여기저기서 막 일어나면서 길게 이어집니다. 그림을 그릴때는 간단히 설명할 수 있을 거라 생각했는데 글을 써놓고 보니 또 주절주절 떠들었네요. 아직도 기술적 글쓰기 실력이 부족함을 느낍니다. 


에... 아직까지는 뭔소린지 이해가 잘 안 가시는 분들도 많을 것 같네요. 일단 이게 어떻게 되는지 두루뭉술한 그림이라도 머릿속에서 그리실 수 있다면 이번 글을 잘 따라오셨다고 생각합니다. 좀 더 상세한 내용들을 채우면서 의문가는 부분, 헷갈리는 부분들이 구체화될 수 있도록 노력하겠습니다.


질문은 언제나 환영입니다. 그럼 다음 글에서 뵙겠습니다.


작성자 간식 기부하기:

BTC 14eM4cd28q77Q4AujrV6jGBDH9unX3zD3f

ETH 0xf05C7196CF4e3494023aeABB6053d053ecB3937A

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.