본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

밑바닥부터 시작하는 비트코인 상세페이지

밑바닥부터 시작하는 비트코인작품 소개

<밑바닥부터 시작하는 비트코인>

비트코인 코어를 구현하면서 배우는 비트코인 이론과 실제

비트코인은 블록체인 기술의 집약체입니다. 이더리움, 이오스 같은 2, 3세대 블록체인은 비트코인을 바탕으로 확장, 발전한 개념입니다. 디앱 개발에서 머무르지 않고 블록체인 개발자로 성장하기 위해서는 ‘비트코인 코어’를 가장 먼저 배워야 합니다. 무한한 상상력을 블록체인 기술로 실현하려면 비트코인 코어의 구성 요소와 작동 원리를 이해하고 구현할 수 있어야 합니다.
이 책은 비트코인 코어의 구성요소를 파이썬으로 직접 구현하면서 비트코인 핵심을 깊이 이해할 수 있습니다. 유한체 기본부터 암호화폐를 이루는 수학과 암호학, 블록, 트랜잭션을 파헤치고 블록체인 결제 시스템까지 확장합니다. 이 책을 마치면 비트코인 코어에 필요한 핵심 요소를 직접 코딩하면서 암호화폐라는 무대 뒤에서 무엇이 어떻게 돌아가는지 알게 됩니다. 트랜잭션을 생성하고 P2P 네트워크에서 데이터를 가져와 네트워크 프로토콜에 따라 트랜잭션을 전파시킬 수 있습니다. 블록체인으로 응용프로그램이나 서비스를 개발하거나 이 분야에 처음 뛰어든 사람은 반드시 읽어야 하는 책입니다.


출판사 서평

이 책은 저자가 비트코인 개발자를 대상으로 진행한 강의를 바탕으로 완성됐습니다.
이 책으로 학습하면 저자의 비트코인 개발 강의를 간접적으로 듣는 셈입니다. 개발 환경은 주피터 노트북에서 파이썬으로 구현하므로 파이썬에 대한 이해가 선행돼야 합니다. 전체 14장 중 전반부는 비트코인을 이해하는 데 필요한 수학 개념을 설명하고, 중반부는 트랜잭션, 후반부는 블록과 네트워킹을 다룹니다.
유한체와 타원곡선을 설명하는 3장까지는 비트코인의 핵심인 트랜잭션 서명과 검증에 필요한 이론적 바탕을 제공합니다. 비트코인 구성 원리를 이해하는 데 꼭 필요한 만큼의 수학 개념을 설명하고 파이썬으로 풀어보는 연습문제로 비트코인 개발을 경험하는 것이 이 책의 가장 큰 장점입니다. 연습문제를 완벽히 소화할 수 있다면 독자 여러분도 비트코인 개발자로 들어가는 첫 관문을 통과하게 됩니다. 비트코인(블록체인)을 개발하는 개발자라면 누구나 읽어야 할 필독서입니다.



저자 소개

저자_ 송재준(Jimmy Song)
20년 경력 프로그래머로 지난 5년간 비트코인 프로그래머로 지냈다. 비트코인테크토크 편집자이며 『비트코인 매거진』에 기고하고 있다. 블록체인 캐피털의 벤처 파트너이면서 텍사스 대학교에서 이 책을 주제로 강의하고 있다. 비트코인 코어를 포함한 여러 비트코인 프로젝트에 기여했으며 비트코인 지갑으로 유명한 아머리 사 기술담당 부사장을 역임했다.

역자_ 류정필
한양대학교 학사, KAIST 석사(신경망 및 기계지능 연구실)를 마치고 프랑스의 텔레콤 파리에서 공학박사를 받았다. 이후 프랑스 CNES 우주센터에서 인공위성 통신 알고리즘을 연구했다. 귀국 후 삼성전자에서 방송/통신 알고리즘을 제품에 구현하는 업무를 수행했다. 2016년 말 연구 아이템을 검토하다가 비트코인을 알게 되었고 이 기술에 매료됐다. 최근 1년간 사내 자유 연구 제도 C랩을 통해 사물인터넷용 경량 블록체인 코어를 개발했다.

목차

CHAPTER 1 유한체

1.1 현대대수 학습
1.2 유한체 정의
1.3 유한집합 정의하기
1.4 나머지연산
1.5 유한체 덧셈과 뺄셈
1.6 유한체 곱셈과 거듭제곱
1.7 유한체 나눗셈
1.8 거듭제곱 메서드 수정
1.9 마치며

CHAPTER 2 타원곡선

2.1 정의
2.2 파이썬으로 타원곡선 코딩하기
2.3 두 점의 덧셈
2.4 점 덧셈 성질
2.5 점 덧셈 코딩하기
2.6 x1≠x2인 경우의 점 덧셈
2.7 x1≠x2인 경우의 점 덧셈 코딩하기
2.8 P1 = P2인 경우의 점 덧셈
2.9 P1 = P2인 경우의 점 덧셈 코딩하기
2.10 마지막 예외 처리 코딩하기
2.11 마치며

CHAPTER 3 타원곡선 암호

3.1 실수체에서 정의된 타원곡선
3.2 유한체에서 정의된 타원곡선
3.3 유한체에서 정의된 타원곡선 코딩하기
3.4 유한체에서 정의된 타원곡선 위 두 점의 덧셈
3.5 유한체에서 정의된 점 덧셈 코딩하기
3.6. 타원곡선 위 점의 스칼라 곱셈
3.7 스칼라 곱셈 특징
3.8 스칼라 곱셈으로 생성된 군의 성질
3.9 스칼라 곱셈 코딩하기
3.10 비트코인에서 사용하는 타원곡선
3.11 공개키 암호
3.12 서명 생성과 서명 검증
3.13 마치며

CHAPTER 4 직렬화

4.1 비압축 SEC 형식
4.2 압축 SEC 형식
4.3 DER 서명 형식
4.4 비트코인 주소 및 WIF 형식
4.5 비트코인에서 빅엔디언/리틀엔디언 변환
4.6 마치며

CHAPTER 5 트랜잭션

5.1 트랜잭션 구성요소
5.2 버전
5.3 입력
5.4 출력
5.5 록타임
5.6 트랜잭션 직렬화 코딩하기
5.7 트랜잭션 수수료
5.8 마치며

CHAPTER 6 스크립트

6.1 스크립트 기법
6.2 스크립트 실행
6.3 주요 연산자
6.4 스크립트 파싱
6.5 잠금/해제 스크립트의 결합
6.6 표준 스크립트
6.7 p2pk 스크립트
6.8 p2pk 스크립트의 문제점
6.9 p2pk 스크립트의 문제 해결
6.10 비표준 스크립트
6.11 마치며

CHAPTER 7 트랜잭션 검증과 생성

7.1 트랜잭션 검증
7.2 트랜잭션 생성
7.3 테스트넷 트랜잭션 생성과 전파
7.4 마치며

CHAPTER 8 p2sh 스크립트

8.1 다중서명
8.2 OP_CHECKMULTISIG 함수
8.3 다중서명의 문제점
8.4 p2sh 스크립트
8.5 p2sh 스크립트 코딩하기
8.6 마치며

CHAPTER 9 블록

9.1 코인베이스 트랜잭션
9.2 블록 헤더
9.3 작업증명
9.4 마치며

CHAPTER 10 네트워킹

10.1 네트워크 메시지
10.2 페이로드 파싱
10.3 네트워크 핸드셰이크
10.4 네트워크 접속
10.5 블록 헤더 요청
10.6 블록 헤더 응답
10.7 마치며

CHAPTER 11 단순 지급 검증

11.1 단순 지급 검증의 필요성
11.2 머클트리
11.3 머클부모
11.4 머클부모 레벨
11.5 머클루트
11.6 블록에서 머클루트 계산
11.7 머클트리 활용하기
11.8 머클블록
11.9 마치며

CHAPTER 12 블룸 필터

12.1 블룸 필터의 정의
12.2 BIP0037 블룸 필터
12.3 블룸 필터 설정
12.4 머클블록 입수
12.5 관심 트랜잭션 입수
12.6 마치며

CHAPTER 13 세그윗

13.1 p2wpkh 스크립트
13.2 p2wpkh 트랜잭션
13.3 p2sh-p2wpkh 스크립트
13.4 p2wpkh와 p2sh-p2wpkh 코딩하기
13.5 p2wsh 스크립트
13.6 p2sh-p2wsh 스크립트
13.7 p2wsh와 p2sh-p2wsh 코딩하기
13.8 기타 개선 사항
13.9 마치며

CHAPTER 14 고급 주제 및 다음 단계

14.1 주제 제안
14.2 오픈소스 기여
14.3 프로젝트 제안
14.4 마치며

부록
연습문제 해답


리뷰

구매자 별점

3.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

2명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전