블록체인 공부 자료 정리 v0.9
3 min readDec 8, 2016
이 내용은 개인의 경험에 기초하여 매우 주관적으로 작성 된 것임을 미리 알립니다. 추가적으로 더해져야 할 내용이 있으면 댓글을 부탁드립니다.
기반지식
- 타원곡선 알고리즘 이해하기(영문) — 타원곡선을 이해하면 왜 비트코인의 공개키를 통해 해킹이 불가능한지 이해하게 된다.
- SHA 함수 이해하기 (국문)— 국내 블로그 중에서는 가장 SHA함수를 잘 설명하고 있다. 해시 알고리즘을 잘몰라도 블록체인을 이해하는 데 지장 없을 수도 있지만, 하나쯤은 바이트 레벨에서 이해하는 것이 향후 지식을 확장하는데 도움이 된다. 연필로 SHA를 풀어내는 미친사람도 있다…
- 암호학— 시중에 암호학 개론책을 간략히 훑는 것이 가장 좋으나, 시간이 안된다면 해시함수, 공개키 암호화 방식 부분만 집중적으로 볼 것을 추천.
비트코인과 블록체인 기초
- Bitcoin: A Peer-to-Peer Electronic Cash System(영문) : 블록체인의 성서와도 같은 논문. 블록체인은 여기서부터 시작됬다고 볼 수 있다. 처음은 조금 추상적이지만 읽을수록 이해가 깊어진다. 학문적으로 접근한다면 레퍼런스로 참조된 논문까지 읽으면 더 좋다.(특히 b-money, hashcash, bitstring, timestamp server등은 블록체인의 핵심 개념이 어떤 역사적인 맥락에서 파생되었는지 이해하는데 도움이 된다). 한글판
- 비트코인, 블록체인과 금융의 혁신(국문), 안드레아스 M.안토노폴리스, 최은실 김도훈 송주환 옮김. 고려대학교 출판문화원 — 국문 자료가 매우 부족한 현실에서, 번역도 괜찮고 기술적인 정리도 잘 된 책이다. 여러번 곱씹으면서 읽으면 좋다. 앞부분은 실제로 비트코인을 사용하는 방법으로 시작하여, 뒷부분은 기본적인 이론을 하나하나 훑고 있다. 특히 ‘스크립트(script)’에 대한 그림과 설명은 감동적.. 영문판은 무료
- Bitcoin hardway : Using Bitcoin Raw Protocol (영문)— 트랜잭션을 파이썬을 이용해 하드코딩한다. ‘바이트 레벨’에서 이해할 수 있다. 코드 실습을 이해하면서 따라해보면 비트코인 트랜잭션에 대한 이해가 높아진다. 처음 공부할 때 여기있는 파이썬 코드를 크게 프린트해서 한줄 한줄 파라미터에 넘어가는 바이트를 화이트보드에 써가면서 공부했던 기억이 있다..
- Bitcoin Mining the Hardway(영문) — 앞과 동일한 블로거. 마찬가지로 채굴의 원리를 바이트 레벨에서 이해 할 수 있다. 코드 따라해보면 참 좋음.
이더리움(Ethereum)
원리 및 개괄
- 이더리움 백서(영문판) — 비탈릭 뷰테린이 직접 쓴 이더리움의 개론문서. 상태 변화 함수로써의 비트코인과 이를 튜링 완전하게 만들고 이를 통해 어떠한 서비스 혹은 제품이 등장할 것인지를 예측한 비탈릭의 통찰이 가득하다. 코드레벨에서 공부하는 데에는 크게 도움이 안될 수 있지만, 기술이 생겨 뭔가 만들어 보려고 할 때 이 문서를 참조하지 않을 수 없다. 한글판도 있다
- 이더리움 황서(영문) — 가빈 우드가 만든 이더리움의 설계서. 비탈릭이 이더리움의 아버지라면, 가빈 우드는 어머니 같은 존재라고 볼 수 있다. 이더리움의 구체적인 스펙이 담겨있고, 이더리움 가상 머신(Ethereum Virtual Machine)의 저수준 스펙을 이해하는데 도움이 된다.
- 홈스티드 독(영문) — 최신버전인 홈스티드의 스펙과 주요 라이브러리에 대한 설명이 있다. 블록체인에 대한 기초적인 내용부터 응용 부분까지 상당히 방대한 내용을 담고 있다.
솔리디티
- 솔리디티 공식 독(영문)
- 모낙스 솔리디티 튜토리얼(영문)
- solidity baby step(영문)
- 솔리디티 코딩 가이드(국문) — 공식독을 번역중.. 완성본은 아니다.