블록체인 공부 자료 정리 v0.9

철학자(philosopher)
3 min readDec 8, 2016

--

이 내용은 개인의 경험에 기초하여 매우 주관적으로 작성 된 것임을 미리 알립니다. 추가적으로 더해져야 할 내용이 있으면 댓글을 부탁드립니다.

기반지식

  1. 타원곡선 알고리즘 이해하기(영문) — 타원곡선을 이해하면 왜 비트코인의 공개키를 통해 해킹이 불가능한지 이해하게 된다.
  2. SHA 함수 이해하기 (국문)— 국내 블로그 중에서는 가장 SHA함수를 잘 설명하고 있다. 해시 알고리즘을 잘몰라도 블록체인을 이해하는 데 지장 없을 수도 있지만, 하나쯤은 바이트 레벨에서 이해하는 것이 향후 지식을 확장하는데 도움이 된다. 연필로 SHA를 풀어내는 미친사람도 있다…
  3. 암호학— 시중에 암호학 개론책을 간략히 훑는 것이 가장 좋으나, 시간이 안된다면 해시함수, 공개키 암호화 방식 부분만 집중적으로 볼 것을 추천.

비트코인과 블록체인 기초

  1. Bitcoin: A Peer-to-Peer Electronic Cash System(영문) : 블록체인의 성서와도 같은 논문. 블록체인은 여기서부터 시작됬다고 볼 수 있다. 처음은 조금 추상적이지만 읽을수록 이해가 깊어진다. 학문적으로 접근한다면 레퍼런스로 참조된 논문까지 읽으면 더 좋다.(특히 b-money, hashcash, bitstring, timestamp server등은 블록체인의 핵심 개념이 어떤 역사적인 맥락에서 파생되었는지 이해하는데 도움이 된다). 한글판
  2. 비트코인, 블록체인과 금융의 혁신(국문), 안드레아스 M.안토노폴리스, 최은실 김도훈 송주환 옮김. 고려대학교 출판문화원 — 국문 자료가 매우 부족한 현실에서, 번역도 괜찮고 기술적인 정리도 잘 된 책이다. 여러번 곱씹으면서 읽으면 좋다. 앞부분은 실제로 비트코인을 사용하는 방법으로 시작하여, 뒷부분은 기본적인 이론을 하나하나 훑고 있다. 특히 ‘스크립트(script)’에 대한 그림과 설명은 감동적.. 영문판은 무료
  3. Bitcoin hardway : Using Bitcoin Raw Protocol (영문)— 트랜잭션을 파이썬을 이용해 하드코딩한다. ‘바이트 레벨’에서 이해할 수 있다. 코드 실습을 이해하면서 따라해보면 비트코인 트랜잭션에 대한 이해가 높아진다. 처음 공부할 때 여기있는 파이썬 코드를 크게 프린트해서 한줄 한줄 파라미터에 넘어가는 바이트를 화이트보드에 써가면서 공부했던 기억이 있다..
  4. Bitcoin Mining the Hardway(영문) — 앞과 동일한 블로거. 마찬가지로 채굴의 원리를 바이트 레벨에서 이해 할 수 있다. 코드 따라해보면 참 좋음.

이더리움(Ethereum)

원리 및 개괄

  1. 이더리움 백서(영문판) — 비탈릭 뷰테린이 직접 쓴 이더리움의 개론문서. 상태 변화 함수로써의 비트코인과 이를 튜링 완전하게 만들고 이를 통해 어떠한 서비스 혹은 제품이 등장할 것인지를 예측한 비탈릭의 통찰이 가득하다. 코드레벨에서 공부하는 데에는 크게 도움이 안될 수 있지만, 기술이 생겨 뭔가 만들어 보려고 할 때 이 문서를 참조하지 않을 수 없다. 한글판도 있다
  2. 이더리움 황서(영문) — 가빈 우드가 만든 이더리움의 설계서. 비탈릭이 이더리움의 아버지라면, 가빈 우드는 어머니 같은 존재라고 볼 수 있다. 이더리움의 구체적인 스펙이 담겨있고, 이더리움 가상 머신(Ethereum Virtual Machine)의 저수준 스펙을 이해하는데 도움이 된다.
  3. 홈스티드 독(영문) — 최신버전인 홈스티드의 스펙과 주요 라이브러리에 대한 설명이 있다. 블록체인에 대한 기초적인 내용부터 응용 부분까지 상당히 방대한 내용을 담고 있다.

솔리디티

  1. 솔리디티 공식 독(영문)
  2. 모낙스 솔리디티 튜토리얼(영문)
  3. solidity baby step(영문)
  4. 솔리디티 코딩 가이드(국문) — 공식독을 번역중.. 완성본은 아니다.

솔리디티 보안

도구

  1. go-ethereum
  2. truffle

--

--