BLOG
파라메타의 블록체인 코어 원천 기술, 루프체인(loopchain)
2022.06.15
안녕하세요, 파라메타(PARAMETA)입니다.
파라메타는 메인넷 구축 및 설계부터 토큰 이코노미까지 플랫폼 구축을 위한 블록체인 풀스택 기술과 컨설팅을 제공하고 있는데요, 이 모든 것의 기반에는 파라메타만의 탄탄한 블록체인 코어 원천 기술이 자리하고 있습니다. 블록체인의 기본이 되는 안정성 높은 분산 원장(Distributed Database) 기술은 물론, 여러 독자 기술을 통해 블록체인의 장점이 잘 적용될 수 있도록 다양한 컴포넌트를 구현하고 있죠.
그럼 지금부터 파라메타의 블록체인 코어 원천 기술을 모두 담은 자체 개발 엔진, 루프체인(loopchain)에 대해 알아볼까요?
파라메타가 독자 개발한 블록체인 코어 엔진인 루프체인은 블록체인의 기본에 충실한 구조를 기반으로, 실제 비즈니스에 최적화한 기능을 구현합니다.
루프체인 컴포넌트
블록체인은 매우 다양한 컴포넌트로 구성되는데요, 루프체인은 블록체인의 장점을 최대한 끌어낼 수 있도록 각 컴포넌트를 구현하는 데 초점을 맞추고 있습니다. 이를 위해 노드외에도 개발자를 위한 도구, 소프트웨어 개발 도구(SDK, Software Development Kit), 운영 도구 등을 제공하고 있으며, 이러한 모든 컴포넌트의 조합으로 블록체인의 장점을 살릴 수 있는 다양한 기반 서비스 구축이 가능합니다.
그렇다면 루프체인만의 특징은 무엇일까요?
고성능 합의 알고리즘: PBFT
하이브리드 P2P 네트워크: 퍼블릭 및 프라이빗 모두 적용
스마트 컨트랙트 지원: SCORE (Smart Contract on Reliable Environment)
멀티채널(Multi-Channel) 지원: 성능 및 확장성 증대
인터체인 구현: BTP (Blockchain Transmission Protocol)
루프체인의 특징은 총 5가지로 나누어 소개할 수 있습니다. 루프체인은 고성능 합의 알고리즘을 통해 기존 알고리즘의 단점을 보완하고 속도와 보안성을 향상하는 한편, 퍼블릭 및 프라이빗에 모두 적용 가능한 하이브리드 P2P 네트워크 방식을 사용하고 있습니다. 범용성 높은 개발 친화적 언어(파이썬, 자바) 기반의 스마트 컨트랙트 실행 환경을 제공하며, 멀티채널 기술로 성능 및 확장성을 높이는 동시에 인터체인 BTP 기술을 바탕으로 하는 상호 운용성 또한 지원합니다.
고성능 합의 알고리즘: PBFT (Tendermint or LFT)
루프체인에는 기본적으로 PBFT(Pratical Byzantine Fault Tolerance, 프랙티컬 비잔틴 장애 허용) 합의 알고리즘이 적용되어 있으며, 플러그인(Plug-In) 형태로 알고리즘을 구현했기 때문에, 필요에 따라 다른 합의 알고리즘의 동시 사용이 가능합니다.
합의 알고리즘은 블록의 생성 속도를 결정짓고 블록체인의 안정성을 담보하는 엔진에 해당하며 처리량과 수수료가 항상 풀어야 할 과제라 할 수 있습니다. 기존 PoW(Proof of Work, 작업 증명) 방식의 경우 작업 증명을 위한 계산에 시간이 많이 사용되어 블록 생성 속도가 느리기 때문에, 현재는 성능을 위하여 빠른 합의와 확정성(Finality)의 장점을 갖춘 BFT 계열의 합의 알고리즘이 많이 사용되고 있습니다. BFT 계열 합의 알고리즘은 머신의 개수나 지분을 통해 투표 후 합의하는 방식으로, 에너지 낭비가 적고 즉각적인 합의가 가능합니다.
루프체인에 기본 적용되어 있는 PBFT는 BFT 계열의 합의 알고리즘으로, 분산 네트워크에서 합의를 이루는 BFT 이론에 근거해 네트워크에 악성 노드가 존재하는 경우에도 합의를 안전하게 도출하는 데 중점을 두고 있습니다. PBFT는 일정 비율 이상의 대표자 노드가 합의하면 블록이 이를 검증에 체인에 적용하는 방식으로 속도에서 유리하고 보안성을 높였다는 평가를 받고 있습니다. 특히 루프체인의 PBFT는 이미 안전성(Safety) 및 생존성(Liveness)이 검증된 Tendermint(텐더민트) 합의 알고리즘을 적용하고 있습니다.
또한 파라메타는 PBFT를 경량화해 성능을 개선한 LFT(Loop Fault Tolerance) 합의 알고리즘 적용을 통해 높은 확장성과 네트워크 대역폭을 보장합니다. PBFT의 경우 블록체인에 참여하는 노드가 늘어날수록 노드 간 합의를 이루기 위한 메시지 교환 횟수가 기하급수적으로 늘어나 속도 및 효율이 떨어지게 되는데요, 참여 노드가 많은 퍼블릭 네트워크에서 메시지량 감소를 위해 사용하기 위한 목적으로 LFT 합의 알고리즘을 자체 개발했다고 볼 수 있습니다. 즉, 블록의 커밋(Commit)과 다음 블록의 전파(Broadcast) 과정을 하나의 단계(Phase)로 합쳐 노드 간의 데이터 교환 과정을 단순화한 것이 LFT의 가장 큰 특징입니다. LFT 적용 시 메시지량은 감소하나 블록 확정 시간 다소 늘어날 수 있어, 환경에 따른 선택적 알고리즘 적용이 필요합니다.
* 파라메타는 KAIST 김용대 교수님을 통해 LFT의 안정성 및 생존성에 대한 검증을 완료했습니다.
(https://arxiv.org/pdf/2004.04294.pdf)
하이브리드 P2P 네트워크: 퍼블릭 및 프라이빗 모두 적용
루프체인은 Gossip과 Structured Network를 사용해 퍼블릭 및 프라이빗 모두 적용 가능한 하이브리드 P2P(Peer-to-Peer) 네트워크 방식을 사용하고 있습니다. 이는 노드를 계층적으로 구성함으로써 부하를 분산시키고 검증자(Validator) 노드로의 직접적인 접근을 막을 수 있게 하여, 성능과 보안성을 향상시키는 구조입니다. 또한 보내는 메시지 중 최근에 해당 노드에서 받거나 보낸 적이 있는 중복 메시지는 무시하고 재전송 메시지 전송 시 N(3f+1)개의 검증자 환경에서 f+1개의 노드에만 전송하는 기술 적용으로 메시지 전송량을 최소화합니다.
스마트 컨트랙트 지원: SCORE (Smart Contract on Reliable Environment)
* 출처: https://pypl.github.io/PYPL.html
SCORE(Smart Contract on Reliable Environment)는 루프체인의 스마트 컨트랙트(Smart Contract) 실행 환경입니다.
루프체인 SCORE의 가장 큰 특징은 개발 친화적 언어를 통해 자유로이 개발 환경을 구성할 수 있다는 점입니다. 타 블록체인 플랫폼의 경우 특수한 가상머신에서 사용 가능한 언어로만 스마트 컨트랙트를 작성할 수 있기도 한데요, 데이터 접근 및 저장 또한 가상머신 내부 변수를 통해서만 저장 가능해 자유도가 떨어진다는 단점이 있습니다. 루프체인 SCORE는 개발자가 가장 많은 범용 언어인 파이썬(Python)과 자바(Java)를 지원함으로써, 디앱(dApp) 개발자 확보가 용이하다는 장점을 보유하고 있습니다. 특히 자바의 경우 JIT(Just In Time) 기술을 이용하여 네이티브(Native)와 같은 고성능 실행이 가능합니다.
또한 루프체인 SCORE에는 스마트 컨트랙트 실행 엔진을 별도 분리하는 아키텍처가 적용되어, 향후 스마트 컨트랙트 추가 언어 지원이 용이합니다.
* 향후 솔리디티(Solidity), 웹어셈블리(WASM) 지원 예정
멀티채널(Multi-Channel) 지원: 성능 및 확장성 증대
멀티채널(Multi-Channel) 지원 또한 루프체인의 중요한 특징 중 하나입니다. 멀티채널은 하나의 독립적인 블록체인 네트워크 내에서 업무별로 채널이라는 가상의 네트워크를 구성하여 채널별로 거래 요청, 합의 및 스마트 컨트랙트를 수행할 수 있도록 하는 기능입니다. 즉, 노드를 관련된 그룹으로 나누고 각 그룹마다 별도의 채널을 할당하여 채널별로 블록 생성 및 검증이 가능하도록 하는 것이죠. 이로써 하나의 노드에 해당 업무 당사자들만 연결되어 업무별로 채널을 다양하게 형성할 수 있으며, 채널별로 블록을 병렬로 생성하기 때문에 각 채널의 독립성이 확보되어 채널별 무결성 보장 및 합의가 가능해지게 됩니다.
루프체인의 실 적용 사례 중 멀티채널을 통해 효과적인 채널별 업무 수행을 실현한 프로젝트들이 있는데요, 바로 서울시 각 부서의 서비스별 채널 할당(투표, 중고차 거래, 자격 검증, 마일리지, 인증 등), 금융투자협회의 체인아이디(CHAIN ID)와 FDS(Fraud Detection System, 이상금융거래탐지시스템) 채널입니다.
멀티채널 지원을 통해 전체적인 성능 또한 향상됨은 물론입니다. 어카운트(Account)나 트랜잭션(Transaction, TX)의 종류에 따라 트랜잭션을 분류해 각 채널에 배분하면, 채널별로 블록을 생성하고 주요 데이터나 채널별 교환이 필요한 데이터는 메인 채널에 등록합니다. 채널 수를 늘림에 따라 TPS(Transaction Per Second, 초당 거래량, 처리 속도) 성능이 향상되는 구조인 것이죠. (채널당 TPS x 채널 수)
인터체인 구현: BTP (Blockchain Transmission Protocol)
상호 운용성(Interoperability)을 위한 BTP(Blockchain Transmission Protocol, 블록체인 전송 프로토콜)는 루프체인에 적용된 가장 핵심적인 기술 중 하나입니다. BTP는 이종 블록체인에서 실행되는 스마트 컨트랙트 간 신뢰할 수 있는 데이터 교환이 가능하도록 하는 프로토콜로, 이종 블록체인 간 자산 이동 및 메시지 교환뿐 아니라 인터체인 생태계 조성을 위한 블록체인 확장성(Scalability) 기술로도 활용될 수 있습니다.
BTP에 대한 보다 자세한 내용은 별도의 콘텐츠를 통해 확인하실 수 있습니다. >> 보러 가기
지금까지 파라메타의 블록체인 코어 원천 기술이 집대성된 자체 개발 엔진, 루프체인에 대해 알아보았습니다. 현재 루프체인은 퍼블릭 블록체인, 엔터프라이즈 블록체인, 공공 블록체인 등 다양한 분야에서 활용되고 있는데요, 앞으로도 파라메타는 더욱 다양한 산업 현장과 생활 곳곳에 블록체인 기술의 가치가 적용될 수 있도록 힘쓰겠습니다.