1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

마스터링 이더리움:스마트 컨트랙트 및 댑 구축하기
저자 : 안드레아스M.안토노풀로스,개빈우드 ㅣ 출판사 : 제이펍 ㅣ 역자 : 박성훈,류길성

2019.05.23 ㅣ 488p ㅣ ISBN-13 : 9791188621606

정가30,000
판매가27,000(10% 할인)
적립금 1,500원 (5%)
배송일정 04월 30일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 B5(257mm X 188mm, 사륙배판)
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 시스템공학 > 아키텍처/시스템프로...
《Mastering Bitcoin》과 함께 블록체인 개발자의 필독서!

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

펼쳐보기

[목 차]

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

[본 문]

예제는 솔리디티(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
펼쳐보기
이더리움 개발을 위한 최고의 리소스!
《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 등 주로 금융권 대형 차세대 프로젝트를 수행하였다.
펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기