블록체인은 참 여러 각도로 살펴봐야 한다. 트레이딩 관점으로도 볼 수 있고 화폐 경제학의 관점에서도 볼 수 있다. 그리고 암호화 분야의 신기술로도 볼 수 있고 미래 사회를 대표하는 기술로도 볼 수 있을 것이다. 따라서 공부하는 방법도 여러가지로 나뉜다. 미래를 상상하며 블록체인의 활용을 예측해 볼 것인가, 블록체인을 구현하는데 중점을 둘 것인가 생각해야 할 것이 많다. 이 책은 그런 여러 관점을 두루 묶은 책이다. 저자가 많다 보니 이런책이 나온 거 같다. 뷔페처럼 여러가지를 다 먹어보는 것도 좋지만 어느 한가지 깊이 있는 대목이 없는게 아쉽다.
가상화폐 비트코인의 핵심 기술로 세상에 알려진 블록체인은 현재 전 세계적으로 금융을 비롯해 제조, 유통, 공공, 의료 등 대부분의 산업군에서 블록체인 기반의 서비스를 앞다투어 도입하거나 검토하고 있다. 이 책은 블록체인 기술을 쉽게 설명하고 있어서 전반적인 블록체인 기술, 특히 프라이빗 블록체인에 대해 이해하기 좋은 책이다. 블록체인 도입을 검토하는 기획자부터 블록체인 기반의 시스템을 개발해야 하는 개발자까지 블록체인의 기본 개념을 익히려면 반드시 읽어봐야 할 책이다.
[1부] 기초편
▣ 1장: 프롤로그
1.1. 비트코인이 ‘반감기’를 맞이했다!?
1.2. 비트코인은 시스템 비용을 절감하는가
__1.2.1. 비트코인 유지 비용
__1.2.2. 비트코인 시스템의 처리 성능
__1.2.3. 사실은 비싼 비트코인
1.3. 혁신은 사업 계획에 있다
1.3.1. 블록체인의 본질에 대한 이해
▣ 2장: 블록체인의 흐름
2.1. 시작은 비트코인
__2.1.1. 비트코인의 탄생
__2.1.2. 비트코인의 평판
__2.1.3. 블록체인 기술에 대한 주목
2.2. 핀테크로서의 블록체인 기술
2.3. 시스템 개발 기술로서의 블록체인
▣ 3장: 블록체인 기술이란?
3.1. 블록체인과 비트코인
3.2. 분산 원장을 지원하는 기술
__3.2.1. 분산 원장이란
__3.2.2. 분산 원장의 이점
__3.2.3. 분산 원장의 단점
3.3. 블록체인이 널리 퍼질 가능성
▣ 4장: 블록체인 기술의 응용
4.1. 블록체인의 특징
4.2. 결제 및 거래에서의 응용
__4.2.1. 가상 화폐
__4.2.2. 송금?결제
__4.2.3. 무역 금융
__4.2.4. 자금 조달
__4.2.5. 마켓플레이스
__4.2.6. 전력시장
__4.2.7. 영상 콘텐츠 서비스
4.3. 서명 및 증명에서의 응용
__4.3.1. 저작권 관리
__4.3.2. 고액 물품 거래 추적
__4.3.3. 계약 관리 및 실행
__4.3.4. 문서 공증
4.4. 신규 서비스 응용
4.4.1. IoT
4.4.2. 투표54
4.5. 기타 응용 사례
4.6. 이후 과제
▣ 5장: 블록체인 업계 동향
5.1. 금융 분야
__5.1.1. 해외 은행
__5.1.2. 일본 은행
__5.1.3. 금융 상품 거래소
__5.1.4. 중앙은행
__5.1.5. 기타 금융 분야
5.2. 공공 분야
__5.2.1. 에스토니아 정부 동향
__5.2.2. 영국 정부 동향
__5.2.3. 미국 정부 동향
__5.2.4. 일본 정부 동향
5.3. 기타 분야
__5.3.1. 제조업계 동향
__5.3.2. 학술업계 동향
__5.3.3. 업계 단체 동향
__5.3.4. 기타 기업?단체 동향
[2부] 이론편
▣ 6장: 블록체인 구조
6.1. 비트코인 구조
__6.1.1. 비트코인의 목적
__6.1.2. 비트코인 구현 방법
__6.1.3. 비잔티움 장군 문제
__6.1.4. 비트코인의 처리 흐름
6.2. 블록체인 기술의 구성 요소와 분류
__6.2.1. 비트코인 이외의 블록체인 기반 기술
__6.2.2. 블록체인 기술 구성 요소
__6.2.3. 블록체인 기반 기술의 분류
6.3. 블록체인 기반 기술 비교
__6.3.1. 아키텍처 비교
__6.3.2. 데이터 모델 비교
▣ 7장: P2P 네트워크
7.1. P2P 네트워크 개요
7.2. P2P 네트워크 설계
__7.2.1. 퓨어 P2P와 하이브리드 P2P
__7.2.2. 비 구조화 오버레이와 구조화 오버레이
__7.2.3. 블록체인 기반 기술 분류
7.3. P2P 네트워크에 따른 블록체인의 동작(개요)
7.4. P2P 네트워크에 따른 블록체인의 동작(상세)
__7.4.1. P2P 네트워크에서 다른 노드와의 연계
__7.4.2. 데이터(블록) 송수신
7.5. 향후 과제
▣ 8장: 합의 알고리즘
8.1. 합의 알고리즘이란?
8.2. 계산량에 따른 증명(Proof of Work)의 문제점
8.3. 합의 알고리즘의 종류
__8.3.1. 대표적인 합의 알고리즘
__8.3.2. 분산 시스템의 장애 모델
8.4. 각 합의 알고리즘의 특징
8.5. 이후의 과제
▣ 9장: 전자 서명과 해시
9.1. 전자 서명을 통한 위조 및 변조 방지
__9.1.1. 전자 서명 개요
__9.1.2. 블록체인에서 전자 서명 이용
9.2. 해시를 통한 위조 및 변조 방지
__9.2.1. 해시 개요
__9.2.2. 블록체인에서 해시 이용
9.3. 향후 과제
__9.3.1. 암호 기술로서의 과제
__9.3.2. 기업 이용에 있어서의 과제
▣ 10장: 이용에 있어서의 과제
10.1. 적용 영역의 확대와 블록체인 기반 기술
10.2. 엔터프라이즈 영역에서 풀어야 할 과제
10.3. 엔터프라이즈 이용에 남은 과제
[3부] 실천편
▣ 11장: Bitcoin Core
11.1. 비트코인과 Bitcoin Core
__11.1.1. Bitcoin Core란?
__11.1.2. Bitcoin Core 작동
11.2. Bitcoin Core 설치부터 기동까지
__11.2.1. Bitcoin Core 설치
__11.2.2. 테스트넷에서 기동
11.3. Bitcoin Core 조작
__11.3.1. 블록 생성
__11.3.2. 블록 수 확인
__11.3.3. 계좌 생성
__11.3.4. 잔고 확인
__11.3.5. 송금
__11.3.6. 채굴
__11.3.7. 송금 확인
▣ 12장: 이더리움
12.1. 이더리움 개요
__12.1.1. 이더리움이란?
__12.1.2. 이더리움 구동
__12.1.3. 이더리움 설치
__12.1.4. 테스트 네트워크 구축
__12.1.5. 계좌 생성
__12.1.6. 잔고 확인
__12.1.7. 블록 수 확인
__12.1.8. 송금
__12.1.9. 송금 확인
__12.1.10. geth 정지
12.2. Contract를 사용한 샘플 개발
__12.2.1. 이더리움 확장 기능
__12.2.2. 이더리움 프로그래밍
__12.2.3. 개발 도구 준비
__12.2.4. browser-solidity 기동
__12.2.5. Contract 작성
__12.2.6. Contract 배포
__12.2.7. 테스트 데이터 입력
__12.2.8. HTML 파일 작성
__12.2.9. 연결 대상 및 사용자 정보 설정
__12.2.10. 샘플 응용 프로그램 실행
__12.2.11. 블록 상태 모니터링 도구 작성
▣ 13장: Hyperledger Fabric
13.1. Hyperledger Fabric 개요
__13.1.1. Hyperledger Project와 Hyperledger Fabric
__13.1.2. 멤버십 서비스
__13.1.3. 합의 알고리즘
__13.1.4. Fabric의 ‘원장’
__13.1.5. 체인 코드
__13.1.6. Validating Peer
__13.1.7. Hyperledger Project와 Hyperledger Fabric의 정보 소스
13.2. Hyperledger Fabric 구동
__13.2.1. 개발 환경 설정
__13.2.2. 가상 머신에 접속
__13.2.3. 개발 모드로 실행
__13.2.4. CA 서버 기동
__13.2.5. Validating Peer 기동
__13.2.6. 체인 코드 프로세스 기동
__13.2.7. 로그인
__13.2.8. 배포 트랜잭션 실행
__13.2.9. Invoke 트랜잭션 실행
__13.2.10. Query 트랜잭션 실행
13.3. 체인 코드를 사용한 샘플 개발
__13.3.1. 실행 환경
__13.3.2. 개발 도구 준비
__13.3.3. 체인 코드 작성
__13.3.4. HTML 파일 작성
__13.3.5. 도커 이미지 생성
__13.3.6. Docker Compose 설정 파일 편집
__13.3.7. Docker Compose에서 기동
__13.3.8. 샘플 응용 프로그램 실행
__13.3.9. 모니터링 도구 작성
▣ 14장: 에필로그
14.1. The DAO Attack 사건과 하드 포크 문제
__14.1.1. 사건의 개요와 논점
__14.1.2. The DAO Attack 사건의 교훈
14.2. 블록체인 사용 [방법론]
▣ 특별부록: Hyperledger Fabric v1.0
A.1. Overview
1.1. 시스템 아키텍처
__1.1.1. 트랜잭션
__1.1.2. 블록체인 데이터 구조
__1.1.3. 노드
__1.1.4. 트랜잭션의 흐름
A.2. Fabric 네트워크 구성하기
2.1. 사전 준비 사항
2.2. Hyperledger Fabric 소스 받기 및 빌드
2.3. Fabric 네트워크 부트스트랩을 위한 준비
__2.3.1. Crypto Generator
__2.3.2. Configuration Transaction Generator
__2.3.3. 설정파일 준비
__2.3.4. 인증서 및 아티팩트 생성
A.3. Fabric 네트워크 시작
3.1. 채널 생성
3.2. 채널에 피어 참여
__3.2.1. Peer0.org1
__3.2.2. Peer1.org1
__3.2.3. Peer0.org2
__3.2.4. Peer1.org2
3.3. Anchor 피어 설정
3.4. 체인코드 디폴로이 및 동작 확인
__3.4.1. 체인코드 디플로이
__3.4.2. 체인코드 초기화
__3.4.3. Query
__3.4.4. Invoke
__3.4.5. Query
A.4. CouchDB 사용하기
A.5. 정리하며