'블록체인은 느리다'는 편견을 뒤로하고 수많은 블록체인 업체들은 더 빠른 거래처리기술을 확보하기 위한 경쟁에 뛰어들고 있습니다. 처음 비트코인이 등장하였을 때, 비트코인이 제공할 수 있는 최대 7TPS(Transaction Per Second, 초당 트랜잭션 수)는 초기 거래량을 고려하였을 때 거래량 처리에 부족함이 없었습니다. 하지만, 블록체인의 가능성에 대한 관심과 기대가 커질수록, 가상화폐 거래가 증가할수록, 블록체인 거래처리 한계로 인해 거래가 지연되는 현상들이 발생하였습니다.
블록체인 거래처리 성능은 블록체인이 이러한 한계를 뛰어넘고 글로벌 수준의 비즈니스를 수행하는 데 꼭 필요한 기준 중 하나로 여겨집니다. 특히, 순간 거래처리 요구량이 높은 결제, E-Commerce, Logistics 등의 분야들은 높은 거리처리량뿐만 아니라 낮은 거래, 지연시간 보장을 요구합니다.
현재 블록체인이 제공하고 있는 처리성능 수준은 어느 정도일까요? 대표적으로 비트코인은 2017년 Segwit 업데이트 이후에 수십 TPS 정도의 처리속도를 보입니다. 비트코인, 이더리움 이후 거래처리속도를 강점으로 하는 블록체인이 많이 등장하고 있습니다. 특히, 빠른 거래처리속도가 강점이라고 알려진 엔터프라이즈 블록체인인 Hyperledger Fabric는 특정 환경 및 시나리오를 전제로 3K TPS 정도의 처리속도로 알려져 있습니다[1]. 초기 블록체인 기술에 비해 월등히 뛰어난 성능을 보이지만, 기존 시스템과의 대체 혹은 공존을 위해서 비교대상으로 거론되는 Visa와 같은 글로벌 결제시스템의 성능(24,000TPS)과 비교하면, 블록체인의 거래처리속도는 아직은 낮은 수준입니다.
수많은 업체가 블록체인 거래처리속도 경쟁에 뛰어들고 있습니다. 블록체인 거래속도는 블록체인이 기존 시스템보다 우위를 점하기 위해 중요한 요소인 동시에, 블록체인 업체 및 단체들이 블록체인 기술력을 알리는 데 가장 중요하고 효과적인 단위(Metric)이기 때문입니다.
블록체인 성능을 올리는 연구, 개발들은 다양한 분야에서 진행 중입니다. 합의(Consensus) 알고리즘은 가장 대표적인 연구 분야 중 하나입니다. 작업증명(PoW, Proof of Work), 지분증명(PoS, Proof of Stake), 위임지분증명(DPoS, Delegate PoS), PBFT(Practical Byzantine Fault Tolerance) 등은 많이 알려져 있는 합의 알고리즘인데, 이들은 모든 거래정보를 블록체인 내부에 저장하기 때문에 '온체인(On-Chain) 트랜잭션'으로도 불립니다.
이와는 반대로, 블록체인 내부가 아닌 외부의 성능을 개선하는 '오프체인(Off-Chain) 트랜잭션' 연구도 진행 중입니다. 비트코인 처리량을 늘리기 위한 Lighting Network, 이더리움 거래처리를 위한 Plasma, Raiden Network 등이 널리 알려져 있습니다. 이들의 특징은 가상화폐 거래를 위해 대표거래자인, 예를 들어 Alice와 Bob 사이의 일정 금액을 비트코인과 같은 메인 체인에서 동결시키고, 당사자 간 세부거래들은 별도의 체인 혹은 채널에서 거래한 뒤, 최종 결과만을 다시 메인 체인에 기록합니다. 이는 메인 체인에서 거래 시 발생하는 수수료 및 합의지연 시간을 최소화하며, 오프체인에서 별도의 거래처리를 수행하는 방식으로서 거래처리 성능을 향상시킬 수 있습니다. 다만, 가상화폐와 같이 동결시킬 자산이 있어야 하며, 거래당사자 간 세부거래가 발생해야만 한다는 점 등으로 가상화폐거래소 등 특정 분야에만 적용이 가능한 제약을 갖고 있습니다.
앞서 기술한 오프체인 트랜잭션 처리기법은 주로 퍼블릭 혹은 가상화폐를 갖는 블록체인에 보다 효과적입니다. 엔터프라이즈 블록체인의 경우, 참여자가 가상화폐가 아닌 비즈니스 모델에서의 이익을 목표로 참여하기 때문에, 화폐를 기반으로 동작하는 오프체인 트랜잭션 처리방식을 적용하기 어렵습니다. 한편, 온체인 상의 트랜잭션 처리기법은 오픈소스 내에 포함된 합의 알고리즘 및 모듈들을 직접 수정해야 하므로 빠르게 발전하고 있는 오픈소스와의 호환성을 유지하기 어렵습니다.
Nexledger Accelerator는 오픈소스와의 호환성을 유지하기 위해 기존 오픈소스 기반의 블록체인 위에 새로운 계층(Layer)을 구성하고 트랜잭션 전후처리를 통해 처리속도를 향상시킵니다(그림 1). 기존 블록체인은 각 거래에 대해 매번 합의 과정이 필요하지만, Nexledger Accelerator는 여러 거래를 모아 한꺼번에 합의를 진행합니다. 즉, 접근하려는 키나 주소가 중복되지 않는 거래들을 분류하여 하나의 신규 거래를 만들고 이를 합의하는 방식입니다. 이는 기존에 한 번 거래하는 합의 비용으로 더 많은 거래 합의를 가능하게 합니다.
그림 2는 서로 다른 키 혹은 주소에 접근하는 세 개의 거래를 한 번에 합의하는 예를 보여줍니다. 거래들을 분류하고 어떤 거래들을 얼마만큼 모아 언제 일괄적으로 합의를 진행할지 결정하고, 합의 후 성공/실패 결과에 대해 처리를 하는 것입니다. 이것이 Nexledger Accelerator의 핵심입니다.
블록체인 성능을 공신력 있게 정의하고 거래처리 성능을 개선하는 것은 매우 중요합니다. Nexledger Accelerator는 여러 절차를 통해 성능개선 효과를 검증하고 있습니다. 첫째, 글로벌 블록체인 커뮤니티에서 사용하고 있는 Benchmark Framework를 활용한 성능 측정입니다. Hyperledger에서 정의한 성능측정지표[2]들을 구현한 Hyperledger Caliper를 사용하여 1) Hyperledger Fabric과 2) Nexledger Accelerator가 적용된 Hyperledger Fabric 간의 성능을 측정하고 비교한 것입니다.
그림 3은 Nexledger Accelerator를 적용하였을 때의 오픈소스 성능개선 효과를 나타내는 그래프로, Hyperledger Caliper에서 제공하는 시나리오 중 단순한 쓰기 검증 시나리오 대한 성능개선 효과를 보여준 것입니다. 블록체인 성능은 네트워크 환경, 하드웨어 차이, 스마트 컨트랙트 로직 복잡도, 블록체인 구성 등에 따라 거래처리성능이 달라질 수 있으나, Nexledger Accelerator를 사용할 경우 동일한 조건에서 기존 오픈소스 대비 최고 10배 정도까지 성능개선 효과가 있음을 확인할 수 있었습니다.
둘째, 글로벌 업체들과 공동 기술검증 및 적용을 통해 기술 우수성을 검증하고 있습니다. IBM과 공동으로 기술검증을 수행하였고, 글로벌 스타트업과도 필드 적용 효과에 대해 검증을 진행 중입니다.
Nexledger Accelerator에 대해 더 자세히 알고 싶다면, 지금 삼성SDS 홈페이지에 방문하여 Whitepaper를 다운로드 하세요.
References:
[1] E. Androulaki et al., ‘‘Hyperledger fabric: A distributed operating system for permissioned blockchains,’’ in Proc. 13th EuroSyst. Conf., 2018, p. 30.
[2] “Hyperledger Blockchain Performance Metrics,” Hyperledger Performance and Scale Working Group, Oct. 2018.
[3] R. Blessing-Hartley et al., “Accelerator: Achieving 10x Blockchain Performance on IBM Blockchain Platform,” IBM Think 2019, Feb. 2019.
▶ 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에 저작권이 있습니다.
▶ 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.
삼성SDS 블록체인연구Lab
한국과학기술원에서 박사학위(네트워크)를 취득하고, NASA Ames Research Center에서 분산 시스템 연구개발을 진행하였습니다. 삼성SDS 블록체인연구Lab의 Lab장으로서, 오프체인 거래처리, 분산신원 인증기술, 블록체인 기술융합에 대한 연구개발을 주도하고 있습니다.