로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

마스터링 이더리움

   
지은이 안드레아스 M. 안토노풀로스, 개빈 우드   |   출판사 주식회사 제이펍  |   발행일 2019년 05월 23일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 30,000원27,000원 10%
마일리지 5% 1,500원
발행일 2019-05-23
ISBN 1188621602 | 9791188621606
기타정보 번역서 | 488쪽 | 일반
예상출고일 2~3일 이내 (근무일기준)
배송비 무료배송
   
컴퓨터공학
   
이 책의 원서
  Mastering Ethereum: Building Smart Contracts and Dapps
O'Reilly Media | Gavin Wood
 

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

《비트코인, 공개 블록체인 프로그래밍(Mastering Bitcoin)》을 집필한 세계 최고의 블록체인 전문가인 안드레아스 안토노풀로스와 이더리움의 공동 설립자이자 솔리티디 언어를 발명한 개빈 우드가 공동 집필한 이 책은 이더리움 클라이언드, 스마트 컨트랙트, 지갑, 토큰, 핵심 프로토콜, 보안, 오라클, 솔리디티, 트랜잭션, DApp 등 이더리움의 거의 모든 것을 다루고 있습니다.


출판사 서평
이더리움 개발을 위한 최고의 리소스!
《Mastering Bitcoin》과 함께 블록체인 개발자의 필독서!

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

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

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

추천사
나는 《마스터링 이더리움》이 다루는 범위 및 접근 가능성에 대해 매우 놀랐다. 강력히 추천한다.
_ 알렉스 반 디 산데(Alex Van de Sande), 이더리움 파운데이션 디자이너

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

책속으로
예제는 솔리디티(Solidity), 바이퍼(Vyper) 및 자바스크립트(JavaScript)로 설명하고, 유닉스(Unix) 계열 운영체제의 커맨드 라인을 사용한다. 모든 코드 발췌 문장은 깃허브(GitHub) 저장소의 코드 하위 디렉터리에서 사용할 수 있다. 책 코드를 골라서 코드 예제를 시도하거나, 깃허브(https://bit.ly/2wh9znD)를 통해 수정사항을 제출하면 된다. _XXIIp

시작하기에 앞서, 설치된 몇 가지 소프트웨어를 확인할 필요가 있다. 만약 여러분이 현재 사용하는 컴퓨터에서 어떠한 소프트웨어 개발도 하지 않았다면 기본적인 도구를 설치할 필요가 있다. 다음에 나올 예제를 따라 하기 위해서는 소스 코드 관리 시스템인 git을 설치해야 한다. 그리고 고(Go) 언어와 표준 라이브러리를 위한 golang, 시스템 프로그래밍 언어인 러스트(Rust)도 설치한다. _54p

109페이지의 ‘트랜잭션 구조’ 절에서 언급했듯이, 트랜잭션 메시지는 ‘발신자(from)’ 필드를 포함
하지 않는다. 이는 발신자의 공개키가 ECDSA 서명을 통해 직접 계산될 수 있기 때문이다. 공
개키가 있으면 쉽게 주소를 계산할 수 있다. 서명자의 공개키를 복구하는 프로세스를 공개키
복구(public key recovery)라고 한다. _134p

이제 컨트랙트가 어떻게 악용될 수 있는지 알아보자. 먼저, 공격자는 EtherStore의 스마트 컨트랙트의 주소를 유일한 생성자 파라미터로 사용해 악의적인 컨트랙트(예를 들어, 주소 0x0...123에)를 만든다. 이렇게 해서 공개 변수 etherStore를 초기화하고 etherStore가 공격 대상 컨트랙트 주소를 갖게 한다. _199p

브로드캐스트 또는 멀티캐스트 패턴에서 오라클은 모든 메시지를 채널에 게시하고 구독 컨트랙트는 다양한 구독 모드에서 채널을 청취한다. 예를 들어, 오라클은 암호화폐 환율 채널에 메시지를 게시할 수 있다. 구독 스마트 컨트랙트는, 예를 들어 이동 평균 계산과 같이 시간 경과에 따른 연속적인 관측값이 필요한 경우에 해당 채널의 전체 콘텐츠를 요청할 수도 있고, 다른 경우는 현물 가격 계산을 위한 최신 환율만 요구할 수도 있다. 오라클이 가입 컨트랙트의 신원을 알 필요가 없는 경우 브로드캐스트 패턴이 적절하다. _297p

이 시점에서 여러분은 궁금해할 것이다. 우리는 왜 많은 합의 알고리즘이 필요한가? 어느 것이 더 효과적인가? 후자의 질문에 대한 대답은 지난 10년간 분산 시스템에서 가장 흥미로운 연구 분야의 중심에 있다. 컴퓨터 과학에서 효과적(better)이라는 의미는 가정, 목표 및 피할 수 없는 상충관계(trade-off)에 관한 것이다. _368p
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
안드레아스 M. 안토노풀로스(Andreas M. Antonopoulos)
베스트셀러 작가이자 연사이자 교육자이며, 세계 최고의 비트코인 및 개방형 블록체인 전문가 중 한 명이다. 그는 복잡한 주제를 매우 쉽게 이해시키는 재능을 갖고 있다.

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

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

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

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

감수자 소개
정우현
현재 한국 이더리움 사용자 그룹의 운영자이며, 2014년부터 서울 이더리움 밋업 운영을 비롯한 여러 블록체인 커뮤니티 활동을 활발하게 해왔다. 미국에서 20년간 이커머스 솔루션및 시스템 인테그레이션 사업을 해오다 비트코인과 이더리움을 접하면서 탈중앙화된 블록체인의 매력에 빠져들면서 2018년에 아톰릭스 컨설팅을 설립해 이더리움 생태계 확장을 위한 사업에 전념하고 있다. 서울대 언론정보학과를 졸업하였으며, 텍사스주립대(오스틴) 박사 과정을 수료하였다.
등록된 서평이 없습니다.
정보사업관리...
김화종
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
처음 만나는 전자기학...
곽동주
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
VHDL 사용자를 배려한 VERILOG 2001 디지털시스템 설계...
이강, 장경선
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
주식회사 제이펍 출판사의 신간
신경망과 심층학습
차루 C. 아가르왈 [옮긴이]류광 저
35,100원
(10%↓+5%)
 
브레인 이미테이션
이주완 저
16,200원
(10%↓+5%)
 
허교수의 ARM Mbed 프로그래밍 입문
허경용 저
24,300원
(10%↓+5%)
 
알파고를 분석하며 배우는 인공지능
오츠키 토모시 저
23,400원
(10%↓+5%)
 
코딩 강화 파이썬
이규호 저
17,820원
(10%↓+5%)
 
이메일주소수집거부