[JP모건의 큐오럼을 활용한]
기업용 블록체인
- 원서명Blockchain for Enterprise: Build scalable blockchain applications with privacy, interoperability, and permissioned features (ISBN 9781788479745)
- 지은이나라얀 프루스티(Narayan Prusty)
- 옮긴이동준상
- ISBN : 9791161753454
- 25,000원
- 2019년 07월 30일 펴냄 (절판)
- 페이퍼백 | 296쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 해킹과 보안
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
기업용 블록체인 라이브러리인 큐오럼을 활용한 전자의료기록 관리, 글로벌 은행 간 자금 이체, 스마트폰 번호 기반 송금 등 이더리움의 스마트 계약 예제를 알기 쉽게 설명하는 책이다. 큐오럼은 Go 이더리움의 포크로서 접근성이 매우 높은 이더리움의 토대를 사용하되 기업 중에서도 특히 신뢰성과 보안성을 생명과 같이 여기는 금융 기업의 니즈에 맞춰 탈중앙화와 분산화, 중앙화 속성을 결합한다. 큐오럼의 대표적인 특징은 Raft 및 IBFT 컨센서스를 활용한 네트워크 참여자에 대한 다양한 수준의 접근성 관리 전략이며, 블록체인을 통해 금융 기업 수준의 정보 보안성과 네트워크 신뢰성을 확보하고자 하는 다수의 국내외 기업에 훌륭한 테스트베드 역할을 하고 있다.
이 책에서 다루는 내용
■ 이더리움을 기반으로 만든 큐오럼의 개요
■ Raft/IBFT 큐오럼 네트워크 구현 방법
■ 큐오럼의 개인정보 보호 및 보안 기능 구현 방법
■ 스마트 계약의 작성, 컴파일, 배포 방법
■ web3.js 라이브러리를 이용한 큐오럼과의 상호작용 방법
■ 서로 다른 네트워크 간의 아토믹 스왑 실행 방법
■ 효율적인 비즈니스 프로세스 구현을 위한 BaaS
■ 프록시 재암호화 기법을 이용한 블록체인의 데이터 보호
이 책의 대상 독자
혁신가, 디지털 산업 종사자, 블록체인 개발자를 위해 쓴 블록체인 기반 DApp 구현 설명서다. 기업용 서비스에 블록체인 기술을 융합하는 방법에 대해 고민 중이라면 이 책이 분명 도움이 될 것이다. 이 책은 이해를 위한 개론과 실무 연습으로 구성됐으며, 기업이 당면한 현실적인 문제를 상용화된 서비스로 해결하는 데 초점을 맞추고 있다.
이 책의 구성
1장, ‘탈중앙화 애플리케이션의 개요’에서는 DApp의 개념과 블록체인 기반 DApp의 개요를 설명한다.
2장, ‘큐오럼을 이용한 블록체인 구현’에서는 이더리움 블록체인의 개요와 이더리움을 기반으로 만들어진 큐오럼의 특징을 소개한다. 아울러 큐오럼을 이용한 Raft 네트워크 구현 방법과 다양한 써드파티 도구, 라이브러리를 설명한다.
3장, ‘스마트 계약 작성’에서는 스마트 계약 작성 방법과 geth의 상호작용 콘솔을 이용한 배포 방법, web3.js를 이용한 거래의 브로드캐스팅 방법을 설명한다.
4장, ‘블록체인 구현을 위한 web3.js 활용’에서는 web3.js의 개요와 라이브러리 임포트 방법, geth 연결 방법을 설명하고, Node.js나 클라이언트 측 자바스크립트 활용 방법을 소개한다.
5장, ‘상호운용 블록체인 구현’에서는 상호운용성을 갖춘 블록체인의 개념을 소개하고, 상호운용 블록체인을 구현하기 위한 다양한 기술과 패턴을 설명한다. 아울러 FedCoin으로 대표되는 상호운용 블록체인 네트워크를 구현한다.
6장, ‘클라우드 기반 큐오럼 서비스 플랫폼’에서는 클라우드 컴퓨팅과 컨테이너화의 개념 및 사례를 설명하고 미니큐브 설치, 쿠버네티스에 컨테이너 배포, QNM을 이용한 QaaS 구현 방법을 알아본다.
7장, ‘전자 의료 기록용 DApp 구현’에서는 블록체인에서 암호화된 데이터를 공유하기 위한 프록시 재암호화 기법을 소개하고, 이와 관련된 etherumjs-wallet, ethereumjstx, ethereumjs-util, npre 등 다양한 자바스크립트 및 파이썬 라이브러리의 활용 방법을 설명한다. 또한 geth 노드 외부에 저장된 키를 이용해서 거래에 서명하는 방법도 알아본다.
8장, ‘블록체인 기반 은행 간 이체 솔루션 구현’에서는 큐오럼에서의 네트워크 퍼미션 구현 방법과 사용자의 스마트폰 번호를 이용한 자금 이체 솔루션 구현 방법을 알아본다.
목차
목차
- 1장. 탈중앙화 애플리케이션의 개요
- DApp이란 무엇인가?
- 블록체인이란?
- 비잔틴 장애 허용의 개요
- 사용자 계정의 표현 방식
- UTXO 모델이란?
- 퍼미션 블록체인 플랫폼의 종류
- 이더리움
- 큐오럼
- 패리티
- 멀티체인
- 하이퍼레저 패브릭
- BigchainDB
- IPFS
- 코다
- 하이퍼레저 쏘투쓰
- 블록체인 활용 사례
- 에버레저
- 월마트 푸드 트래킹
- 가나 토지 등록 서비스
- 두바이 주택 임대 시스템
- 프로젝트 유빈
- 정리
- 2장. 큐오럼을 이용한 블록체인 구현
- 큐오럼이란?
- 이더리움 계정
- 이더리움 거래의 개요
- 블록체인의 주요 개념인 머클 트리란?
- 블록체인에서 포킹이란?
- Raft 컨센서스
- IBFT, 이스탄불 비잔틴 장애 허용
- 프라이빗 계약과 컨스텔레이션
- 큐오럼 및 컨스텔레이션 설치
- 첫 번째 Raft 네트워크 만들기
- 컨스텔레이션 네트워크 설정
- 이노드 생성
- 이더리움 계정 생성
- 제네시스 블록 생성
- 노드 시작
- 동적으로 노드 추가 및 삭제
- 첫 번째 IBFT 네트워크 만들기
- IBFT 도구 설치
- 제네시스 블록 생성
- 노드 시작
- 동적으로 검증 노드 추가 및 삭제
- 정리
- 3장. 스마트 계약 작성
- 솔리디티 소스 파일
- 스마트 계약의 구조
- Solidity에서 데이터 위치
- 솔리디티의 다양한 데이터 타입
- 배열
- 문자열
- 구조체
- 열거형
- 매핑
- delete 연산자
- 기본 데이터 타입 간의 변환
- var 키워드 사용
- 조건문의 활용
- new 연산자를 이용해 새 계약 생성
- 예외 처리
- 외부 함수 호출
- 계약의 특징
- 변수의 가시성
- 수정 함수
- 폴백 함수
- 상속
- 라이브러리
- 여러 개의 값 반환
- 다른 소스 파일 임포트
- 전역 변수
- 블록 및 거래 프로퍼티
- 주소 타입 관련 변수
- 계약 관련 변수
- 이더 단위
- 소유권의 증명, 존재의 증명, 일관성의 증명
- 계약 컴파일 및 배포
- 정리
- 4장. 블록체인 구현을 위한 web3.js 활용
- web3.js의 개요
- web3.js 임포트
- 노드에 연결
- API 구조
- BigNumber.js
- 화폐 단위 변환
- 개스 가격, 계정 손익, 거래 세부 내역 확인
- 이더 전송
- 계약의 배포, 참조, 이더 전송
- 계약 이벤트 리스닝
- 소유권 계약 클라이언트 구현
- 스마트 계약 프로젝트의 개요
- 스마트 계약의 백엔드 구현
- 스마트 계약의 프론트엔드 구현
- 스마트 계약 클라이언트 테스트
- 정리
- web3.js의 개요
- 5장. 상호운용 블록체인 구현
- 블록체인의 상호운용성
- 상호운용 블록체인의 장점
- 상호운용 블록체인 구현 전략
- 싱글 커스터디안
- 다중 서명 연합(공증인 노드)
- 사이드체인과 릴레이
- 해시 로킹
- FedCoin 구현
- 명목 화폐의 디지털화를 위한 스마트 계약
- 아토믹 스왑 계약
- 아토믹 스왑 계약 테스트
- 정리
- 6장. 클라우드 기반 큐오럼 서비스 플랫폼
- 블록체인 서비스 구현을 위한 클라우드 컴퓨팅
- 프라이빗, 퍼블릭, 하이브리드 클라우드
- IaaS, PaaS, SaaS의 차이점
- 클라우드 구현을 위한 컨테이너의 개요
- 컨테이너 구현을 위한 대표 도구: 도커
- 도커 컨테이너 기반 Hello World 앱 구현
- 마이크로서비스 아키텍처의 개요
- 컨테이너 플랫폼 쿠버네티스
- 리소스 객체 살펴보기
- 미니큐브 시작
- 쿠버네티스에 Hello World 앱 배포
- 클라우드 기반 큐오럼 서비스: QaaS 구현
- QNM의 작동 방식
- QNM의 컨테이너화
- QNM 배포본 및 서비스 매니페스트 파일 작성
- 쿠버네티스 API를 이용한 노드 생성
- 정리
- 블록체인 서비스 구현을 위한 클라우드 컴퓨팅
- 7장. 전자 의료 기록용 DApp 구현
- EMR 데이터 관리 및 공유 시스템 개요
- 전통적인 의료 기록의 문제점
- 기존 EMR 데이터 관리 및 공유 시스템의 한계점
- 중앙화 대 탈중앙화 EMR 관리 시스템
- PRE를 이용한 블록체인 기반의 데이터 보안
- NuCypher PRE 라이브러리
- EMR을 위한 DApp 아키텍처
- 신분 확인 및 접속 관리를 위한 스마트 계약 구현
- 스마트 계약 테스트용 파이썬 및 JS 스크립트 작성
- 정리
- EMR 데이터 관리 및 공유 시스템 개요
- 8장. 블록체인 기반 은행 간 이체 솔루션 구현
- 지불 시스템의 개요
- 인터뱅크 자금 이체 관련 규정
- 명목 화폐의 디지털화
- 스마트폰 번호로 신분 확인
- 은행 간 이체를 위한 큐오럼 네트워크 구현
- 큐오럼에서의 네트워크 퍼미션
- 은행 간 이체를 위한 DApp 구현
- 정리
- 지불 시스템의 개요