close
R3

[블록체인 톺아보기] 하이퍼레저 패브릭, R3 코다

가 +
가 -

이전 글에서는 퍼블릭 블록체인의 한계에 대한 두 번째 글로서 사이드 체인과, 퍼블릭 블록체인 구현체의 한계에 대해 정리했습니다.

이번 포스팅에서는 앞선 포스팅에서 논의했던 금융권 블록체인 요구사항에 대해서 정리하고 유명세를 얻고 있는 프라이빗 블록체인 솔루션인 ‘하이퍼레저 패브릭’과 R3 ‘코다’에서는 어떤 방식을 통해 이러한 요구사항을 만족시키고 있는지 알아보겠습니다.

금융권 블록체인 요구사항

금융권에서는 금융서비스 특성과 관련 법률 및 규제로 인한 다양한 요구사항들이 있습니다. 이러한 요구사항을 비트코인, 이더리움이나 퍼블릭 블록체인 구현체를 기반으로 만족하기는 쉽지 않은 일입니다. 다음은 금융권 블록체인에서 요구하는 대표적인 사항입니다.

  • 프라이빗 채널
  • 권한이 다른 노드들
  • 빠른 속도
  • 스마트 컨트랙트
  • 커스터 마이징

프라이빗 채널 거래 시 거래와 직접적인 관계가 있지 않은 참여자에게는 거래 내용을 공개해서는 안 된다는 조건입니다. 사실 당연한 이야기지만 전통적인 블록체인을 이용할 경우 어려울 수 있습니다. 또한 블록체인 네트워크에 참여한 노드들이 전부 같은 권한을 가지면 안 됩니다. 금융업 특성상 거래에 대한 검증을 수행하는 기관, 향후 감사를 수행하는 감독 기관 등 다양한 권한의 노드가 블록체인 네트워크에 참여해야 할 가능성이 높습니다. 이때 감독기관은 모든 프라이빗 채널의 내용을 확인해야 합니다. 그러나 트랜잭션을 발생시키면 안 되겠죠.

빠른 속도는 이유를 설명할 필요 없을 정도로 당연한 요구사항입니다. 우리가 사용하는 금융서비스는 주식거래 등 촌각을 다투는 거래를 포함해서 실시간성 거래 비중이 높습니다. 서비스 속도가 느릴 경우 쾌적하지 못한 사용자 경험뿐 아니라 업무에 따라 금전적인 손해가 발생하는 등 실제 금융 사고로까지 이어질 수 있습니다.

또한, 금융서비스에서 거래 데이터에 대한 분산 저장을 통한 데이터 무결성 보장도 중요한 가치이긴 하지만, 블록체인을 단순히 원장 정보를 복제하는 클러스터링 솔루션 정도로 바라보는 것은 아닙니다. 금융기관들은 블록체인을 통해 기존 청산소(Clearing house)와 같은 중계자없이 금융거래를 수행하고자 하며 이를 위해 스마트 컨트랙트는 필수요소가 됐습니다. 스마트 컨트랙트는 블록체인을 단순한 분산 원장이 아닌 분산 애플리케이션 서버로서 자리 잡게 한 요즘 블록체인에서 가장 뜨거운 기술입니다.

마지막으로 블록체인 엔진 자체를 커스터마이징하며 확장 가능해야 합니다. 금융권 블록체인이라고 카테고리를 지었지만, 금융권 자체에도 정말 다양한 서비스가 있습니다. 이러한 서비스마다 요구사항이 다르기 때문에 블록체인은 합의 엔진부터 전체 스택을 커스터마이징 할 수 있어야 합니다.

하이퍼레저 패브릭과 R3 코다 

하이퍼레저 패브릭과 R3 코다에 대해서 간략하게 이야기해보도록 하겠습니다. 패브릭은 리눅스재단에서 주도하는 블록체인 프로젝트인 하이퍼레저 소속 프로젝트로, R3 코다와 함께 가장 많은 관심을 받는 블록체인 프로젝트입니다. 금융권 뿐 아니라 범용 블록체인을 표방하고 있는 블록체인입니다.

IBM Fabric 구조(출처 : HyperLedger Project)

IBM 패브릭 구조(출처: 하이퍼레저 프로젝트)

패브릭의 가장 큰 특징은 네트워크 분리입니다. 패브릭은 이해관계자와 응용프로그램 종류에 따라 새로운 채널(일종의 소규모 블록체인)을 구성합니다. 또한 권한 관리 모듈인 COP을 통해 각 채널에서 각 노드가 가지는 권한이 무엇인지 구분합니다.

R3는 분산 원장 기반의 스타트업으로 골드만삭스 등 대형 금융업체의 투자를 받았으며 세계적인 대형 은행들과 협약을 맺고 컨소시움을 이뤘습니다. 현재 세계적으로 가장 많은 블록체인 은행들이 참여하고 있는 컨소시움을 주도하고 있습니다.

