하이퍼레저(Hyperledger) 개요
블록체인 기술은 2018년 현재, 도입과 확장을 거쳐 확산기에 있다고들 합니다. 기본적인 실험들을 끝내고, 플랫폼 간 본격적인 경쟁을 시작하는 단계에 있다는 뜻이지요. 누구를 기준으로 표준화가 이루어지느냐가 그 경쟁의 승자를 결정할 것입니다. 본 포스팅에서는 승기를 잡기 위한 하이퍼레저(Hyperledger)의 프로젝트 진행 방향과, 현재 진행 중인 인큐베이팅 프로젝트를 소개합니다.
하이퍼레저(Hyperledger)란??
리눅스 재단에서 주관하는 블록체인 오픈소스 프로젝트입니다.
금융, IoT, 물류, 제조, 기술 산업 등 여러 산업에 걸쳐 응용 가능한 블록체인 기술을 만드는 것이 목표로 하고 있죠.
하이퍼레저 이외에도 R3, Ripple, Ethereum 등 다른 블록체인 플랫폼도 있습니다. 이 중 하이퍼레저가 특별한 이유는, 1) 프라이빗 블록체인 플랫폼으로서 기업 비즈니스를 구현하기에 적합한 환경이라는 점, 2) 금융에 특화된 타 플랫폼과 달리 여러 산업에 범용적으로 도입 가능한 기술 표준을 제시한다는 점입니다.
하이퍼레저 인큐베이팅 프로젝트?
하이퍼레저는 기업용 블록체인 기술을 양산하기 위해 노력하고 있는데요, 여기에는 1)분산 원장 프레임워크, 2)스마트 컨트랙트 엔진, 3)클라이언트 라이브러리, 4)그래픽 인터페이스, 5)기타 유틸리티, 6)샘플 어플리케이션 등이 포함됩니다. 이런 하이퍼레저의 엄브렐라 전략(umbrella strategy)은 공통 기반 요소를 재활용하도록 하여 커뮤니티를 강화하는 동시에, 분산 원장 기술 요소의 빠른 발전을 유도하고 있습니다.
인큐베이팅 프로젝트는 크게 두 갈래로 나뉩니다. 하나는 Hyperledger Framework이고, 다른 하나는 Hyperledger Tool입니다. 이렇게 갈래가 나뉜 데에는 두 가지 시사점이 있습니다. 하나는 블록체인 최대 오픈소스 커뮤니티를 기반으로 무섭게 타 영역과의 인터페이스를 넓히고 있다는 것입니다. 달리 말하면 하이퍼레저가 닿지 않는 곳이 빠르게 줄어들고 있다는 것이죠. 그리고 툴이 핵심 갈래의 하나로서 나와 있는 것은, 블록체인의 개발부터 운영까지 확실히 잡고 실무자들을 유혹하겠다는 의미입니다. 개발 도구인 Composer부터 모니터링까지, 한 기업이 IT를 end-to-end로 개발/운영하면서 접하게 되는 어려운 점들을 함께 고민하겠다는 거죠.
인큐베이팅 프로젝트 톺아보기: Hyperledger Framework
그렇다면 어떤 프로젝트가 있는지, 갈래 별로 보다 상세히 알아보겠습니다.
하이퍼레저 패브릭은 모듈러 아키텍쳐를 이용한 어플리케이션/솔루션 개발을 가능케 하는 파운데이션으로서, 컨센서스나 멤버십 서비스 등 핵심 기술 요소들이 plug-and-play 방식으로 구현될 수 있도록 합니다.
사실상 보통 ‘하이퍼레저’ 라고 명명할 때에는 하이퍼레저 패브릭을 의미하는 경우가 많을 정도로, 하이퍼레저 프로젝트 전체의 핵심이 되는 부분입니다. 2018년 3월 20일에 1.1 버전이 release 되면서 상용 블록체인 기술의 혁신을 이끌고 있습니다. 이 버전에서 핵심적으로 추가된 기능은 다음 포스팅에서 알아보겠습니다(찡긋)
Sawtooth 는 분산 원장 구축, 디플로이, 실행을 위한 모듈러 플랫폼입니다. 이 프로젝트가 특별한 이유는 Proof of Elapsed Time (PoET)라는 새로운 컨센서스 알고리즘을 도입한다는 점입니다. 대규모의 validator 노드가 최소한의 자원만을 사용하여 검증/합의할 수 있도록 합니다.또한 분산 원장마다, 중앙에서 관리되지 않는 하나의 디지털 레코드(asset ownership…)를 갖게 됩니다.
Sawtooth는 또, 인텔이 주도하는 프로젝트로 헬스케어 관련 POC를 성공적으로 끝낸 바가 있습니다. 이 경험을 기반으로 헬스케어 스탠다드 프로젝트로 발전할 수도 있다고 하니, 귀추를 지켜 보아야 하겠습니다.
Iroha는 모바일 어플리케이션 개발에 초점을 둔 분산 원장 개발 프로젝트입니다. C++ 디자인 기반, Byzantine Falut Tolerant 컨센서스 알고리즘을 이용하고 있습니다. 소라미츠, 히타치, NTT 데이터 등 일본 기업들이 주도하고 있습니다.
현업에서 블록체인 프로젝트를 할 때, 가장 고생하는 점 중 하나가 모바일 인터페이스인데 이 부분을 해결해줄 키를 제시할 것으로 보입니다.
Indy는 인증에 특화된 프로젝트 입니다. 블록체인에 기반한 독립적인 디지털 아이덴티티 레코드 생성 및 사용을 위한 툴, 라이브러리, 재사용 컴포넌트들을 제공합니다. 가장 좋은 것은 관리 도메인, 어플리케이션 등 다른 ‘사일로' 들을 넘나들면서 사용이 가능하다는 점입니다.
하이퍼레저에서 아이덴티티를 다룰 때에는 대단히 신중해야 합니다. 개인정보보호기술들을 충분히 고려해야 하는 데다가, 일단 한 번 트랜잭션이 발생하면 수정이 안된다는 문제 때문이죠. 그렇기 때문에 인디는 탈중앙화된 아이덴티티가 하이퍼레저 컨소시움 내외에서 문제 없이 통용되도록 하기 위한 스펙, 용어, 디자인 패턴 등을 연구하고 있습니다.
Hyperledger Burrow라는 프로젝트가 Framework 분야의 다섯번째 프로젝트입니다. 왜 때문인지 로고는 없네요ㅎㅎ Ethereum Virtual Machine (EVM)에 기반한 스마트 컨트랙트 인터프리터가 빌트인된 블록체인 클라이언트를 제공합니다.
인큐베이팅 프로젝트 톺아보기: Hyperledger Tools
Hyperledger Composer는 블록체인 개발에 관심이 있으신 분들은 한 번쯤 들어보셨을 툴입니다. 하이퍼레저 프로젝트에서 가장 먼저 출시된 툴로, 블록체인 비즈니스 네트워크를 구축하도록 해줍니다. 또한 스마트 컨트랙트 및 원장 간에 그 컨트랙트가 돌아가도록 해주죠.
저도 프로덕션에서 사용해보지는 않았지만, 모델링 랭귀지를 쓰기 때문에 일반 IDE처럼 요이땅하고 개발 시작을 할 수 있는 툴은 아니라고 하네요. 먼저 요구사항 정의가 모두 끝난 다음에 전체 구조를 먼저 짜고 나서 개발을 시작하도록, 전체적인 틀을 잡아준다고 생각하면 된다고 합니다.
Cello는 블록체인 생태계에서도 as-a-service 디플로이 모델이 가능하게 해줍니다. 블록체인 네트워크 생성, 관리, 삭제에 소요되는 노력을 최소화해주는 orchestration 툴이라고 보시면 됩니다.
Hyperledger Explorer는 블록, 트랜잭션, 관련 데이터, 네트워크 정보, 체인코드, 트랜잭션 패밀리, 원장에 담긴 기타 정보를 보다 쉽고 빠르게 조회하도록 해주는 툴입니다.
마지막으로 Hyperledger Quilt 입니다. ILP라는 결제 프로토콜로 원장 시스템간 interoperate를 가능하게 해줍니다. 즉, 분산 원장과 일반 원장 간의 값 전송이 가능하게 해주는 것이죠.
이상으로 Hyperledger가 무엇인지 알아보았고, 2018년 5월 기준으로 진행 중인 하이퍼레저 인큐베이팅 프로젝트들을 정리해보았습니다. 이를 통해 엿보이는 하이퍼레저 프로젝트의 방향성과 타 플랫폼 대비 경쟁력을 눈 여겨 보아야 하겠습니다.