본문 바로가기

도서 소개

마스터링 이더리움: 스마트 컨트랙트 및 댑 구축하기

 

이 책은 현재 절판입니다. 그간 읽어주신 독자들께 감사드립니다.
아울러 개정판은 출간 계획이 없음을 안내해 드립니다.

《Mastering Bitcoin》과 함께 블록체인 개발자의 필독서!

이더리움 개발을 위한 최고의 리소스!

 

도서 구매 사이트(가나다 순)

[강컴] [교보문고] [도서11번가] [반디앤루니스] [알라딘] [영풍문고] [예스이십사] [인터파크]

 

출판사 제이펍
저작권사 O’Reilly Media
원서명 Mastering Ethereum: Building Smart Contracts and DApps(원서 ISBN: 9781491971949)
저자명 안드레아스 M. 안토노풀로스, 개빈 우드
역자명 박성훈, 류길성, 강동욱
감수자명 정우현
출판일 2019년 5월 23일
페이지 488쪽
시리즈 (없음)
판 형 46배판변형(188*245*22)
제 본 무선(soft cover)
정 가 30,000원
ISBN 979-11-88621-60-6 (93000)
키워드 이더리움 클라이언드 / 스마트 컨트랙트 / 스마트 계약 / 지갑 / 월렛 / 토큰 / 오라클 / 솔리디티 / 트랜잭션 / 블록체인 / DApp / 댑 / 디앱
분야 컴퓨터공학 / 전자상거래 / 암호기술
 

관련 사이트

저작권사 도서소개 페이지

아마존 도서소개 페이지

이더리움 공식 사이트

 

관련 포스트

2019/05/14 - [출간전 책소식] - 블록체인 개발자의 필독서, 《마스터링 이더리움》

 

 

관련 시리즈

■ (없음)

 

관련 도서

코어 이더리움 프로그래밍: 블록체인, 이더리움 핵심에서 암호화폐 구축을 위한 스마트 컨트랙트 개발까지

하이퍼레저 패브릭으로 배우는 블록체인

 

관련 파일 다운로드

예제 코드 다운로드(깃헙)

■ 부록 F 단축 URL 모음

부록F_짧은링크참고.pdf

 

 

 

 

강의보조자료 다운로드

교재로 채택하신 분들은 메일을 보내주시면 아래의 자료를 보내드리겠습니다: jeipubmarketer@gmail.com

■ 본문의 그림과 표

 

샘플 PDF

(차례, 감수자의 글, 옮긴이 머리말, 이 책에 대하여, 베타리더 후기, 1장 '이더리움이란 무엇인가' 전체, 4장 '암호학' 일부, 10장 '토큰' 일부)

마스터링이더리움_sample.pdf

 

정오표 페이지

https://jpub.tistory.com/983

 

도서 구매 사이트(가나다 순)

[강컴] [교보문고] [도서11번가] [반디앤루니스] [알라딘] [영풍문고] [예스이십사] [인터파크]

 

도서 소개

《Mastering Bitcoin》과 함께 블록체인 개발자의 필독서!

이더리움 개발을 위한 최고의 리소스!

 

이더리움은 전 세계 탈중앙화된 컴퓨팅 패러다임의 게이트웨이다. 이더리움 플랫폼을 사용하면 개방된 블록체인에서 작동하고, 지불 네트워크와 결합한 탈중앙화 애플리케이션(DApps)과 스마트 컨트랙트를 실행할 수 있다. 이러한 애플리케이션은 중앙 통제 없이 자율적으로 운영되고, 시스템 기능을 정지시킬 수 있는 장애 요소가 없다. 이 실용적인 안내서에는 이더리움 및 기타 가상 머신 블록체인에서 스마트 컨트랙트 및 댑을 구축하는 데 필요한 모든 정보가 담겨 있다.

 

아울러 IBM, Microsoft, NASDAQ을 비롯한 수백 곳의 기관에서 왜 이더리움에 관심을 가지는지 그 이유를 살펴보기 바란다. 그리고 이 필수 안내서를 통해서는 흥미진진한 블록체인 산업에서 여러분이 혁신자로서 필요한 다음의 기술을 습득하기 바란다.

 

이 책의 주요 내용

  • 이더리움 클라이언트 실행, 기본 거래 생성 및 전송, 스마트 컨트랙트 프로그램 작성하기
  • 공개키 암호화, 해시, 디지털 서명의 핵심 이해하기
  • 자금 및 스마트 컨트랙트를 제어하는 지갑(Wallet)의 디지털 키 보관 방법 학습하기
  • 자바스크립트 라이브러리와 원격 프로시저 호출 인터페이스를 사용한 이더리움 클라이언트와의 상호작용 이해하기
  • 실제 사례를 통한 보안 모범 사례, 디자인 패턴, 안티패턴 학습하기
  • 자산, 공유, 투표 또는 엑세스 제어 권한을 나타내는 토큰 생성하기
  • 다중 피어투피어(P2P) 구성 요소를 이용한 탈중앙화된 애플리케이션 구축하기

 

