Top

[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장, ‘블록체인 기반 은행 간 이체 솔루션 구현’에서는 큐오럼에서의 네트워크 퍼미션 구현 방법과 사용자의 스마트폰 번호를 이용한 자금 이체 솔루션 구현 방법을 알아본다.

저자/역자 소개

지은이의 말

지난 몇 년 사이, 블록체인이 놀라울 정도로 성장하면서 국내외의 비즈니스 생태계를 바꿔놓고 있다. 이에 발맞춰 글로벌 주요 기업과 기관은 블록체인으로 다양한 실험과 연구를 진행 중이다. 이 책은 기업의 상용화 수준의 탈중앙화 애플리케이션(DApps, Decentralized Applications) 구현 방법과 여러분 조직의 니즈에 맞춰 블록체인 기반 서비스를 확장하는 방법을 설명한다.
그리고 기업 경영자가 이해하기 쉽고, 서비스 개발자에게 도움이 될 수 있는 다양한 예제를 통해 이더리움 및 큐오럼 기반의 탈중앙화 애플리케이션인 DApp의 개요 및 구현 방법, 블록체인 생태계의 작동 방식을 설명하는 데 초점을 맞춘다.
이 책은 글로벌 최대 금융기관 중 하나인 JP모건이 주도하는 큐오럼을 기반으로 블록체인 네트워크를 구현하는 방법을 설명하며, 여러분이 만든 애플리케이션이 블록체인 네트워크에서 상호작용하는 방법을 알아본다. 또한 검열과 제3기관의 간섭을 배제할 수 있는 스마트 계약의 구현 방법도 알아본다.
블록체인의 개요와 큐오럼 구현 방법을 이해한 후에는 전자 지불, 자금 이체, 헬스케어, 클라우드 컴퓨팅, 공급망 관리 등 실제 문제를 해결하기 위한 여러분만의 애플리케이션을 만들기 바란다.

지은이 소개

나라얀 프루스티(Narayan Prusty)

지난 5년간 블록체인 업계에 종사해 왔으며, 현재 블록체인 관리 시스템인 BlockCluster의 창업자이자 CTO다. 블록체인, 데브옵스, 서버리스, 자바스크립트에 많은 열정을 쏟고 있으며 인도, 싱가포르, 미국, 아랍 에미레이트의 스타트업 및 정부 기관을 위한 제품 및 서비스를 개발하고 있다. 개발자로서 확장성 높은 애플리케이션으로 문제를 해결하려 하며, 현재 블록체인을 좀 더 쉽고 빠르게, 그리고 저렴하게 사용할 수 있는 방법을 찾기 위해 노력 중이다. 또한 블록체인을 통해 투명성이 강조되고, 사기나 부정부패 같은 문제가 사라지기를 바란다.

옮긴이의 말

미국발 금융위기가 극심하던 2008년 무렵, 기존 금융 시스템에 대한 도전 또는 혁신 방안으로 등장한 비트코인이 블록체인의 시작점이 됐으며, 암호화폐의 전성기를 열었다는 데 대해 이견을 달 사람은 없을 것이다. 기술적으론 거의 30년 이상 이어온 중앙화 아키텍처에 대한 도전이며, 경제적으론 수백 년 이상 존속된 중앙은행에 대한 대안이자 도전이었기에 비트코인이 제시한 블록체인의 개념과 철학, 방향성은 절대적인 것으로 생각됐다.
하지만 비트코인의 암호화폐로서의 속성이 워낙 강한 탓인지 비교적 최근까지 블록체인의 아키텍처로서의 특별함은 암호화폐 외에는 언급되지 않았고, 심지어 암호화폐 비즈니스가 과열된 상태에서 나타난 ICO의 부정적 면모는 비트코인은 물론 블록체인 생태계 전체에 대한 부정론으로 이어졌다. 하지만 그와 동시에 일부에서는 블록체인을 기업의 경쟁력 및 차별화 요소로 판단하고, 이를 극대화하기 위한 다양한 실험을 이어왔다.
이는 암호화폐로서의 정체성을 준수하는 블록체인 1.0 아키텍처에 도전하는 스마트 계약 중심의 블록체인 2.0 아키텍처로의 진화 과정으로 부를 수 있을 것이며, 기술적, 정치적, 논리적인 모든 측면에서 탈중앙화를 장려하던 기존 분위기에서 기업의 경쟁력 강화에 초점을 맞춰 일부는 분산화로, 일부는 중앙화로 블록체인 네트워크의 효율성과 안정성 및 보안성을 강화하는 방향으로 선회하고 있다.
이 책의 주제인 큐오럼은 Go 이더리움의 포크로, 접근성이 매우 높은 이더리움의 토대를 사용하되 기업 중에서도, 특히 신뢰성과 보안성을 생명처럼 여기는 금융 기업의 니즈에 맞춰 탈중앙화와 분산화, 중앙화를 결합하기 위한 실험의 산물이라 할 수 있다. 큐오럼은 Raft 및 IBFT 컨센서스를 활용해 네트워크 참여자에 대한 다양한 수준의 접근성을 관리하는 전략이다. 또한 블록체인을 통해 금융 기업 수준의 정보 보안성과 네트워크 신뢰성을 확보하고자 하는 다수의 국내외 기업에 훌륭한 테스트베드 역할을 하고 있다.
이 책의 번역을 계기로 인사를 나누게 된 저자 나라얀 프루스티는 블록체인 2.0의 철학을 퍼블릭 클라우드 형태로 구현한 블록 클러스터의 기술 최고책임자다. 지난 3년간 목표하는 프로젝트를 완수하기 위해 정말 험난한 삶을 살았다고(맨땅에 헤딩했다고) 하며, 그 고생의 과정 중 일부를 이 책에 반영해 이론에 치우치지 않고 좀 더 실용적이며 흥미로운 책이 됐다고 생각한다. 저자는 IT 기술, 금융 산업, 의료 서비스 등 다방면에 열린 생각을 가진 풀스택 개발자이며, 머지않은 미래에 한국의 큐오럼 세미나에 꼭 초대하고 싶은 블록체인 전문가다.
2019년 5월 말에 내가 진행한 큐오럼 세미나에는 삼성, SK, 한화 등 주요 그룹의 금융 계열 기업 임직원이 다수 참여했는데, 이는 글로벌 최대 은행 중 하나인 JP모건이 큐오럼 프로젝트를 주도하고 있다는 점이 적잖은 영향을 미쳤으리라 생각한다.
이 자리에서 국내 대기업 및 금융 기관 또한 이미 수년 전부터 큐오럼 외 2~3개의 블록체인 플랫폼을 바탕으로 다양한 수준의 실험을 이어오고 있음도 확인할 수 있었다.
혁신 기술 기반의 R&D 사업화에 있어서도 블록체인은 매우 중요한 주제며, 특히 기업의 기술적 차별성 및 경쟁력을 강화할 수 있는 스마트 계약 기반의 사업화는 빅데이터, 인공지능 및 클라우드와 함께 향후 수년간 각광받을 것으로 생각한다. 큐오럼은 기업용 블록체인 애플리케이션 개발을 위한 접근성 높은 라이브러리며, 좀 더 쉽게 이더리움을 이해하고 구체적으로 활용할 좋은 기회가 될 것이다.

옮긴이 소개

동준상

2010년 이후 ICT 혁신 기술 사업화 프로젝트에 참여해 왔으며, 블록체인, 인공지능, 클라우드 기반 서비스와 플랫폼 구현 및 사업화와 관련된 리서치, 심사, 컨설팅 업무를 한다. 2018년 한국생산성본부 블록체인 전문가 과정을 강연했으며, 2019년 핀테크지원센터 블록체인 전담 멘토링 및 기업용 블록체인 강연을 진행했다. 2019년 하반기부터는 산업자원부 산하 테크노파크에서 R&D 정책 과제 수행을 위한 블록체인 강연 및 멘토링을 진행하고 있다. 『머신 러닝 인 자바』(에이콘, 2016), 『스위프트 데이터 구조와 알고리즘』(에이콘, 2017), 『자바 머신 러닝 마스터』(에이콘, 2019) 등 십여 권의 책을 번역했다. 홈페이지(http://www.nextplatform.net/)와 링크드인(https://www.linkedin.com/in/junsang-dong/)에서 만나볼 수 있다.

목차

목차
  • 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
      • 화폐 단위 변환
      • 개스 가격, 계정 손익, 거래 세부 내역 확인
      • 이더 전송
      • 계약의 배포, 참조, 이더 전송
      • 계약 이벤트 리스닝
    • 소유권 계약 클라이언트 구현
      • 스마트 계약 프로젝트의 개요
      • 스마트 계약의 백엔드 구현
      • 스마트 계약의 프론트엔드 구현
      • 스마트 계약 클라이언트 테스트
    • 정리

  • 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 스크립트 작성
    • 정리

  • 8장. 블록체인 기반 은행 간 이체 솔루션 구현
    • 지불 시스템의 개요
      • 인터뱅크 자금 이체 관련 규정
      • 명목 화폐의 디지털화
      • 스마트폰 번호로 신분 확인
    • 은행 간 이체를 위한 큐오럼 네트워크 구현
      • 큐오럼에서의 네트워크 퍼미션
    • 은행 간 이체를 위한 DApp 구현
    • 정리

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안