장바구니 담기 close

장바구니에 상품을 담았습니다.

파이썬으로 배우는 블록체인 구조와 이론

파이썬으로 배우는 블록체인 구조와 이론

  • 조성현
  • |
  • 위키북스
  • |
  • 2019-05-02 출간
  • |
  • 324페이지
  • |
  • 188 X 240 X 18 mm
  • |
  • ISBN 9791158391515
판매가

27,000원

즉시할인가

24,300

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
24,300

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평



★ 이 책에서 다루는 내용 ★

◎ 블록체인을 안전하게 구축하는 데 필요한 암호 기술인 대칭키, 공개키 암호, 해시, 전자서명의 이론과 실습
◎ 지갑 애플리케이션에서 개인키, 공개키, 주소를 만드는 방법과 트랜잭션을 생성하는 원리, 채굴의 동작 원리에 대한 이론과 실습
◎ P2P 프로토콜의 종류와 구조 분석, 노드 간 주고받는 메시지의 모니터링
◎ 오픈소스 프로그램을 통한 블록체인 데이터베이스의 구조 및 내용을 분석하는 방법과 실습


목차


▣ 1장: 비트코인 네트워크의 개요
1.1. 비트코인의 탄생
1.2. 암호화폐의 역사
__암호화폐의 주요 이슈
__비트코인은 기존 암호화폐 아이디어의 종합체
1.3. 블록체인 기술의 의의
__중재자 없는 자유로운 거래 실현
__화폐, 계약서, 증명서 등 디지털 대상의 다양화
__사용자 증가에 따른 새로운 가치 창출
1.4. 블록체인이 가지고 올 비즈니스 혁신
__블록체인의 비즈니스 활용
__스마트 컨트랙트와 비즈니스의 결합
1.5. P2P 네트워크
__서버-클라이언트 네트워크
__P2P 네트워크
1.6. 비트코인 네트워크의 구성원
1.7. 각 노드의 기능
__풀 블록체인 노드(풀 노드)
__Lightweight 노드(SPV 노드)
__채굴자 노드
__서드파티 API 클라이언트
1.8. 참여자 노드 현황 관찰
1.9. 블록체인의 구조
1.10. 블록체인 데이터 확인
1.11. 블록의 크기 제한과 비트코인의 확장성
__비트코인의 확장성 문제
__세그윗과 비트코인 캐시의 탄생
1.12. 비트코인 지갑과 지갑 주소
__일반 사용자의 지갑
__개발자, 전문가 측면의 지갑
1.13. 트랜잭션(Transaction) 생성
__트랜잭션 생성
__블록체인과 트랜잭션 체인
1.14. 트랜잭션 전송
__나영이가 풀 노드일 때
__나영이가 SPV 노드일 때
__나영이가 서드파티 API 클라이언트일 때
__실제 트랜잭션 사례
1.15. 채굴
__블록 데이터 구조
__채굴 과정

▣ 2장: 암호 기술
2.1. 암호의 역사
__고대 암호
__근대 암호
2.2. 암호문의 요건
__혼돈(Confusion) 과정
__확산(Diffusion) 과정
2.3. 대칭키 기반 암호기술
__동작 방식
__블록 암호 방식(Block Cipher)
__스트림 암호 방식(Stream Cipher)
__Data Encryption Standard(DES) 알고리즘
__Advanced Encryption Standard(AES) 알고리즘
2.4. 대칭키 암호 절차 실습(AES)
__대칭키 기반 암호 방식의 문제점
2.5. 공개키 기반 암호기술
__동작 방식
__RSA 알고리즘
__Diffie-Hellman Key 교환 알고리즘(DHKE)
__Elgamal 알고리즘
__Square-and-Multiply 알고리즘(공개키 계산)
__타원곡선암호 알고리즘(Elliptic Curve Cryptography: ECC)
__덧셈 연산자(Addition operator)
__덧셈 연산자 연습
__개인키, 공개키 생성
__Double-and-Add 알고리즘
2.6. 해시(Hash) 알고리즘
__해시 함수의 조건
__해시 알고리즘의 종류
__비트코인에 적용된 해시 함수
2.7. 전자서명(Digital Signature)
__타원곡선 전자서명 알고리즘(ECDSA)

▣ 3장: 지갑(Wallet)
3.1. 비트코인 지갑 주소
__키와 지갑 주소
3.2. 개인키(Private Key)
__타원곡선암호의 표준 문서
__랜덤 넘버 생성기(Random Number Generator: RNG)
__Base58Check 인코딩
__Wallet Import Format(WIF)
3.3. 공개키(Public Key)
__공개키 생성
__공개키 유형
__공개키 포맷 변환
3.4. 지갑 주소(Address)
__지갑 주소 생성과정
__메인넷(Mainnet)과 테스트넷(Testnet)
__버전 프리픽스(Version prefix)
3.5. 지갑 주소 관리
3.6. 지갑의 백업 관리
__백업 방식
__개인키 유실
__브레인 월렛(Brain Wallet)
__베니티 월렛(Vanity Wallet)
3.7. 지갑의 유형과 키 관리
__비결정적 방식의 지갑(Non-deterministic Wallet)
__결정적 방식의 지갑(Deterministic Wallet)
3.8. 계층 구조의 결정적 방식(Hierarchical Deterministic Wallets: HD Wallets, BIP-32)
__HD 지갑의 구조
__활용 케이스
3.9. 니모닉 코드(Mnemonic Code: BIP-39)

