엔지니어를 위한 블록체인 프로그래밍
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
1~2부에서는 블록체인 기술과 비트코인 네트워크의 전체 구조를 간단히 파악한다. 3~4부에서는 이더리움을 활용한 스마트 계약 개발에 필요한 준비와 솔리디티(Solidity)의 기본 문법, 스마트 계약의 거래 형태별 예제 코드를 살펴본다.
마지막으로 이더리움 네트워크 관련 개발에 필요한 보안상 주의사항과 취약점 공격 사례 연구 등을 설명한다. 블록체인 애플리케이션 개발 실무에 필요한 지식을 빠르게 익히고 싶은 개발자라면 이 책이 분명 큰 도움이 될 것이다.
★ 주요 내용
●블록체인 구조와 이론
●비트코인 네트워크의 이해
●이더리움과 스마트 계약 개발
●솔리디티 기본 문법
●거래 형태별 예제 코드
●보안 취약점 공격 사례
작가정보
저자(글) 다고모리 데루히로
저자 다고모리 데루히로 田? 照博
앱 개발 엔지니어로 시작해 주로 웹앱 개발에 주력했다. 보안 엔지니어로 전직한 이후에는 웹앱, 모바일앱, 스마트 계약 등의 보안 진단 업무를 맡았다. 현재는 블록체인과 보안 관련 분야의앱 개발에 전념하고 있다.
역자 심효섭
연세대학교 문헌정보학과를 졸업하고 모교 중앙도서관과의 인연으로 도서관 솔루션 업체에서 일하게 되면서 개발을 시작했다. 네이버에서 웹 서비스 개발 업무를 맡았으며, 웹 서비스 외에 머신러닝에 대한 공부도 꾸준히 하고 있다. 최근 관심사는 회사에 속하지 않고도 지속 가능한 삶이다. 옮긴 책으로 『머신러닝 실무 프로젝트』(한빛미디어), 『딥 러닝 제대로 시작하기』, 『딥 러닝 제대로 정리하기』, 『엔지니어를 위한 파이썬』, 『그림과 수식으로 배우는 통통 머신러닝』, 『그림과 수식으로 배우는 통통 인공지능』(이상 제이펍) 등이 있다.
작가의 말
“블록체인의 구조는 다양한 암호기술을 기반으로 하다 보니 기존 애플리케이션보다 보안 수준
이 높다는 장점이 있다. 그러나 블록체인을 실제로 활용하려면 블록체인에서 작동하는 독자
적인 애플리케이션을 개발해야 하므로, 보안 대책을 충분히 갖추지 않고 출시를 서두르면 자칫 취약점을 공격받아 큰 피해를 볼 수 있다.
이 책은 블록체인을 안심하고 이용할 수 있는 보안 대책을 주로 다룬다. 특히 스마트 계약은 블록체인에서 실행할 수 있는 프로그램을 누구나 자유롭게 개발할 수 있다는 점에서 한층 보안 우려가 큰 분야다. 이 책이 여러분의 블록체인에 대한 이해와 안전한 블록체인 애플리케이션 개발에 조금이라도 도움이 되기를 바란다.”
목차
- 들어가며
지은이ㆍ옮긴이 소개
지은이의 말
옮긴이의 말
이 책의 구성
감사의 말
PART 1 블록체인과 관련 기술
CHAPTER 1 블록체인의 큰 그림
1.1 블록체인
-1.1.1 블록체인이란
-1.1.2 비트코인이란
1.2 비트코인 네트워크
1.3 이더리움
1.4 블록체인 네트워크의 구성 요소
-1.4.1 P2P
-1.4.2 참여자
-1.4.3 거래
-1.4.4 블록
-1.4.5 분산장부
-1.4.6 마이닝
CHAPTER 2 블록체인을 이해하는 암호기술
2.1 해시 함수
-2.1.1 SHA-256
-2.1.2 RIPEMD-160
-2.1.3 HASH160
2.2 공개키 암호
2.3 타원곡선 암호
-2.3.1 타원곡선
-2.3.2 덧셈
-2.3.3 곱셈
-2.3.4 비밀키와 공개키 생성 방법
2.4 디지털 서명
-2.4.1 디지털 서명과 검증 과정
PART 2 비트코인 네트워크
CHAPTER 3 화폐로 사용이 가능한 이유
3.1 소유자를 특정하는 열쇠와 자물쇠
3.2 송금 대상은 ‘어드레스’
-3.2.1 Base58Check 인코딩
-3.2.2 어드레스를 생성하는 과정
3.3 키를 관리하는 ‘전자 지갑’
3.4 전자 지갑의 종류
-3.4.1 PC에 존재하는 전자 지갑
-3.4.2 모바일 전자 지갑
-3.4.3 거래소 전자 지갑
-3.4.4 페이퍼 월릿
-3.4.5 하드웨어 월릿
CHAPTER 4 거래
4.1 거래의 생애주기
4.2 거래의 개요
-4.2.1 송금이 이루어지는 과정 사례
4.3 거래의 구조
-4.3.1 Locktime 필드
4.4 UTXO와 잔액
4.5 Locking Script와 Unlocking Script
-4.5.1 스크립트의 검증 과정
-4.5.2 거래 일부에 대한 서명
-4.5.3 Pay to Pubkey
-4.5.4 Pay to MultiSig
-4.5.5 Pay to Script Hash
-4.5.6 OP_RETURN
CHAPTER 5 블록과 블록체인
5.1 블록의 구조와 식별자
5.2 블록 안의 거래 검색하기
-5.2.1 머클 트리
CHAPTER 6 마이닝과 합의 알고리즘
6.1 비잔티움 장군 문제와 분산형 합의
6.2 작업증명
- 6.2.1 문제 풀기 = 논스 찾기
-6.2.2 무작위 대입으로 논스 찾기
-6.2.3 검증하기
-6.2.4 변조가 불가능한 이유
6.3 누적되는 거래
6.4 코인베이스 거래
6.5 체인 분기
-6.5.1 거래가 동시에 발행된 경우
6.6 51% 공격
PART 3 이더리움과 스마트 계약 개발
CHAPTER 7 이더리움과 비트코인 네트워크의 주된 차이점
7.1 이더리움의 특징
-7.1.1 유통되는 통화
-7.1.2 스마트 계약
-7.1.3 계정
-7.1.4 블록의 데이터 구조
-7.1.5 상태 변화
-7.1.6 계정과 연결된 정보
-7.1.7 거래, 메시지, 콜
-7.1.8 가스
7.2 네트워크의 종류
-7.2.1 퍼블릭 네트워크
-7.2.2 프라이빗 네트워크
-7.2.3 테스트 네트워크
CHAPTER 8 스마트 계약 개발 준비 및 솔리디티의 기본 문법
8.1 개발환경 구축
-8.1.1 게스 설치하기
-8.1.2 Genesis 블록 생성과 게스 실행하기
-8.1.3 계정 만들기
-8.1.4 게스 콘솔에서 많이 사용되는 명령어
8.2 미스트 월릿
-8.2.1 설치 및 실행하기(윈도우)
-8.2.2 설치 및 실행하기(macOS)
-8.2.3 미스트 월릿 애플리케이션
8.3 Remix-Solidity IDE
8.4 솔리디티의 언어 사양
-8.4.1 접근제어자
CHAPTER 9 용도별로 본 스마트 계약 예제
9.1 예제 1 - HelloEthereum
-9.1.1 새로운 계약 배포
-9.1.2 소스 코드 작성하고 생성자 정의하기
-9.1.3 계약 생성하기
-9.1.4 Provide maximum fee와 비밀번호 설정하기
-9.1.5 CONTRACTS 화면에서 다른 화면으로 이동하기
-9.1.6 거래 발행하기
-9.1.7 계약 정보 확인하기
-9.1.8 거래 실행하기
-9.1.9 미스트 월릿을 사용하여 거래 변경 내용 확인하기
9.2 예제 2 - 크라우드펀딩을 위한 계약
-9.2.1 계약 생성하기
-9.2.2 모금이 성공한 경우
-9.2.3 모금이 실패한 경우
9.3 예제 3 - 이름과 어드레스를 관리하는 계약
-9.3.1 동작 여부 확인
9.4 예제 4 - IoT 스위치를 제어하는 계약
-9.4.1 계약을 이용하는 과정
-9.4.2 동작 확인하기
9.5 예제 5 - 전자상거래 사이트를 위한 계약
9.6 예제 6 - 경매 서비스를 위한 계약
9.7 예제 7 - 추첨을 위한 계약
PART 4 스마트 계약의 보안
CHAPTER 10 스마트 계약 개발의 보안 실무
10.1 Condition-Effects-Interaction 패턴
10.2 Withdraw 패턴
-10.2.1 push형 송금 패턴
-10.2.2 pull형 송금 패턴
10.3 Access Restriction 패턴
-10.3.1 사례
10.4 Mortal 패턴
10.5 Circuit Breaker 패턴
CHAPTER 11 스마트 계약의 취약점과 공격 원리
11.1 재진입성 문제
-11.1.1 공격 대상 계약
-11.1.2 공격 계약
-11.1.3 전체 흐름
-11.1.4 각 어드레스의 역할
-11.1.5 재진입성 문제 실습하기
-11.1.6 이벤트 확인하기
-11.1.7 수정 후의 결과
11.2 TOD
11.3 Timestamp Dependence
11.4 중요 정보 취급
11.5 오버플로
CHAPTER 12 사례에서 배우는 블록체인 보안
12.1 솔리디티의 취약점
12.2 클라이언트 애플리케이션의 취약점과 키 관리
-12.2.1 주의할 점
출판사 서평
블록체인의 구조와 신뢰성 높은 스마트 계약 개발, 이더리움 보안 대책까지 한 권에
이 책은 최근 주목받는 기술인 블록체인을 활용하여 새로운 애플리케이션을 처음 개발해보려는 엔지니어를 위한 책이다. 이더리움 네트워크를 기반으로 스마트 계약을 개발할 때 당장 써먹을 수 있는 기본 개념과 활용법부터 보안 대책까지 차근히 짚어주는 실무 지침서다.
이 책은 블록체인의 각 요소기술을 직접 체험해보며 이해할 수 있는 전반부와 본격적인 보안 실무를 다루는 후반부로 구성된다. 특히 후반부는 이더리움 네트워크 기반의 스마트 계약 개발에 필요한 보안상 주의사항이나 취약점 공격 사례 연구, 대책 등 보안 관련 주제를 상당한 분량을 할애해 다룬다. 이 후반부를 통해 블록체인의 가능성을 좇는 엔지니어가 시행착오를 조금이라도 더 줄일 수 있도록 구성했다.
이 책만으로 스마트 계약 개발 실무에 완전히 숙달할 수는 없겠지만, 엔지니어 여러분의 스마트 계약에 관한 이해 기반을 단단히 해줄 것이다. 당장 현장에서 관련 개발 업무를 수행해야 하는 개발자에게 추천한다.
기본정보
ISBN | 9791162240694 | ||
---|---|---|---|
발행(출시)일자 | 2018년 06월 01일 | ||
쪽수 | 280쪽 | ||
크기 |
185 * 236
* 12
mm
/ 532 g
|
||
총권수 | 1권 | ||
원서명/저자명 | 堅牢なスマ-トコントラクト開發のためのブロックチェ-ン(技術)入門/田籠照博 |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립