저번 포스팅에서는 금융권 블록체인 요구사항과 Hyperledger Fabric과 R3 Corda가 금융권 요구사항을 만족시키기 위해 어떠한 방식으로 프라이빗 블록체인을 구현하였는지 알아보았습니다.

이전 포스팅 바로가기 

이번 포스팅에서는 드디어! 더루프가 어떤 회사이고 더루프에서 개발하고 있는 블록체인인 loopchain에 대해 소개하도록 하겠습니다.

더루프(theloop)

더루프는 2016년 탄생한 프라이빗 블록체인 전문 기업입니다. 블록체인 기술을 이용해서 공유와 신뢰에 필요한 사회적 비용을 감소시키고 서로 신뢰할  수 있는 디지털 세계를 만들기 위해 여의도 IFC에서 밤낮으로 노력하고 있습니다. 루프라는 이름은 외부에 폐쇄되고 내부가 모두 연결된 또한 중지 없이 운영되는 블록체인 네트워크 환경을 상징하고 있습니다.

[참고] 더루프 블로그를 시작하며

더루프는 블록체인 엔진인 loopchain을 독자개발하였으며 현재 금융투자업권 컨소시엄에 기술 파트너로 참여하고 있습니다. 이외에 대학 내 디지털 화폐 프로젝트인 서강코인 PoC를 마쳤고 프라이빗 블록체인 기반 디지털 화폐 서비스를 구현하는 등 블록체인을 활용할 수 있는 모든 분야에 대해 고민하고 있습니다.

더루프를 소개하는데 금융투자업권 컨소시움을 빼놓을 수 없을 것 같습니다. 금융투자업권 컨소시움은 금융투자협회내 26개 증권사와 IT기술회사 5개가 모여 금융권을 혁신할 블록체인 기술에 대해 연구 개발 및 실제 서비스를 하기 위해 만든 국내 최초의 블록체인 컨소시움입니다. 더루프는 금융투자업권 컨소시움에서 블록체인 엔진 및 솔루션을 지원하고 있습니다. 올해는 블록체인 기반 사설인증서 시범 서비스를 통해 실제 서비스에 적용할 계획을 가지고 있습니다. 사설인증서 서비스를 시작으로 향후 금융권을 혁신할 다양한 블록체인 기반  서비스를 제공할 것입니다.

loopchain

loopchain은 더루프가 독자개발한 프라이빗 블록체인 엔진입니다. 우선적으로 금융거래를 지원하는 것을 목적으로 개발되고 있으며 추후 IoT 환경 등 블록체인이 적용 가능한 다양한 서비스를 구성하기 위한 엔진 개발을 목표로 하고 있습니다.

loopchain은 이전 포스팅에서 포스팅한 Hyperledger Fabric이나 R3 Corda에 비해 블록체인의 기본에 더욱 충실한 구조를 가지고 있습니다. Hyperledger Fabric처럼 중앙에 트랜잭션 순서를 정해주는 무엇인가가 있고 체인은 이 내용을 검증해주는 구조랑 달리 기본 비트코인 블록체인 처럼 블록이 연결된 구조를 모두가 합의 하는 방식으로 순서를 정해주고 있습니다.  R3처럼 Instant Network를 추구하는 것이 아닌 이해관계가 있는 노드들이 반 영구적으로 네트워크를 구성하는 블록체인입니다.

loopchain_archi
loopchain 모듈 방식

더루프는 금융권 요구사항을 만족하면서 새로운 요구사항에 맞게 시스템을 변화하기 위하여 loopchain을 유연한 구조로 만들기 위해 노력했습니다. loopchain 모듈에서 Admin Layer는 주로 블록체인 네트워크 관리를 위해 노드의 장애 상황을 감독하고, 스마트 컨트렉트(SCORE : Smart Contract on Reliable Environment)의 버전을 관리하고, 각 노드의 권한을 감독합니다.  Engine Layer는 블록체인 노드의 주 역활인 분산합의, 원장 저장, 스마트 계약 실행을 담당 합니다. 특히 분산합의를 위한 엔진 모듈인 Blockchain과 실제 블록체인에 올라가는 서비스와 실행환경인 SCORE가 분리되어 있습니다. 마지막으로 Interface Layer는 다른 비지니스 어플리케이션이 블록체인 네트워크에 접속할 수 있는 환경을 만들어줍니다.

