메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

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

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

한빛미디어

번역서

절판

  • 저자 : 다고모리 데루히로
  • 번역 : 심효섭
  • 출간 : 2018-06-01
  • 페이지 : 280 쪽
  • ISBN : 9791162240694
  • eISBN : 9791162249581
  • 물류코드 :10069
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.7점 (3명)
좋아요 : 14

책소개

이더리움 기반 스마트 계약 개발에 당장 써먹는 블록체인 애플리케이션 실무 지침서 

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

1~2부에서는 블록체인 기술과 비트코인 네트워크의 전체 구조를 간단히 파악한다. 3~4부에서는 이더리움을 활용한 스마트 계약 개발에 필요한 준비와 솔리디티(Solidity)의 기본 문법, 스마트 계약의 거래 형태별 예제 코드를 살펴본다. 마지막으로 이더리움 네트워크 관련 개발에 필요한 보안상 주의사항과 취약점 공격 사례 연구 등을 설명한다. 

블록체인 애플리케이션 개발 실무에 필요한 지식을 빠르게 익히고 싶은 개발자라면 이 책이 분명 큰 도움이 될 것이다.

 

 

블록체인의 구조와 신뢰성 높은 스마트 계약 개발, 이더리움 보안 대책까지 한 권에

이 책은 최근 주목받는 기술인 블록체인을 활용하여 새로운 애플리케이션을 처음 개발해보려는 엔지니어를 위한 책이다. 이더리움 네트워크를 기반으로 스마트 계약을 개발할 때 당장 써먹을 수 있는 기본 개념과 활용법부터 보안 대책까지 차근히 짚어주는 실무 지침서다. 

 

이 책은 블록체인의 각 요소기술을 직접 체험해보며 이해할 수 있는 전반부와 본격적인 보안 실무를 다루는 후반부로 구성된다. 특히 후반부는 이더리움 네트워크 기반의 스마트 계약 개발에 필요한 보안상 주의사항이나 취약점 공격 사례 연구, 대책 등 보안 관련 주제를 상당한 분량을 할애해 다룬다. 이 후반부를 통해 블록체인의 가능성을 좇는 엔지니어가 시행착오를 조금이라도 더 줄일 수 있도록 구성했다.

 

이 책만으로 스마트 계약 개발 실무에 완전히 숙달할 수는 없겠지만, 엔지니어 여러분의 스마트 계약에 관한 이해 기반을 단단히 해줄 것이다. 당장 현장에서 관련 개발 업무를 수행해야 하는 개발자에게 추천한다.

저자소개

다고모리 데루히로 저자

다고모리 데루히로

앱 개발 엔지니어로 시작해 주로 웹앱 개발에 주력했다. 보안 엔지니어로 전직한 이후에는 웹앱, 모바일앱, 스마트 계약 등의 보안 진단 업무를 맡았다. 현재는 블록체인과 보안 관련 분야의앱 개발에 전념하고 있다.

심효섭 역자

심효섭

연세대학교 문헌정보학과를 졸업하고 모교 중앙도서관과의 인연으로 도서관 솔루션 업체에서 일하면서 개발을 시작했다. 네이버에서 웹 서비스 개발 업무를 맡았으며, 웹 서비스 외에 머신러닝 공부도 꾸준히 하고 있다. 최근 관심사는 회사에 속하지 않고 지속 가능한 삶이다. 옮긴 책으로는 『돈 되는 파이썬 인공지능 프로그래밍』(위키북스, 2021), 『처음 시작하는 딥러닝』(한빛미디어, 2020), 『파이썬으로 시작하는 컴퓨터 과학 입문』(인사이트, 2017), 『도메인 주도 설계 철저 입문』(위키북스, 2020) 등이 있다.

 

목차

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 주의할 점

독자리뷰

오탈자 보기

부록/예제소스

추천도서

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
엔지니어를 위한 블록체인 프로그래밍
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
엔지니어를 위한 블록체인 프로그래밍
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
엔지니어를 위한 블록체인 프로그래밍
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?