이더리움 베이직 - 마트 컨트랙트 입문에서 DApp구현까지 | 블록체인 4차 산업혁명의 열쇠! 4차 산업혁명 총론 5
조수현 외 지음 / 북스타(Bookstar) / 2017년 11월
평점 :
장바구니담기


 

본서 <이더리움 베이직 - 블록체인 4차 산업혁명의 열쇠>는 요즈음 광풍과도 같이 유행하는 암호화화폐 혹은 가상화폐인 비트코인이나 이더리움에 대한 이야기가 아닙니다. 오히려 비트코인이나 이더리움과 같은 암호화화폐의 기반 기술이 되는 블록체인(Blockchain)이라는 기술에 대한 개념정리와 Solidity 라는 프로그래밍 언어를 사용하여 실제로 이더리움 플랫폼상에서 다양한 어플리케이션을 직접 구현해 볼 수 있는 개발자를 위한 안내서의 성격이 강합니다.

블록체인이란 데이터 또는 신뢰자산(전자화폐, 부동산계약서, 전자 투표지, 지적재산권 등)을 안전하게 전달, 교환, 저장하는 차세대 인터넷 기술이며, 금융, 헬스케어, 공공 그리고 행정서비스에서도 투명성과 신뢰성을 담보할 수 있는 분산형 암호화 처리기술을 말합니다. 기존 파일 공유 등에 쓰이던 P2P 네트워크를 분산화된 금전 거래 기록 원장으로 쓸 수 있게 만들어 거래에 참여하는 모든 사람들이 공히 공통된 거래원장을 가지게 되니 위변조가 불가능하고 해킹의 피해가 원천적으로 불가능하게끔 운영되는 것이 핵심이지요.

4차 산업혁명의 기반 기술인 빅데이터와 인공지능과 함께 연동하여 무인자동차, 지능형 로봇, 사물 인터넷의 인증처리 작업(해킹 방지)를 위한 기본 인프라로 활용이 가능합니다. 그래서 4차 산업혁명을 화두로 제시한 지난 해 다보스포럼(2016)에서도 범용목적기술(GPT)로서 빅데이터, 인공지능과 더불어 블록체인을 선정한 이유이기도 합니다.

2017년 12월 현재, 각국 정부에서는 블록체인의 미래 비전과 가치를 높게 평가하여  자국의 블록체인과 관련한 규제를 풀고 있으며, 금융권을 비롯한 글로벌 기업들은 블록록체인 기반 산업플랫폼 전략을 수립하고 기술 개발에 박차를 가하고 있습니다. 최근 인텔, 삼성, 마이크로소트 등 IT기업뿐 아니라 JP모건 등 금융기관, BP 같은 석유회사 등 세계적인 200여개 기업들이 EEA(Enterprise Ethereum Alliance)에 참여하여 기업용 솔루션 개발에 박차를 가하고 있습니다.

1장 ~ 2장 까지는 블록체인과 비트코인의 화폐로서의 설명과 블록체인에 대한 기술적 접근을 위한 사전 안내의 성격을 가집니다. 또한 이더리움 기술백서를 소개하여 3장부터 이어지는 실제적인 이더리움 플랫폼상에서의 프로그래밍 작업과 어플리케이션의 완성을 위한 전체적인 개념정립에 도움을 주고 있습니다. 즉, 이더리움계좌, 트랙잭션, 메시지, 채굴, 어플리케이션 등의 기본 개념 습득에 목적이 있습니다.

3장에서는 이더리움 플랫폼을 실제로 구현하기 위한 Go Ethereum 클라이언트(Geth)설치 및 사설 이더리움 네트워크 구축 그리고 Mist 브라우저를 통한 계좌개설 및 이더 송금하기등의 클라이언트 환경 구축을 진행하게 됩니다. 저는 개인적으로 윈도우 10기반에서 Geth를 설치하여 계좌를 만들고 블록을 생성하고 사설 이더리움 네트워크를 구축해 보았습니다. 작업에 전혀 문제 없었습니다.

4장에서는 스마트컨트랙트 구현을 위한 Solidity 언어에 대해 소개하고 있습니다. 기존 프로그래밍 언어 서적과 마찬가지로 기본자료형부터 해서 각종 프로그래밍등을 상세히 소개하며, 실제로 Mist 브라우저를 통해 스마트컨트랙트를 작성, 배포하고 Geth를 통해 작성된 컨트랙트를 실행하는 예제를 직접 처리해 보았습니다. 물론 전혀 문제 없이 작동함을 확인하였습니다. 물론 Remix에서도 동일한 작업을 확인해 보았습니다. 전혀 문제 없더군요 ^^

마지막 5장에서는 지금까지의 예행 연습을 통해 익힌 Solidity 언어를 활용하여 다양한 스마트 컨트랙트를 직접 개발 및 실습해 봅니다. 미니월렛, 블록체인 투표시스템, 슬롯머신, ICO처리 웹사이트 만들기 등이 이에 포함됩니다. 저는 개인적으로 블록체인 투표시스템을 만들어 보았습니다. 예제가 깔끔하고 이해하기 쉽고, 오타가 없어서 인지 제작, 배포 및 실행에 역시 문제가 없었습니다.

 

 

 

이더리움 프로젝트는 사실 블록체인을 하나의 프로그래밍 언어로 보고 다양한 응용 프로그램을 개발하도록 하자는 아이디어에서 출발했습니다. 그래서 비트코인이 단순 화폐로서 거래의 목적만 가진다면 이더리움은 프로그래밍이 가능해 통화에 기능과 목적을 추가할수 있어 스마트계약이나 DApp 개발이 가능하지요. 프로그래밍이 가능해지니 해당 계약의 절차가 미리 작성되어 블록체인상의 코드를 통해 자동실행되며 분산처리 되기 때문에 서로간의 신뢰확인이 필요없지요. (블록체인의 작업증명이 이를 대신함) 적용분야는 금융거래, 공공기록. 신분증명, 증명및입증, 유무형자산 계약 그리고 IoT의 보안증명 등 거의 모든 분야에서 강력한 분산형 암호화기술을 사용가능합니다.

본서는 사실 이더리움 플랫폼을 구현하여 스마트 컨트랙트와 같은 블록체인 어플리케이션을 만들고자 하는 프로그래머들을 위한 서적입니다. 저는 개인적으로 각종 프로그래밍 언어(C, C++, Java 등)로 직접 개발에 참여해본 경험이 있기에 Solidity언어를 이해하는데 전혀 문제가 없었으며, 실제 구현하고 실행하는데도 전혀 무리가 없었습니다. 그러나 프로그래밍 언어를 접하지 못하신 분들은 처음 시작하시기에 조금은 무리가 있지 않나 생각합니다.

어쨋든 Solidity 언어는 다른 언어에 비해 아직 완벽하다 볼 수는 없을 것 같습니다. 그래서 다른 완성된 언어에 비해 반복이나  비효율적인 구문을 피할 수 없는 구조적 결함을 가지고 있습니다. 물론 앞으로 차츰 보완되어 완전체로 진화할 것입니다. 사실 Solidity를 통해 블록체인 어플리케이션(스마트컨트랙트 & DApp)구현을 설명하는 서적은 해외나 국내나 그다지 많지 않습니다. (국내서는 아직 없음) 그런 와중에 국내 저자들을 통해 문법부터 간단한 활용까지 소개하는 서적이 나왔다는 점에 큰 점수를 주고 싶습니다.

프로그래밍 가능한 블록체인 2.0 버전의 비전을 실제 구현해보고자 하시는 모든 분들의 일독을 권합니다 !


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo