일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 블록체인개발
- smart contract
- 마스터링 비트코인
- 비트코인
- 이더리움
- javascript
- 공개키
- 스마트컨트랙트
- DAPP
- 마스터링 이더리움
- 주소
- python
- 개발
- 암호화폐
- 백서
- 마스터링비트코인
- 레디스
- Redis
- Ethereum
- node js
- solidity
- 개인키
- 파이썬
- 블록체인
- 솔리디티
- js
- 문자열
- keras
- 알고리즘
- pythonic
- Today
- Total
개발이야기
[Mastering Bitcoin] 마스터링 비트코인 내 맘대로 정리 - Ch01 본문
언젠가는 꼭 하고 싶었던 Mastering Bitcoin 정리를 이제 시작해보려 합니다.
마스터링 비트코인은 블록체인 입문서로 가장 유명한 책입니다. 저 역시 처음 블록체인을 공부할 때 이 책을 보면서 시작을 했습니다. 하지만 처음 마스터링 비트코인을 접했을 때는 어려운 용어가 많아 이해하기가 쉽지 않았습니다. 특히 영문으로 되어있어 더 고역이었던 것 같습니다. 하지만 블록체인을 공부하며 어려웠던 용어가 어느정도 익숙해진 지금 다시 마스터링 비트코인을 보니 이 책이 왜 입문서인지 알 거 같았죠. 마스터링 비트코인 만큼 비트코인 프로토콜에 대해 정확하고 자세하게 쓰여진 글은 아직까지는 본적이 없습니다.
또한 내가 참고했던 여러 블로그의 글들 역시 이 책을 바탕으로 작성된 글임을 알게되었죠.
이러한 제 경험을 토대로 Mastering Bitcoin을 chapter 별로 제대로 정리해볼려고 합니다. 저 역시 아직 블린이(블록체인 + 어린이)이기 때문에 제 입장에서 어려운 용어, 개념을 최대한 풀어써서 이해를 도우려 합니다. 많은 분들이 부족한 이 글을 통해 블록체인을 공부하시는 데 조금이라도 도움이 됐으면 하는 작은 바람입니다 !!
Ch 01 - Introduction
What is Bitcoin ?
비트코인이란 무엇일까. 비트코인하면 대부분 가상화폐, 암호화폐 정도로 인식을 많이 하고 있을 것입니다. 특히 우리나라에서는 아직까지 투기 수단 정도로만 이해를 하고 있는 사람이 많죠. 번역본에서는 비트코인을 디지털 통화 생태계의 근간을 이루는 개념 및 기술을 아우르는 용어라고 정의합니다.(원서: "Bitcoin is a collection of concepts and technologies that form the basis of a digital money ecosystem.") 원서에서는 "the basis of a digital money ecosystem"이라고 표현하고 있습니다. 그렇다면 어떻게 비트코인은 디지털 통화 생태계의 근간, 뿌리 역할을 하고 있을까요. =비트코인 이전에도 여러 디지털 화폐 개념이 있었습니다. 하지만 이 디지털 화폐는 비트코인처럼 정착을 하지 못했습니다. 그 이유는 네트워크 상에서 일어날 수 있는 여러 문제를 해결하지 못했기 때문이다. 여기서 말하는 문제 중 하나는 내가 보유하고 있는 디지털 화폐의 신뢰도 문제였습니다. 내가 가지고 있는 이 디지털 화폐가 과연 위조인가 아닌가, 또는 이게 과연 화폐로서의 가치가 있는가 하는 문제죠. 또 다른 문제점은 내가 가지고 있는 디지털 화폐를 어떻게 내 소유라고 주장할 수 있을까, 다른 사람이 이 화폐의 소유권을 증명한다면 내 소유라는 것을 어떻게 증명할 수 있을까 하는 크게 두 가지 문제점이 있었다. 기존 디지털 화폐는 이러한 문제점에 대한 뚜렷한 해결책을 내지 못한채 상용화되지 못하였습니다. 하지만 비트코인은 이러한 문제점을 모두 해결하는 해결책을 제시하였고 결국 이 해결책을 바탕으로 디지털 통화 생태계의 뿌리가 되었습니다. 어떻게 비트코인이 해결하였는가는 여러 장에 걸쳐서 나오므로 다음에 이어지는 포스팅을 기대하시길 바랍니다 ㅎㅎ 비트코인은 중요한 4가지로 구성되어있다. 1장에서는 이 4가지만 알고가도 충분합니다. 1. 비트코인은 탈중앙화된 P2P (Peer-to-Peer) Network를 사용한다. 2. 공공 거래 장부를 가지고 있다.(이것이 블록체인이다.) 3. 거래 검증과 화폐발행을 위한 규칙을 가지고 있다.(이를 consensus rules 라 한다.) 4. 유효한 블록체인에 대해서 전세계적으로 탈중앙화된 합의를 도출해내기 위한 매커니즘이 포함되어 있다.(PoW)
Bitcoins's History ? 자신이 비트코인 개발자인 '사토시 나카모토'라고 주장하는 호주의 크레이그 스티븐 라이트. (이미지 출처 : 연합뉴스)
어느 소개에서도 빠질 수 없는 역사에 대해서 알아봅시다. 비트코인의 시작은 어디인가... 2008년 '사토시 나카모토(Satoshi Nakamoto)' 라는 익명의 개발자(?)가 "Bitcoin: A Peer-to-Peer Electronic Cash System"이라는 논문을 발표했습니다. 이 논문에는 비트코인이 기존 디지털 화폐와 다르게 분산화된 전자화폐라는 점이 명시되어 있었고, 비트코인 프로토콜이 어떻게 구성되어있는지가 설명되어 있었습니다(마스터링 비트코인의 전부). 이 논문을 바탕으로 2009년에 비트코인 네트워크가 시작되었고 여러 프로그래머들에 의해 수정되었습니다. 그러다 2011년 사토시 나카모토는 사라졌다. (여기서 '사라졌다'라는 말은, 사토시는 원래 비트코인 개발자와 이메일로 연락을 주고 받았지만 2011년 이후 이메일 연락도 끊겼다는 의미) 사토시는 사라졌지만 여러 비트코인 코어 개발자들과 함께 계속 발전중에 있고, 비트코인의 기반이 되는 기술인 블록체인 역시 점점 발전하고 있습니다.
Getting started
그렇다면 우리는 비트코인을 어떻게 구매하고 사용할 수 있을까요. 마스터링 비트코인 책에 나온 예제를 바탕으로 설명해보겠습니다. 물론 지금은 편하게 거래소를 이용하여 비트코인을 구매할 수 있습니다. 하지만 책에서는 비트코인을 가지고 있는 친구에게 적절한 달러를 주고 비트코인을 받는 거래를 예시로 들었습니다. 미국에 사는 두 친구 앨리스와 조가 있습니다. 조는 앨리스를 비트코인의 입문시키고자 하죠. 그래서 비트코인에 대해 열심히 설명해주었습니다("Bitcoin is good..."). 이에 흥미를 느낀 앨리스는 비트코인을 가지고 싶어 하고 여러 방법을 생각하다가 조에게 일정량의 비트코인을 직접 받는 방법을 생각해냈습니다. 앨리스는 10달러를 조에게 주며 조는 그에 상응하는 0.1 비트코인 (현재시세 약 80만원..)을 앨리스에게 주기로 하였습니다. 그렇다면 거래는 어떻게 이뤄질까요.
Wallet
이런 거래는 '지갑(Wallet)'을 이용해서 이루어집니다. 물론 전자 지갑이지만 우리가 실생활에 사용하는 지갑과 다른것은 어디서 쓰느냐 정도입니다.(물론 다른점이 많긴 하죠..). 이 전자지갑은 우리가 흔히 사용하는 지갑처럼 돈이 들어있습니다. 따라서 앨리스는 조에게 비트코인을 받기 위해 지갑을 하나 사용해야 합니다. 그래서 앨리스는 여러 지갑중에 하나를 선택했죠. 비트코인 지갑을 만들면 개인키와 자신의 지갑 주소가 발행됩니다. 이 개인키는 'private'한 것으로 남에게 알려지면 자신의 지갑이 털릴 것이고, 잃어버리면 지갑에 있는 돈을 개인키가 기억날 때까지 찾을 수 없습니다. 주소키는 이메일 주소와 비슷한 역할을 한다고 생각하면 됩니다. 다른 사람이 나한테 비트코인을 보내고자 한다면 내 주소를 이용하여 비트코인을 보낼 수 있습니다. 그래서 앨리스는 QR 코드(지갑 주소를 외우긴 쉽지 않다, 치기도 귀찮고)로 된 자신의 지갑을 프린팅 해왔습니다.(준비성이 철저한 친구다) 조는 자신의 지갑에서 0.1 비트코인을 앨리스에게 보내기 위해 지갑 어플리케이션에 보내는 값에 0.10 비트코인을 입력하고 보내는 주소에 앨리스 QR 코드를 인식 시킵니다. 보내기 전에 반드시 내가 보내고 싶은 금액이 맞는지 다시한번 확인하고 또 보내기 전에 마지막으로 다시 한번 확인 해봐야합니다. 왜냐하면 보낸 돈은 돌이킬 수 없다. (만약 앨리스가 양심이 있는 친구라면 괜찮겠지만.. ). 조가 비트코인을 앨리스의 지갑주소로 송금을 했다면 얼마 후 앨리스는 자신의 지갑에 조가 보낸 0.10 비트코인이 들어온 것을 확인할 수 있을것입니다. 앨리스는 이제 비트코인 소유자가 되었습니다. 만약 앨리스가 아직까지 그 비트코인을 가지고 있다면 약 80배의 수익을 올렸....
Next..
다음장에서는 앨리스와 조 사이에서 일어난 거래가 어떻게 일어나는지 자세하게 설명합니다(제가 아니라 마스터링 비트코인이.. ㅎㅎ). 또한 앨리스가 지갑을 만들면서 생긴 개인키와 주소키는 어떻게 구성되어 있고 어떻게 생성되는지 살펴볼 것입니다. 굉장히 재미(?)(혹은 지옥)있는 내용이고 꼭 이해하고 가야하기 때문에 열심히 준비해서 포스팅할 예정입니다. 많이 기대해주세요 ~ ! 부족한 부분이나 영 아닌 부분은 댓글을 통해 피드백 해주시면 정말 감사하겠습니다. 아직 많이 부족하고 보완할 점이 많으니 피드백은 저에게 영양분이 됩니다 ~!! 긴 글 읽어주셔서 감사합니다.