R3 Corda 동작 방식(출처 : R3 CEV)

R3 코다 동작 방식(출처: R3 CEV)

R3의 분산원장 플랫폼 코다의 가장 큰 특징은 탈블록체인화입니다. 블록체인이 아니라 굳이 분산원장이라고 한 이유는, R3가 블록체인을 버렸기 때문입니다. R3는 블록체인의 여러가지 한계를 극복하고자 모든 네트워크 참여원들이 같은 데이터를 공유하는 블록체인을 버리고 이해관계자들끼리만 같은 데이터를 공유하는 방식을 선택했습니다. 하나의 스마트 계약을 실행하면 이때 이해관계자의 역할에 따라 스마트 컨트렉트 검증, 데이터 공유 일을 수행합니다.

패브릭과 코다는 금융권 요구사항을 어떻게 해결했을까

패브릭은 범용 블록체인을 표방하고 있지만, 그 이야기가 금융권을 포함하지 않는다는 이야기가 아닙니다. 여전히 블록체인은 비금융권 보다는 금융권에서 관심이 있으므로 패브릭은 금융권 요구사항을 대부분 만족하고 있습니다. 코다는 금융업을 위해서 만들어진 분산원장 플랫폼이기 때문에 당연히 이러한 부분을 만족하고 있습니다. 이들은 어떤 식으로 해결할까요?

프라이빗 채널은 두 플랫폼이 특이한 구조를 통해 해결합니다. 이해관계가 있는 노드만 합의하는 방식이죠. 패브릭 같은 경우 이해관계가 있는 노드들만 채널을 구성합니다. 다른 채널의 노드들은 해당 내용을 볼 수 없죠. 코다의 경우 애초에 스마트 컨트랙트 하나를 실행할 때 이해관계자들끼리만 내용을 공유해 문제를 해결합니다.

노드 별로 다른 권한을 주는 이슈는 패브릭의 경우 COP라 불리는 권한관리 모듈을 통해 내용 보관 노드, 순서 검증 노드, 트랜잭션 생성 노드, 내용 검사 노드 등의 권한을 나눠 처리합니다. 이러한 권한은 채널마다 다르죠. 코다의 경우 각 스마트 계약에 관계된 노드들의 역할과 권한이 명시돼 있습니다. 만약 거래에 판매자 A, 구매자 B, 감독기관 C가 필요하면 코다는 스마트 컨트랙트 실행을 통해 이 이해관계자들이 얻어 스마트 컨트랙트를 실행하는 방식입니다.

성능 이슈 관련해서는 두 솔루션 전부 아직 언급이 없습니다. 그러나 네트워크를 가볍게 하는 작업을 기본적인 요구사항을 충족할 정도가 되지 않을까 생각합니다. 패브릭의 경우 1 트랜잭션 1 블록이기 때문에, 실제 트랜잭션이 엄청나게 들어오면 컨센서스에 부하가 생기지 않을까 하는 걱정이 되긴 합니다.

커스터 마이징에 관해서는 패브릭의 경우 분산합의 알고리즘 변경, 체인코드(스마트 컨트랙트) 변경 등이 가능할 것으로 보입니다. 코다의 경우 엔진 자체를 변경하는 것은 어렵고 스마트 컨트랙트 변경과 각 스마트 컨트랙트 합의 과정(Consensus Protocol) 커스터 마이징이 가능할 것으로 보입니다. 두 프로젝트 다 엔진 자체의 커스터마이징은 어렵지만 핵심 기능인 컨트랙트와 합의 알고리즘을 커스터마이징 할 수 있었습니다.

본 포스팅에서는 대표적인 프라이빗 블록체인 프로젝트인 하이퍼레저 패브릭과 R3 코다가 어떻게 금융권의 요구사항을 만족했는지 알아보았습니다. 두 블록체인은 기존 블록체인에 없는 개념들을 많이 추가해 전통적인 블록체인과 다른, 완전히 새로운 블록체인을 만들었습니다. R3는 이제 블록체인 개념에서 완전히 벗어났죠. 하지만 두 블록체인 모두 아직은 개발 중인 프로젝트입니다. 아직 모자란 개념이 있을 수 있고 더욱 발전하는 프로젝트이죠. 하이퍼레저 패브릭의 경우 올해 초 1.0버전이 나왔고 R3의 경우 지난해 말에 처음으로 소스를 공개했습니다. 두 프로젝트 모두 현재까지 지속해서 발전하고 있으며, 더루프도 이러한 공개 프로젝트를 통해 국내외의 다양한 요구사항에 대한 정보를 얻을 수 있었고 ‘루프체인’을 만드는 데 많은 도움이 되었습니다.

다음 글에서는 더루프의 자체 개발 블록체인 엔진인 루프체인의 특징과, 루프체인은 금융권 요구사항을 어떤 방식으로 해결했는지에 대해 소개하겠습니다.

네티즌의견(총 0개)