%e1%84%89%e1%85%b3%e1%84%8f%e1%85%b3%e1%84%85%e1%85%b5%e1%86%ab%e1%84%89%e1%85%a3%e1%86%ba-2017-03-03-%e1%84%8b%e1%85%a9%e1%84%8c%e1%85%a5%e1%86%ab-11-30-43
loopchain 특징

블록체인을 통해 다양한 서비스를 제공하기 위해서는 앞선 포스팅에서 설명하였던 기존 블록체인의 한계점을 극복하는 엔진을 개발하고 거래에 따른 커스트마이징이 필요합니다. 특히 loopchain의 1차 목표는 금융권을 위한 블록체인이기 때문에 이해당사자끼리만 데이터를 볼수 있는 Private Channel 기능, 블록체인 네트워크 참여 기관 별로 다른 기능을 가지게 하는 Tried System, 마지막으로 다양한 금융 서비스를 원할하게 지원하기 위한 빠른 속도를 목표로 개발한 블록체인 입니다.

Admin Layer에서는 각 네트워크에 참여하는 노드들을 관리 감독 합니다. Admin Layer에서 각 노드의 권한을 제한하고, 암호화 프로토콜을 통한 메세지 교환 방식, 또 비트코인 라이트닝 네트워크 프로토콜을 이용해 Tried System과 Private Channel을 구현하고 있습니다. 현재 각 특징을 구현하는 두가지 방식이 있는데 추후에 늘어 날 수도 아니면 한가지 방식으로 통합될 수도 있습니다.

loopchain에서는 높은 성능을 보장하기 위해 PBFT방식과는 다른 리더 중심의 분산합의 방식과 리더 장애 극복 알고리즘을 통해 BFT 문제를 해결하고 있습니다. 추후 포스팅에서 분산합의 알고리즘에 대한 개요 및 전체 이야기를 할 때 자세히 소개하도록 하겠습니다. 또한 블록체인 서비스를 동작하는 부분(SCORE)과 합의엔진을 완전히 분리하였고 합의엔진 내에서도 모듈 및 가용성 요구사항에 따라 프로세스를 여러개 분리하는 방식으로 고성능 블록체인이 구현되었습니다.

그 밖의 중요한 특징으로는 Portal이라는  자체 개발한 프로토콜을 이용하여 리더 노드를 통한 블록체인 외부 데이터(외부 블록체인) 접근 및 분산합의 방법(R3 Corda및 일부 블록체인에서 제공하는 Oracle과 유사하다고 생각하시면 됩니다.), SCORE (Smart Contract on Reliability Environment)의 버전 방식과 Migration없이 동작하는 네트워크에서의 업데이트 및 하위 호환성 지원, SCORE Store를 통한 스마트컨트랙트 배포 및 버전관리등의 특징이 있습니다. 또한 더루프는 블록체인 내에서 인증서를 발급하는 독자기술을 개발하여 이번에 금융투자업권 컨소시움의 첫번째 시범 모델로 사용할 예정입니다.

본 포스팅에서는 더루프에 대한 소개와 함께 금융거래 요구사항을 loopchain에서 어떻게 구현하고 있는지 알아봤습니다. 이 포스팅으로 금융권을 위한 블록체인에 관한 내용을 마무리 합니다. 이후 포스팅에서는 블록체인 기술에 대한 조금 더 심도있는 내용으로서 분산합의, 스마트컨트랙트, Oracle, 라이트닝 네트워크 등 기술적인 내용들을 중심적으로 포스팅하도록 하겠습니다.