-
-
블록체인 인 액션 - 7개의 예제로 배우는 스마트 컨트랙트와 Dapp 개발의 모든 것
비나 라마머시 지음, 정우현 옮김 / 제이펍 / 2021년 7월
평점 :
제이펍 출반사의 “블록체인 인 액션”을 소개합니다.
비트코인 광풍으로 블록체인은 이미 일반인에게도 관심을 가지게 된거 같습니다. 허나 아직은 가상화폐가 해외이든 국내이든 통용되지는 않고 있지만 국내 중앙은행 디지털화폐(CBDC) 모의실험도 추진 중이고, 저는 그보다는 블록체인 기술을 기반으로 제2 인터텟으로 발전할 것이고 IoT와 블록체인의 결합 기술이 관심이 갑니다.
제이펍의 “블록체인 인 액션”의 독서 소감은 대학에서의 한 학기 강좌와 같은 느낌을 받았습니다. 이것은 저자가 대학에서 블록체인을 가르치고 있을 뿐만 아니라 코세라에서의 블록체인 강좌를 개설하고 있는 노하우를 한 권의 도서로 정리하였기 때문에 가능한 느낌이라 생각됩니다. 또한 이론만 나열하기 보다는 솔리디티와 dapp에 대한 실습도 꽤 많은 양이 할애되어 있어서 이론과 실습이 적절히 조화된 상당히 구조화가 잘된 도서로 보입니다.
내용 구조화가 잘된 도서
도서는 전체 12장을 크게 3개의 파트의 내용 묶음으로 구성되어 있습니다.
- PART I 블록체인 프로그래밍 시작하기
- PART II 종단 간 Dapp 개발을 위한 기법
- PART III 로드맵과 향후 발전 전망
파트 주제만 보더라도 혹은 마지막 파트의 로드랩과 향후 발전 전말이라는 주제로 도서를 마무리하는 것만 보더라도 대학 강의가 생각나지 않으신가요? 전체 12장은 아래와 같이 구성되어 있습니다.
- CHAPTER 1 블록체인 기초
- CHAPTER 2 스마트 컨트랙트
- CHAPTER 3 신뢰와 무결성을 위한 기법
- CHAPTER 4 스마트 컨트랙트에서 Dapp으로
- CHAPTER 5 보안과 프라이버시
- CHAPTER 6 온체인과 오프체인 데이터
- CHAPTER 7 web3와 채널 Dapp
- CHAPTER 8 인퓨라를 이용해 퍼블릭으로 나가기
- CHAPTER 9 자산의 토큰화
- CHAPTER 10 스마트 컨트랙트 테스트
- CHAPTER 11 Dapp 개발 로드맵
- CHAPTER 12 블록체인 전망
결국 블록체인 실무를 위해서는 블록체인 이론과 함께 스마트 컨트랙트와 dapp 개발을 통해야 된다는 것을 유추할 수 있습니다.
퍼블릭 블록체인을 다룹니다
본 도서는 퍼블릭 블록체인을 다룹니다. 따라서 프라이빗 블록체인 영역의 하이퍼레저 플랫폼이나 FABCAR를 다루지 않습니다. Dapp의 경우도 스마트 컨트랙트만으로 구성된 Contract Only DApp만을 다루지 Marble dapp 등을 다루지 않습니다.
블록체인 입문자를 위해서 퍼블릭, 프라이빗, 컨소시엄 블록체인의 구분과 학습 로드맵은 도서 초반에 포함되어 있다면 좋을텐데, 어쨌든 “블록체인 인 액션”은 이더리움과 같은 퍼블릭 블록체인 기술을 다룹니다. 블록체인 기술마다 장단점이 존재하고 기관마다 각자의 이익에 따라 밀고 있는 기술이 다르죠.
솔리디티 (Solidity)
솔리디티 개발 플랫폼 중에서 제일 유명하기도 하고 Official IDE인 Remix를 다룹니다. 솔리디티는 2장에서 스마트 컨트랙트 코드를 작성하는데 도서의 비중으로는 크게 다루지 않습니다.
솔리디티 실습 예제를 살펴보면 아래와 같이 도서의 편집적인 장점을 엿볼 수 있습니다. 도서 전체적으로 그림 사용에 꽤 공을 들이고 있고 IDE 환경만 하더라도 아래와 같이 그림과 같이 7가지 기능을 설명하는 블록체인 교육 자료를 본 적이 없어서, 이런 점이 잘 편집된 도서를 통한 학습의 이점이 아닐까 생각됩니다.
배포와 테스팅에서 나타난 그림 역시 이런 도서의 장점을 잘 보여주고 있습니다. 처음 접하는 개발 환경의 메뉴가 어떤 것이 있고, 어디에, 어떤 순서로 진행해야 할지 상당히 난감한 경우가 있습니다만, 적절한 그림과 설명이 예제 실습을 도와주고 있습니다.
비교 우위의 도서 편집
앞서 말씀 드렸습니다만 본 도서는 어떤 개발 서적보다도 도서의 편집적인 요소가 잘 부각되어 있습니다. 그림 사용이 많다는 것은 독자의 이해도를 높이는데 분명 도움을 줍니다. 컨트랙트 다이어그램을 UML을 이용하여 보여 준다거나
탈중앙화 항공사 시스템에서 참여자의 오퍼레이션을 순서와 관계를 하나의 그림으로 표현함으로써 왠만한 글의 나열보다 효과적이고 시각적으로 독자 이해도를 증대시켜 줍니다.
Dapp 개발
블록체인 개발을 교재나 교육으로 학습하는 경우 도통 낯선 용어로 지금 배우고 있는 것이 도대체 어느 단계이지…란 의문이 들곤 했습니다. 도서 전체적으로 솔리디티 개발은 내용 비중이 적은데 반해 Dapp 개발에 대한 내용 비중이 많습니다. 그런데 트러플을 사용한 Dapp 개발을 배우고 난 뒤에도 geth와 web3 등이 뒤를 따르니 독자 입장에서는 혼동이 올 수 있습니다. (저는 그러했는데)
결국 Dapp 스택을 보면 구현을 위해선 node.js를 알아야 하고, web3를 알아야 하고, 가니쉬나 geth를 알아야 하고 geth를 알아야 하면 구현을 위해서 go를 알아야 하는 단계 과정이 있습니다. 퍼블릭 블록체인 개발을 위해서는 이러한 스택 요소를 알아야 하는데 처음 접하는 이에겐 낯설었던 것이지요.
사실 쉽지 않은 이론 내용
예전에 블록체인 공부를 하면서 파고드는게 쉽지는 않다는 생각을 많이 했습니다. 우선 처음 접하는 용어들도 워낙 많기 때문에 입문자들은 대부분 여기에서 좌절하지는 않을까란 생각도 듭니다. 그래서 두번째 보게 되면 그제서야 저자가 언급한 내용들이 눈에 띄는데 가령 블록체인의 레이이 레벨별 프로그래밍은 아래와 같이 나뉩니다.
또한 아래의 내용이 본 도서가 다루는 전체 내용이구나…라는 것은 저의 경우 두번째로 읽을 때 “아하”란 감탄을 하게 되더군요.
아쉬운 점은 딱히 없었습니다. 몇개월 전에 교육을 받은 터라 교육 이후에 처음 접하는 블록체인도서이고, “블록체인 인 액션”이란 도서 한권이 대학에서 강의를 하고 있는 블록체인 한 학기 강좌처럼 느껴졌습니다. 분명 본 도서는 유명 대학 교수인 저자가 온오프라인에서의 강의 내용을 바탕으로 집약한 도서라는 느낌을 강하게 받았습니다. 또한 실습 비중이 상당히 많다는 것도 본 도서의 장점입니다. 실습을 도서 후반에 몰아넣는 것이 아니라 각 챕터마다 다루는 내용이 모두 다른데, 각기 해당 내용에 맞춰서 실습을 진행하는 것도 좋은 구성입니다.
대학 강좌 내용이 집약된 “블록체인 인 액션”을 통해 퍼블릭 블록체인에 대한 입문을 권해드립니다.
제이펍 전문서 리뷰에 참가하여 작성한 글이며, 제이펍에서 제공해준 책을 읽고 작성했음을 밝힙니다.