▣ 4장: 트랜잭션(Transaction)
4.1. 트랜잭션의 구조
__이중 지급 문제
__트랜잭션 데이터 구조
__필드 크기(Bytes)
__입력부의 Script Sig 구조
__바이트 오더(Byte order)
__직렬화(Serialization)
__트랜잭션 ID
4.2. 전자서명 생성
__전자서명 생성 절차
__해시타입(Hash Type)
__크라우드 펀딩
__백지수표
__더스트 콜렉터(Dust collector)
4.3. 전자서명 검증
__검증 스크립트 생성
__스크립트 검증 절차
__원시 데이터와 검증 스크립트
4.4. UTXO 조회 실습
4.5. 트랜잭션 생성 및 송금
__테스트용 지갑 주소 생성
__초기 잔액 확보
__코드 실행
__송금 결과 확인
4.6. 적정 거래 수수료
4.7. 트랜잭션 가변성(Transaction Malleability)
__트랜잭션 가변성 사례 분석
__가능한 공격 시나리오
4.8. 다중 서명(MultiSig)
__스크립트 구조
__스크립트 검증
4.9. Pay-to-Script Hash(P2SH)
4.10. P2SH 지갑 주소 생성
__다중 서명용 지갑 주소 생성 절차
__P2SH와 P2PKH의 거래 예시
__리딤 스크립트 디코딩
__스크립트 검증
4.11. P2SH 지갑 생성 및 트랜잭션 생성 실습
__코드 실행
__송금 결과 확인
4.12. 세그윗(Segregated Witness: SegWit)
__세그윗 개요
__세그윗 트랜잭션 사용량
4.13. 세그윗과 위트니스 머클 트리
__위트니스용 머클 트리
__코인베이스 트랜잭션의 출력부
4.14. 세그윗 트랜잭션
__세그윗 트랜잭션의 구조
__서명 검증
4.15. Bech32 주소
__트랜잭션 사례
__오류 검출
__Bech32 주소 형식

▣ 5장: 채굴(Mining)
5.1. 블록 헤더의 구조
5.2. 버전(version)
5.3. 해시 난이도
__타깃 비츠(Target Bits)
__채굴 난이도 지표(Difficulty)
__블록 해시 확인
5.4. 해시 난이도 조절(Retarget)
__타깃 값 설정 규칙
5.5. 머클 트리(Merkle Tree)와 머클 루트(Merkle Root)
5.6. 엑스트라 논스(Extra Nonce)
5.7. 채굴 절차 흐름도
5.8. 해시 파워(Hash power)
__해시 파워와 채굴 난이도
5.9. 비트코인 발행량
__디플레이션 화폐
__미국 달러 발행량과 비트코인 발행량 비교
5.10. 수수료와 최적 블록 사이즈
__채굴자 입장
__일반 사용자 입장
__시장의 균형
5.11. 솔로 마이닝(Solo Mining)과 풀 마이닝(Pool Mining)
__솔로 마이닝
__풀 마이닝
__보상 분배 방식
5.12. 블록체인의 분기
__블록체인의 일시적 분기
__트랜잭션의 최종 승인(Confirmation)
__하드포크(Hard Fork)와 소프트포크(Soft Fork)
__네트워크 분리와 새로운 코인의 탄생

▣ 6장: 비트코인 P2P 프로토콜
6.1. 패킷 분석기 소개 - 와이어샤크(WireShark)
6.2. 노드 관리 메시지
__version, verack 메시지
__getaddr, addr 메시지
__ping, pong 메시지
6.3. 블록 데이터 동기화
__블록 우선(Block-first) 동기화 방식
__블록 우선 방식의 문제점
__헤더 우선(Headers-first) 동기화 방식
6.4. 신규 블록 데이터 릴레이
__이전 방식의 블록 전송
__현재 방식의 블록 전송
__저대역폭 릴레이(Low Bandwidth Relaying)
__고대역폭 릴레이(High Bandwidth Relaying)
6.5. 트랜잭션 릴레이
6.6. 기타 메시지
__Reject 메시지
__Feefilter 메시지
__Mempool 메시지
__Notfound 메시지
__패널티 부여 및 노드 차단
6.7. SPV 노드 - Simplified Payment Verification
__블룸 필터(Bloom Filter)
__비주얼 스튜디오 내려받기
__SPV와 블룸 필터
__필터로드(filterload) 메시지
__머클 블록과 트랜잭션 검증

▣ 7장: 비트코인 코어(Bitcoin Core)
7.1. 비트코인 코어 설치
__프로그램 내려받기 및 설치
__환경 설정
7.2. 비트코인 코어 실행
7.3. 블록체인 데이터 파일 구성
__블록체인 데이터
__UTXO set 데이터
__지갑 데이터
7.4. 키와 주소 확인
7.5. 비트코인 코어 클라이언트
__비트코인 코어 클라이언트
__블록 데이터 조회
__트랜잭션 데이터 조회
7.6. 비트코인 코어 원격 프로시저 호출(RPC)
__블록 데이터 조회
7.7. RPC 기능을 활용한 블록체인 분석 예시
__분석 예시-1: 블록 생성 시간의 분포 분석
__분석 예시-2: 블록당 트랜잭션 개수의 분포 분석
__분석 예시-3: 기간에 따른 난이도의 변화 관찰
__분석 예시-4: 메모리 풀(MemPool)에 저장된 트랜잭션 조회
__분석 예시-5: 인근 피어(peer) 정보 확인
__분석 예시-6: 채굴자의 트랜잭션 선택 전략 확인
7.8 RPC 메서드 목록
__블록체인 관련 RPCs
__컨트롤 RPCs
__마이닝 RPCs
__네트워크 RPCs
__트랜잭션 RPCs
__유틸리티 RPCs
__지갑 RPCs

도서소개


 

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.