추천사

나는 《마스터링 이더리움》이 다루는 범위 및 접근 가능성에 대해 매우 놀랐다. 강력히 추천한다.

_ 알렉스 반 디 산데(Alex Van de Sande), 이더리움 파운데이션 디자이너

 

《마스터링 이더리움》은 비트코인과 블록체인 기술을 수많은 잠재 고객이 이용할 수 있게 하는 표준 참고 자료이자, 이더리움 월드 컴퓨터에서 《Mastering Bitcoin》 책과 같은 역할을 한다.

_ 레인 레티그(Lane Rettig), 이더리움 코어 개발자

 

지은이 소개

안드레아스 M. 안토노풀로스(Andreas M. Antonopoulos)

베스트셀러 작가이자 연사이자 교육자이며, 세계 최고의 비트코인 및 개방형 블록체인 전문가 중 한 명이다. 그는 복잡한 주제를 매우 쉽게 이해시키는 재능을 갖고 있다.

 

개빈 우드(Dr. Gavin Wood)

이더리움의 공동 설립자이자 전 CTO이며, 솔리디티 계약 지향 언어의 발명가다. 또한 Web3 파운데이션(Web3 Foundation)의 설립자이며, 패리티 테크놀로지(Parity Technologies)의 설립자 겸 선임 개발자이기도 하다.

 

옮긴이 소개

박성훈

삼성SDS 소프트웨어 아키텍트로서 KT, 삼성전자, 한국철도공사, 삼성인력개발원 등 다양한 프로젝트에 참여하였다. 저서로는 《자바 기반의 마이크로서비스 이해와 아키텍처 구축하기》가 있다.

 

류길성

삼성SDS 테크니컬 아키텍트로서 삼성전자, 한국철도공사, 국세청 등 다양한 프로젝트에 참여하였다. 지금은 사내 블록체인 프로젝트를 수행 중이며, 이더리움, 하이퍼레저 패브릭 등 블록체인 시스템 아키텍처 설계 및 구축 업무를 담당하고 있다.

 

강동욱

삼성SDS 소프트웨어 아키텍트로서 ING생명, 삼성카드, 보험 ERP 등 주로 금융권 대형 차세대 프로젝트를 수행하였다.

 

감수자 소개

정우현

현재 한국 이더리움 사용자 그룹의 운영자이며, 2014년부터 서울 이더리움 밋업 운영을 비롯한 여러 블록체인 커뮤니티 활동을 활발하게 해왔다. 미국에서 20년간 이커머스 솔루션및 시스템 인테그레이션 사업을 해오다 비트코인과 이더리움을 접하면서 탈중앙화된 블록체인의 매력에 빠져들면서 2018년에 아톰릭스 컨설팅을 설립해 이더리움 생태계 확장을 위한 사업에 전념하고 있다. 서울대 언론정보학과를 졸업하였으며, 텍사스주립대(오스틴) 박사 과정을 수료하였다.

 

차례

CHAPTER 1 이더리움이란 무엇인가? 1

비트코인과의 비교 2

블록체인 구성요소 2

이더리움의 탄생 3

이더리움 개발의 4단계 6

이더리움: 범용 블록체인 7

이더리움의 구성요소 8

이더리움과 튜링 완전 9

범용적인 블록체인에서 탈중앙화 애플리케이션(DApp)으로 12

제3세대 인터넷 12

이더리움의 개발 문화 13

왜 이더리움을 배우나? 14

이 책을 통해 배울 수 있는 것들 15

더보기

CHAPTER 2 이더리움 기초 17

이더 화폐 단위 17

이더리움 지갑 선택하기 18

통제와 책임 20

메타마스크 설치하기 22

월드 컴퓨터 소개 31

외부 소유 계정(EOA) 및 컨트랙트 31

간단한 컨트랙트: 테스트 이더 Faucet 32

Faucet 컨트랙트 컴파일 35

블록체인에 컨트랙트 생성하기 38

컨트랙트 사용하기 40

결론 46

 

CHAPTER 3 이더리움 클라이언트 47

이더리움 네트워크 48

이더리움 클라이언트 실행 52

이더리움 기반 블록체인의 첫 번째 동기화 59

원격 이더리움 클라이언트 63

결론 66

 

CHAPTER 4 암호학 67

키와 주소 68

공개키 암호화와 암호화폐 69

개인키 71

공개키 72

암호화 해시 함수 79

이더리움 주소 82

결론 88

 

