Hyperledger Fabric 비교 – 2편

이전 편에서 Fabric과 타 블록체인의 기본 특성과 합의 알고리즘에 대해 비교해보았습니다.
(이전 편으로 이동 -> Hyperledger Fabric 비교 – 1편)

본 문서에서는 Fabric을 검토할 때 고려해야 할 사항들에 대해 설명합니다.

 

Fabric을 검토할 때 고려해야 할 사항

용도

일반적인 블록체인과 달리 Fabric은 분산된 DB의 동기화를 위해 만들어진 플랫폼입니다. 트랜잭션의 내용보다는 트랜잭션을 통해 변경된 DB의 최종 결과가 주로 사용됩니다. 만약 어떠한 행위나 문서를 증명하는 트랜잭션 저장을 위해 블록체인을 사용한다면 일반적인 블록체인이 더 합당한 선택이 될 수 있습니다. 일반적인 블록체인은 트랜잭션의 서명을 사용자가 직접 하므로 사용자의 행위에 대해 증명이 가능합니다. Fabric은 해당 기능을 구현하기 위해서 별도의 기능을 따로 구현해야 합니다.

성능

위 그림은 Fabric의 트랜잭션 전달 과정을 설명하고 있습니다. 트랜잭션을 전파하기 전 채널에 참여하는 Peer들이 검증하는 단계를 거치게 됩니다. 원격에서 동작하는 Peer가 많으면 많을수록, 네트워크의 성능이 느릴수록 트랜잭션이 전달되기까지 시간이 오래 걸리게 됩니다. 또한 같은 채널에 여러 Peer들이 동시에 트랜잭션을 보내려고 할 경우 순서 보장을 위해서 Orderer 역할을 하는 Kafka의 성능에 영향을 주게 됩니다.

이를 극복하기 위해서 하나의 트랜잭션에 여러 작업을 담아 전달하는 방식 등으로 성능을 올리려는 시도들이 있었습니다. 하지만 이러한 방법은 동일하게 일반적인 블록체인에도 적용할 수 있으며, Peer가 늘어날수록 떨어지는 TPS는 치명적인 약점이 될 수 있습니다.

Legacy와의 경쟁

Fabric이 처음 나왔을 때는 PBFT 합의 알고리즘과 같은 일반적인 블록체인의 모습을 일부 가지고 있었습니다. Enterprise 환경을 고려하여 현재는 합의 알고리즘 대신 Endoser와 Message Queue를 활용하고 있습니다. 또한 같은 채널 안에서도 특정 Peer에게만 데이터를 전달하는 Private Data라는 기능도 가지고 있습니다.

이런 복잡한 기능들이 추가되는 이유는 Enterprise 환경에서 Privacy가 중요한 요소이기 때문입니다. 분산된 DB를 위한 블록체인이라는 컨셉으로 출발한 Fabric은 이미 잘 구축된 Legacy에 도전할 수밖에 없습니다. 때문에 일반적인 블록체인이 가지는 많은 장점들을 희생하게 되었습니다.

토큰시스템

블록체인을 도입하려는 일부 고객은 토큰 또는 포인트 시스템 구축을 위해 블록체인을 검토하는 경우가 있습니다. 이는 암호화폐를 통해 블록체인이 유명해진 이유와 크게 상관이 있습니다. 일반적인 블록체인의 경우 화폐 또는 토큰 유통을 고려하여 체인과 Smart Contract가 설계되어 있습니다.

Fabric이 제시한 Enterprise 블록체인의 모습은 화폐가 없는 블록체인입니다. 따라서 화폐도 토큰도 Fabric에는 구현되어 있지 않으며, 화폐 또는 토큰 시스템이 필요할 경우 별도의 Chaincode를 구현해야 하는 부담이 있습니다.

다시 Raft와 Token

Fabric 홈페이지를 보면 Enterprise 블록체인의 특징 중에 하나로 “암호화폐가 필요 없다”가 있었습니다. 또한 그나마 블록체인 합의 알고리즘과 비슷하던 PBFT를 버리고 Orderer를 채택했었습니다. 최근엔 Fabric의 판매사인 IBM이 여러 메이저 IT기업과 연합하여 퍼블릭 네트워크를 구축하려는 움직임까지 있었습니다.

그동안 Enterprise 시장을 공략하기 위해서 기존 Legacy와 비슷한 구조로 설계되던 Fabric이 Legacy 시스템과 경쟁하면서 어려움이 컸을 것으로 예상됩니다. 때문에 시스템과 비교하여 블록체인만의 경쟁력을 갖추기 위한 방안으로 기존에 등한시했던 퍼블릭 블록체인의 기능들을 도입하고, 기존과 다른 새 로드맵을 준비한 것으로 생각됩니다.

결론

Fabric은 Enterprise 블록체인을 목표로 만들어진 플랫폼입니다. Enterprise 시장을 공략하기 위해서 기존 Legacy에서 요구하는 많은 기능들을 포함하고, 불필요하다고 생각하는 기능들을 제거했습니다.

하지만 다양한 분야에서 다양한 방법으로 사용될 수 있는 블록체인의 기능을 한정 지어 사용하게 함으로 범용적인 블록체인이 되기에는 한계가 있습니다. 일반적인 블록체인들이 합의 알고리즘을 개선하여 성능을 올리고 있는 상황에서 기대에 못 미치는 성능을 꼭 개선해야 한다고 판단됩니다.

퍼블릭 블록체인이 DPoS 등 성능 개선과 새 기능들로 무장할 동안 Fabric은 복잡한 구성으로 성능은 느려지고, 하위호환성까지 잃게 되었습니다. 뒤늦게나마 다시 블록체인의 본 모습으로 돌아가고는 있지만 너무 먼 길을 돌아오게 되어 기존에 Fabric으로 구축된 시스템은 업그레이드의 불편함을 피할 수 없게 되었고, Fabric으로 블록체인을 학습했던 많은 고객들이 혼란을 겪게 되었습니다.

IBM과 같은 Enterprise 강자들이 전통적인 요구 사항에 얽매이기보다는 블록체인의 장점을 잘 살릴 수 있는 새로운 아이디어를 제시해서 블록체인 생태계에 큰 공헌을 해 주길 기대합니다.

Hyperledger Fabric 비교 – 1편
사용성을 개선한 키스토어 지갑

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

필수 입력 사항입니다.
필수 입력 사항입니다.
유효한 이메일 주소를 입력해주세요.
You need to agree with the terms to proceed

메뉴