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