CHAPTER 5 지갑 89

지갑 기술의 개요 90

지갑의 모범 사례 95

결론 108

 

CHAPTER 6 트랜잭션 109

트랜잭션 구조 109

트랜잭션 논스 111

트랜잭션 가스 117

트랜잭션 수신자 119

트랜잭션 값과 데이터 120

특별 트랜잭션: 컨트랙트 생성 124

디지털 서명 127

서명 접두어 값(v) 및 공개키 복구 134

서명 및 전송 분리(오프라인 서명) 135

트랜잭션 전파 137

블록체인에 기록하기 137

다중 서명 트랜잭션 138

결론 139

 

CHAPTER 7 스마트 컨트랙트와 솔리디티 141

스마트 컨트랙트란 무엇인가? 141

스마트 컨트랙트의 생명주기 142

이더리움 고급 언어의 소개 144

솔리디티로 스마트 컨트랙트 생성 146

이더리움 컨트랙트 ABI 150

솔리디티로 프로그래밍하기 152

가스 고려사항 178

결론 181

 

CHAPTER 8 스마트 컨트랙트와 바이퍼 183

취약점과 바이퍼 183

솔리디티와 비교 184

장식자 190

함수와 변수 순서 190

컴파일 192

컴파일러 수준에서 오버플로 오류 방지 192

데이터 읽기 및 쓰기 193

결론 194

 

CHAPTER 9 스마트 컨트랙트 보안 195

보안 모범 사례 195

보안 위험 및 안티패턴 197

재진입성 197

산술 오버플로/언더플로 202

예기치 않은 이더 207

DELEGATECALL 211

디폴트 가시성 218

엔트로피 환상 221

외부 컨트랙트 참고 222

짧은 주소/파라미터 공격 229

확인되지 않은 CALL 반환 값 231

레이스 컨디션 / 프런트 러닝 233

서비스 거부(DoS) 237

블록 타임스탬프 조작 240

생성자 관리 242

초기화되지 않은 스토리지 포인터 244

부동소수점 및 정밀도 246

Tx.Origin 인증 249

컨트랙트 라이브러리 251

결론 252

 

CHAPTER 10 토큰 253

토큰은 어떻게 사용되는가? 254

토큰과 대체성 255

거래상대방 위험 256

토큰과 내재성 256

토큰 사용: 유틸리티 또는 지분 257

이더리움 토큰 260

토큰 표준 사용 285

토큰 인터페이스 표준 확장 287

토큰 및 ICO 289

결론 289

 

CHAPTER 11 오라클 291

오라클은 왜 필요한가? 291

오라클 유스케이스와 사례 292

오라클 디자인 패턴 294

데이터 인증 297

계산 오라클 299

탈중앙화 오라클 300

솔리디티에서 오라클 클라이언트 인터페이스 302

결론 305

 

CHAPTER 12 탈중앙화 애플리케이션(댑) 307

댑이란 무엇인가? 308

기본 댑 사례: 경매 댑 312

경매 댑을 더 탈중앙화하기 318

스웜에 경매 댑 저장하기 319

이더리움 네임 서비스(ENS) 322

앱에서부터 댑까지 336

결론 337

 

CHAPTER 13 이더리움 가상 머신 339

EVM이란 무엇인가? 339

튜링 완전성과 가스 357

가스 358

결론 362

 

CHAPTER 14 합의 363

작업증명을 통한 합의 364

지분증명(PoS)을 통한 합의 365

이대시: 이더리움의 작업증명 알고리즘 366

캐스퍼: 이더리움의 지분증명 알고리즘 367

합의의 원칙 368

논쟁과 경쟁 368

결론 369

 

APPENDIX A 이더리움 포크의 역사 371

이더리움 클래식(ETC) 371

탈중앙화된 자율 조직(DAO) 372

재진입 버그 372

DAO 하드 포크 373

이더리움과 이더리움 클래식 376

기타 주목할 만한 이더리움 포크 377

 

APPENDIX B 이더리움 표준 381

이더리움 개선 제안(EIP) 381

가장 중요한 EIP와 ERC 목록 382

 

APPENDIX C 이더리움 EVM 연산코드와 가스 소비량 387

 

APPENDIX D 개발 도구, 프레임워크, 라이브러리 395

프레임워크 395

유틸리티 411

라이브러리 413

테스트 스마트 컨트랙트 415

 

APPENDIX E web3.js 튜토리얼 419

설명 419

논블록(비동기) 방식에서의 web3.js 컨트랙트의 기본적인 상호작용 419

데모 스크립트 검토 421

대기 중인 비동기 작업 424

 

APPENDIX F 짧은 링크 참고 425

스마트 컨트랙트 보안 425

토큰 427

 

핵심용어 429

찾아보기 443