본문 바로가기

리디북스 접속이 원활하지 않습니다. 새로 고침(F5)해주세요.
계속해서 문제가 발생한다면 리디북스 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

RIDIBOOKS

리디북스 검색

최근 검색어

'검색어 저장 끄기'로 설정되어 있습니다.


리디북스 카테고리



엔지니어를 위한 블록체인 프로그래밍 상세페이지

컴퓨터/IT 개발/프로그래밍

엔지니어를 위한 블록체인 프로그래밍

이더리움 기반 신뢰성 높은 스마트 계약 개발하기

구매종이책 정가26,000
전자책 정가20,800(20%)
판매가20,800
엔지니어를 위한 블록체인 프로그래밍

책 소개

<엔지니어를 위한 블록체인 프로그래밍> 이더리움 기반 스마트 계약 개발에 당장 써먹는 블록체인 애플리케이션 실무 지침서

이 책의 대상 독자는 블록체인을 활용하여 새로운 애플리케이션을 개발하려는 엔지니어다. 특히 안심하고 블록체인을 이용할 수 있는 보안 대책을 주로 다룬다.
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 주의할 점


리뷰

구매자 별점

4.5

점수비율

  • 5
  • 4
  • 3
  • 2
  • 1

2명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

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

‘구매자’ 표시는 유료 도서를 결제하고 다운로드하신 경우에만 표시됩니다.

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

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



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


spinner
모바일 버전