블록체인 인 액션
7개의 예제로 배우는 스마트 컨트랙트와 Dapp 개발의 모든 것
Regular price
$33.71
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
블록체인에 관심 있는 모든 사람을 위한 훌륭한 출발점!
Dapp 개발에 대한 명확하고 통찰력이 가득한 책!
블록체인은 단순한 비트코인 뒤에 있는 기술 그 이상의 많은 것을 포함하고 있다. 관통할 수 없는 보안, 탈중앙화된 트랜잭션, 그리고 독립적으로 검증 가능한 서플라이 체인을 결합함으로써 블록체인 애플리케이션은 화폐, 디지털 아이덴티티, 물류 체계를 변환시켜 왔다. 게다가 이더리움과 하이퍼레저 같은 플랫폼은 이미 익숙한 프로그래밍 언어를 사용해서 쉽게 블록체인 애플리케이션을 개발할 수 있도록 도와준다.
이 책은 어떻게 블록체인 기반 탈중앙화 앱을 설계하고 개발하는지를 간단명료하고 이해하기 쉽게 설명한다. 우선, 블록체인이 어떻게 작동하는지에 대해 소개하는 것을 시작으로 이더리움과 솔리디티를 이용해 첫 번째 스마트 컨트랙트를 코딩해 보고, 웹 인터페이스, 신뢰 검증, 그리고 배포 준비를 위한 다른 기능도 추가로 학습할 것이다. 시작하기 위해 준비해야 할 것은 오직 표준 하드웨어와 오픈소스 소프트웨어가 전부다.
일곱 개의 예제 애플리케이션을 통해서 스마트 컨트랙트와 탈중앙화 애플리케이션(Decentralized Application, Dapp)을 설계하고 개발하는 과정을 보여줄 텐데, 이 애플리케이션들은 각각 블록체인의 특정한 측면들에 초점을 맞춘다. 이더리움 테스트 체인에서 Dapp을 어떻게 개발하는지 보여주기 위해 여러 가지 핵심적인 툴(리믹스, 가나쉬, 메타마스크, 트러플, 롭스텐, 인퓨라)과 테크닉(암호화, 디지털 서명)도 소개할 것이다. 블록체인의 핵심적인 아이디어들, 즉 신뢰와 무결성, 보안과 프라이버시, 온체인과 오프체인 데이터, 그리고 실행 등을 예제들과 더불어 상세히 다룬다. 150개가 넘는 주석이 들어간 도표와 스크린샷은 블록체인 개념을 이해하는 데 많은 도움이 될 것이다.
이 책의 주요 내용
다른 분산 시스템과 비교한 블록체인
솔리디티를 이용한 개발
아이덴티티, 프라이버시, 그리고 보안
온체인/오프체인 데이터와 오퍼레이션
이 책의 대상 독자
학부나 대학원 과정에서 블록체인 활용법을 가르치는 강사
블록체인 프로그래밍을 처음 시작하고자 하는 타 분야 개발자
블록체인의 고유한 사례를 훑어보고 싶은 비즈니스 전문가와 실무자
스마트 컨트랙트와 탈중앙화 애플리케이션을 개발하고자 하는 블록체인 개발자
Dapp 개발에 대한 명확하고 통찰력이 가득한 책!
블록체인은 단순한 비트코인 뒤에 있는 기술 그 이상의 많은 것을 포함하고 있다. 관통할 수 없는 보안, 탈중앙화된 트랜잭션, 그리고 독립적으로 검증 가능한 서플라이 체인을 결합함으로써 블록체인 애플리케이션은 화폐, 디지털 아이덴티티, 물류 체계를 변환시켜 왔다. 게다가 이더리움과 하이퍼레저 같은 플랫폼은 이미 익숙한 프로그래밍 언어를 사용해서 쉽게 블록체인 애플리케이션을 개발할 수 있도록 도와준다.
이 책은 어떻게 블록체인 기반 탈중앙화 앱을 설계하고 개발하는지를 간단명료하고 이해하기 쉽게 설명한다. 우선, 블록체인이 어떻게 작동하는지에 대해 소개하는 것을 시작으로 이더리움과 솔리디티를 이용해 첫 번째 스마트 컨트랙트를 코딩해 보고, 웹 인터페이스, 신뢰 검증, 그리고 배포 준비를 위한 다른 기능도 추가로 학습할 것이다. 시작하기 위해 준비해야 할 것은 오직 표준 하드웨어와 오픈소스 소프트웨어가 전부다.
일곱 개의 예제 애플리케이션을 통해서 스마트 컨트랙트와 탈중앙화 애플리케이션(Decentralized Application, Dapp)을 설계하고 개발하는 과정을 보여줄 텐데, 이 애플리케이션들은 각각 블록체인의 특정한 측면들에 초점을 맞춘다. 이더리움 테스트 체인에서 Dapp을 어떻게 개발하는지 보여주기 위해 여러 가지 핵심적인 툴(리믹스, 가나쉬, 메타마스크, 트러플, 롭스텐, 인퓨라)과 테크닉(암호화, 디지털 서명)도 소개할 것이다. 블록체인의 핵심적인 아이디어들, 즉 신뢰와 무결성, 보안과 프라이버시, 온체인과 오프체인 데이터, 그리고 실행 등을 예제들과 더불어 상세히 다룬다. 150개가 넘는 주석이 들어간 도표와 스크린샷은 블록체인 개념을 이해하는 데 많은 도움이 될 것이다.
이 책의 주요 내용
다른 분산 시스템과 비교한 블록체인
솔리디티를 이용한 개발
아이덴티티, 프라이버시, 그리고 보안
온체인/오프체인 데이터와 오퍼레이션
이 책의 대상 독자
학부나 대학원 과정에서 블록체인 활용법을 가르치는 강사
블록체인 프로그래밍을 처음 시작하고자 하는 타 분야 개발자
블록체인의 고유한 사례를 훑어보고 싶은 비즈니스 전문가와 실무자
스마트 컨트랙트와 탈중앙화 애플리케이션을 개발하고자 하는 블록체인 개발자
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
PART I 블록체인 프로그래밍 시작하기 1
CHAPTER 1 블록체인 기초 3
1.1 비트코인에서 블록체인으로 4
1.2 블록체인이란 무엇인가? 6
1.3 블록체인 프로그래밍 8
1.4 사용 동기 시나리오 18
1.5 되돌아보기 21
1.6 요약 23
CHAPTER 2 스마트 컨트랙트 25
2.1 스마트 컨트랙트 개념 26
2.2 스마트 컨트랙트의 설계 29
2.3 스마트 컨트랙트 코드 작성 34
2.4 스마트 컨트랙트 코드를 배포하고 테스트하기 36
2.5 블록체인 컨트랙트는 왜 스마트한가? 41
2.6 탈중앙화 항공사 시스템 유스 케이스 43
2.7 항공사 스마트 컨트랙트 47
2.8 스마트 컨트랙트 설계 고려 사항 58
2.9 베스트 프랙티스 59
2.10 요약 60
CHAPTER 3 신뢰와 무결성을 위한 기법 61
3.1 신뢰와 무결성의 핵심 62
3.2 전자 민주주의 문제 65
3.3 테스팅 78
3.3.1 긍정 테스트 80 / 3.3.2 부정 테스트 81
3.4 수정자, require(), revert() 사용하기 82
3.5 assert() 선언 83
3.6 베스트 프랙티스 86
3.7 되돌아보기 86
3.8 요약 87
CHAPTER 4 스마트 컨트랙트에서 Dapp으로 89
4.1 트러플을 사용한 Dapp 개발 91
4.2 가나쉬 테스트 체인 설치 96
4.3 스마트 컨트랙트 개발 97
4.4 웹 애플리케이션을 개발하고 설정하기 103
4.5 되돌아보기 113
4.6 베스트 프랙티스 114
4.7 요약 115
PART II 종단 간 Dapp 개발을 위한 기법 117
CHAPTER 5 보안과 프라이버시 119
5.1 암호학 기초 121
5.2 블록체인을 위한 공개키 암호학의 유용성 123
5.3 해싱 기초 131
5.4 해싱 애플리케이션 134
5.5 되돌아보기 143
5.6 베스트 프랙티스 143
5.7 요약 143
CHAPTER 6 온체인과 오프체인 데이터 145
6.1 온체인 데이터 147
6.2 블라인드 경매 유스 케이스 149
6.3 오프체인 데이터: 외부 데이터 소스 163
6.4 ASK 항공사 시스템 165
6.5 되돌아보기 178
6.6 베스트 프랙티스 180
6.7 요약 181
CHAPTER 7 web3와 채널 Dapp 183
7.1 web3 API 184
7.2 채널 개념 187
7.3 마이크로 페이먼트 채널 188
7.4 마이크로 페이먼트 채널 유스 케이스 189
7.5 돌아보기 213
7.6 베스트 프랙티스 214
7.7 요약 215
CHAPTER 8 인퓨라를 이용해 퍼블릭으로 나가기 217
8.1 노드와 네트워크 218
8.2 인퓨라 블록체인 인프라 219
8.3 인퓨라를 이용해 퍼블릭으로 나가기 220
8.4 퍼블릭 배포를 위한 종단 간 프로세스 222
8.5 BlindAuction-Dapp을 인퓨라에 배포하기 230
8.6 인퓨라 노드를 통해 MPC-Dapp을 배포하기 240
8.7 되돌아보기 247
8.8 베스트 프랙티스 248
8.9 요약 248
PART III 로드맵과 향후 발전 전망 249
CHAPTER 9 자산의 토큰화 251
9.1 이더리움 표준 252
9.2 RES4: 대체 불가능한 부동산 토큰 257
9.3 되돌아보기 271
9.4 베스트 프랙티스 272
9.5 요약 273
CHAPTER 10 스마트 컨트랙트 테스트 275
10.1 스마트 컨트랙트 테스트의 중요성 276
10.2 카운터 스마트 컨트랙트 테스트하기 277
10.3 투표 스마트 컨트랙트 테스트하기 284
10.4 테스트 스크립트 개요 288
10.5 블라인드 경매 테스트 스크립트 288
10.6 되돌아보기 293
10.7 베스트 프랙티스 293
10.8 요약 294
CHAPTER 11 Dapp 개발 로드맵 295
11.1 시나리오 동기: 교육 관련 증명서 296
11.2 로드맵 297
11.3 문제 설정 298
11.4 분석과 설계 300
11.5 스마트 컨트랙트 개발하기 303
11.6 로컬 배포 309
11.7 트러플을 사용한 자동화된 테스트 309
11.8 웹 애플리케이션 개발하기 311
11.9 DCC-Dapp 테스트하기 314
11.10 퍼블릭 배포 315
11.11 되돌아보기 319
11.12 베스트 프랙티스 319
11.13 요약 320
CHAPTER 12 블록체인 전망 323
12.1 탈중앙화된 아이덴티티 324
12.2 자체 관리 아이덴티티 324
12.3 합의와 무결성 327
12.4 확장성 329
12.5 확장성 솔루션 331
12.6 프라이버시 332
12.7 퍼블릭, 프라이빗, 허가형 네트워크 332
12.8 기밀성 334
12.9 보안 336
12.10 암호 화폐를 이용한 보안 337
12.11 오프체인 데이터 액세스(오라클) 338
12.12 기초에서 실용적인 시스템으로 340
12.13 전망 342
12.14 베스트 프랙티스 343
12.15 되돌아보기 343
12.16 요약 344
APPENDIX A UML 블록체인 설계 모델 345
A.1 문제 분석과 설계 346
A.2 행동 다이어그램 346
A.3 구조적 다이어그램 349
A.4 상호작용 다이어그램 352
APPENDIX B 설계 원칙 354
CHAPTER 1 블록체인 기초 3
1.1 비트코인에서 블록체인으로 4
1.2 블록체인이란 무엇인가? 6
1.3 블록체인 프로그래밍 8
1.4 사용 동기 시나리오 18
1.5 되돌아보기 21
1.6 요약 23
CHAPTER 2 스마트 컨트랙트 25
2.1 스마트 컨트랙트 개념 26
2.2 스마트 컨트랙트의 설계 29
2.3 스마트 컨트랙트 코드 작성 34
2.4 스마트 컨트랙트 코드를 배포하고 테스트하기 36
2.5 블록체인 컨트랙트는 왜 스마트한가? 41
2.6 탈중앙화 항공사 시스템 유스 케이스 43
2.7 항공사 스마트 컨트랙트 47
2.8 스마트 컨트랙트 설계 고려 사항 58
2.9 베스트 프랙티스 59
2.10 요약 60
CHAPTER 3 신뢰와 무결성을 위한 기법 61
3.1 신뢰와 무결성의 핵심 62
3.2 전자 민주주의 문제 65
3.3 테스팅 78
3.3.1 긍정 테스트 80 / 3.3.2 부정 테스트 81
3.4 수정자, require(), revert() 사용하기 82
3.5 assert() 선언 83
3.6 베스트 프랙티스 86
3.7 되돌아보기 86
3.8 요약 87
CHAPTER 4 스마트 컨트랙트에서 Dapp으로 89
4.1 트러플을 사용한 Dapp 개발 91
4.2 가나쉬 테스트 체인 설치 96
4.3 스마트 컨트랙트 개발 97
4.4 웹 애플리케이션을 개발하고 설정하기 103
4.5 되돌아보기 113
4.6 베스트 프랙티스 114
4.7 요약 115
PART II 종단 간 Dapp 개발을 위한 기법 117
CHAPTER 5 보안과 프라이버시 119
5.1 암호학 기초 121
5.2 블록체인을 위한 공개키 암호학의 유용성 123
5.3 해싱 기초 131
5.4 해싱 애플리케이션 134
5.5 되돌아보기 143
5.6 베스트 프랙티스 143
5.7 요약 143
CHAPTER 6 온체인과 오프체인 데이터 145
6.1 온체인 데이터 147
6.2 블라인드 경매 유스 케이스 149
6.3 오프체인 데이터: 외부 데이터 소스 163
6.4 ASK 항공사 시스템 165
6.5 되돌아보기 178
6.6 베스트 프랙티스 180
6.7 요약 181
CHAPTER 7 web3와 채널 Dapp 183
7.1 web3 API 184
7.2 채널 개념 187
7.3 마이크로 페이먼트 채널 188
7.4 마이크로 페이먼트 채널 유스 케이스 189
7.5 돌아보기 213
7.6 베스트 프랙티스 214
7.7 요약 215
CHAPTER 8 인퓨라를 이용해 퍼블릭으로 나가기 217
8.1 노드와 네트워크 218
8.2 인퓨라 블록체인 인프라 219
8.3 인퓨라를 이용해 퍼블릭으로 나가기 220
8.4 퍼블릭 배포를 위한 종단 간 프로세스 222
8.5 BlindAuction-Dapp을 인퓨라에 배포하기 230
8.6 인퓨라 노드를 통해 MPC-Dapp을 배포하기 240
8.7 되돌아보기 247
8.8 베스트 프랙티스 248
8.9 요약 248
PART III 로드맵과 향후 발전 전망 249
CHAPTER 9 자산의 토큰화 251
9.1 이더리움 표준 252
9.2 RES4: 대체 불가능한 부동산 토큰 257
9.3 되돌아보기 271
9.4 베스트 프랙티스 272
9.5 요약 273
CHAPTER 10 스마트 컨트랙트 테스트 275
10.1 스마트 컨트랙트 테스트의 중요성 276
10.2 카운터 스마트 컨트랙트 테스트하기 277
10.3 투표 스마트 컨트랙트 테스트하기 284
10.4 테스트 스크립트 개요 288
10.5 블라인드 경매 테스트 스크립트 288
10.6 되돌아보기 293
10.7 베스트 프랙티스 293
10.8 요약 294
CHAPTER 11 Dapp 개발 로드맵 295
11.1 시나리오 동기: 교육 관련 증명서 296
11.2 로드맵 297
11.3 문제 설정 298
11.4 분석과 설계 300
11.5 스마트 컨트랙트 개발하기 303
11.6 로컬 배포 309
11.7 트러플을 사용한 자동화된 테스트 309
11.8 웹 애플리케이션 개발하기 311
11.9 DCC-Dapp 테스트하기 314
11.10 퍼블릭 배포 315
11.11 되돌아보기 319
11.12 베스트 프랙티스 319
11.13 요약 320
CHAPTER 12 블록체인 전망 323
12.1 탈중앙화된 아이덴티티 324
12.2 자체 관리 아이덴티티 324
12.3 합의와 무결성 327
12.4 확장성 329
12.5 확장성 솔루션 331
12.6 프라이버시 332
12.7 퍼블릭, 프라이빗, 허가형 네트워크 332
12.8 기밀성 334
12.9 보안 336
12.10 암호 화폐를 이용한 보안 337
12.11 오프체인 데이터 액세스(오라클) 338
12.12 기초에서 실용적인 시스템으로 340
12.13 전망 342
12.14 베스트 프랙티스 343
12.15 되돌아보기 343
12.16 요약 344
APPENDIX A UML 블록체인 설계 모델 345
A.1 문제 분석과 설계 346
A.2 행동 다이어그램 346
A.3 구조적 다이어그램 349
A.4 상호작용 다이어그램 352
APPENDIX B 설계 원칙 354
저자
저자
비나 라마머시
Bina Ramamurthy
장애 복원력이 있는 분산 시스템으로 박사 학위를 받았으며, 암호학, P2P 네트워킹, 분산 시스템을 주제로 30년간 강의를 해왔다. 코세라(Coursera) MOOC 플랫폼에 개설되어 있는, 블록체인 기술에 대한 네 개의 버팔로대학교 전문코스 과정을 만들었으며, 강의도 직접 하고 있다. 2019년 뉴욕주립대(SUNY) 우수교수상을 수상했다.
장애 복원력이 있는 분산 시스템으로 박사 학위를 받았으며, 암호학, P2P 네트워킹, 분산 시스템을 주제로 30년간 강의를 해왔다. 코세라(Coursera) MOOC 플랫폼에 개설되어 있는, 블록체인 기술에 대한 네 개의 버팔로대학교 전문코스 과정을 만들었으며, 강의도 직접 하고 있다. 2019년 뉴욕주립대(SUNY) 우수교수상을 수상했다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
$99 이상 무료 배송
3% 리워드 크레딧 적립
Secure Payment

