비트코인을 사놓고 존버한지 벌써 4년차이다. 비트코인이나 블록체인에 관해 알아보려고 하면 대부분의 포스팅들은 주로 경제학이나 인문학 혹은 차트로 인한 가격예측 쪽으로 설명이 많이 되어있다.
해당 카테고리를 개설한 이유 사실 몇 이유 없다. 최소한 개발자라면 이 시스템이 어떻게 돌아가는지는 대략적으로나마 알아야 할 것 같아서 이다. 지난 5년간 비트코인은 가지고 매매는 가끔씩(거의 적립식 투자) 해왔으나 정작 이 시스템이 어떤 생태계로 돌아가는지 제대로 알지 못하고 있었다.
무작정 비트코인 오픈소스를 다운로드 하고 C++로 작성된 소스코드를 보고 도대체 어떻게 해석해야 할지 몰라 엊그제 비트코인 공개 블록체인 프로그래밍 책을 구매한 후 잠시 노트북을 접어놓고 하루만에 4강까지 정독하며 읽어보았다.
1강은 대체적으로 온라인에서 많이 볼 수 있는 비트코인 역사와 부정적인 시각 등의 서론이 많았으며 2강부터 작동원리와 3강 참조구현 4강 키와 주소(지갑이 생성되는 원리)등이 있다. 아직 5강은 보진 않았지만 무작정 읽는 것보다 생각을 정리하면서 읽는 것이 더 도움이 될 것 같았다.
3강까지만 읽어본 후 비트코인 풀노드를 1대라도 구축하면 blockchain explorer 같은 사이트를 바로 구축할 수 있다는 느낌이 들었다. 풀노드 구축하고 명령어 전달하는 API 가볍게 만들고 웹소켓으로 실시간 통신하게끔 서버와 프론트를 만들면? … 금방 될거 같다는 느낌이 들어 다음장부터 비트코인에 관련해서 기본적인 용어부터 풀노드 구축하는 글을 작성해 볼 것이다. 그리고 시간이 남을 때마다 이것저것 만들어 볼 예정이다.
비트코인 코어자체를 이해하는데에는 시간이 좀 더 걸릴거 같으며 우선 일단 있는거먼저 만들어보고 다음에 생각해봐야겠다.
비트코인이 현재 기준 2021.08.29 기준 약 360GB가 나온다고 한다. [비트코인 풀노드 용량보기] 풀노드를 설치하기 위해 최소 메모리 2GB, SSD 400GB를 잡고 해봐야겠다.
그리고 이 카테고리는 아마 내가 블록체인 프로그래밍에 대해 어느정도 이해하거나 사토시나카모토는 왜 UTXO방식으로 이 시스템을 설계했는지에 대해 완벽하게 이해하면 아마 카테고리 연재가 끝날거라 생각한다.