SW/블록체인

블록체인 : 엔터프라즈용 블록체인인 하이퍼레저 프로젝트 이해 : 목적에 따라 적절한 프로젝트를 선택하여 활용 방법

얇은생각 2022. 2. 15. 07:30
반응형

하이퍼레져

하이퍼레져는 리눅스 foundation에서 주관하고 2015년 12월에 시작된 블록체인 오픈소스 프로젝트입니다. 금융, IoT, 물류, 제조 등 여러 산업 에 걸쳐 적용 가능한 블록체인 기술을 개발하는데 목표를 두고 있습니다. 현재는 비트코인 이더리움 등 하이퍼레저 이외의 다양한 블록체인 플랫폼이 존재합니다.

하지만 다른 플랫폼과 비교해 하이퍼 레저는 다음과 같은 이점들을 가지고 있습니다. 첫째 프라이빗 블록체인이라는 점입니다. 이것은 기업 별도의 비즈니스 모델을 구현하기에 적합한 환경을 제공합니다. 현재 여러 기업들이 하이퍼레저 를 기반으로 하여 블록체인 기술을 개발하는데 힘쓰고 있습니다.

둘째, 금융 산업에 특화된 다른 플랫폼들과 달리 여러 산업에 범용적으로 도입 가능한 기술 표준을 제시한다는 점입니다. 이처럼 하이퍼레져는 기업용 블록 체인 기술 개발을 위해 노력하고 있습니다. 하이퍼레져 프로젝트는 아래와 같은 개발 목표들을 포함하고 있습니다.

분산 원장을 가진 분산 응용 플랫폼 개발을 목표로 합니다. 이외에도 스마트 컨트랙트 엔진, 클라이언트 라이브러리, 그래픽 인터페이스, 유틸리티, 샘플 어플리케이션 이 포함됩니다. 이러한 전략은 블록체인 개발 커뮤니티 를 강화하는 동시에 분산 원장 기술 요소의 빠른 발전을 도모합니다.

하이퍼레져는 총 16 개의 오픈 소스 프로젝트로 구성되어 있습니다. 프로젝트는 크게 분산 원장 라이브러리와 툴로 나뉩니다. 하이퍼레저는 블록체인 최대 오픈소스 커뮤니티를 기반으로, 분산 장부 개발을 통해 다른 영역과의 인터페이스를 확장함으로써 산업 여러 곳곳에서 하이퍼레저가 영향을 미치고 있습니다.

또한 툴을 이용해 블록체인의 개발 부터 운영까지 모든 영역을 커버하고 있습니다. 하이퍼레저 프로젝트의 일부에 대해 간단히 소개 드리고, 다음 두 모듈에 걸쳐 하이퍼레저의 대표적인 프로젝트인 하이퍼레저 패브릭에 대해 설명드리겠습니다. 첫 번째로 소개할 하이퍼레져는 현존하는 하이퍼레저 프로젝트 중 가장 널리 알려져 있고 핵심이 되는 프로젝트입니다.

보통 하이퍼레저를 말할 때 하이퍼 레저 패브릭을 의미하는 경우가 많습니다. 하이퍼레저 패브릭은 분산 어플리케이션 및 솔루션 개발을 위한 프로젝트로써, 컨센서스나 멤버십 서비스 등의 핵심 기술 요소들이 plug and play 방식으로 구현될 수 있도록 모듈 구조를 가집니다.

따라서 합의 알고리즘이 정해져 있는 비트코인 이더리움과 달리 요구 사항에 따라 합의 알고리즘을 교체할 수 있습니다. 하이퍼레저 패브릭은 허가형permission ed 블록체인으로 허가된 참여자에게만 접근을 허용합니다. 또한 참여자의 블록체인 접근 권한을 제어할 수 있습니다.

앞서 언급한 멤버십 서비스는 해당 사용자가 등록된 참여자가 맞는지 확인하기 위한 서비스입니다. 체인코드chaincode는 하이퍼레저 패브릭 의 스마트 컨트랙트 프로그램입니다. 이더리움의 스마트 컨트랙트와 유사하지만 개발 언어로 솔리디티를 사용하는 이더리움과 달리 체인코드는 기존의 프로그래밍 언어들을 이용해 개발할 수 있습니다.

비트코인과 이더리움은 비트코인, 이더와 같은 내부 암호화폐를 가지는 반면, 하이퍼레저 패브릭은 내부적인 암호화폐가 존재하지 않습니다. 하이퍼레저 패브릭은 보증된 피어 들을 통해 체인코드를 실행하는 다수의 거래들을 동시에 처리할 수 있기 때문에 성능이 매우 높습니다.

병렬적으로 실행된 결과를 동일한 블록체인 내에 적용하기 위해 ordering 서비스가 구현되어 있습니다. 전체 시스템을 다수의 채널로 구분 하여 멀티 블록체인이라는 개념을 지원하고 있습니다. 각 채널 별로 독립적인 블록체인 을 유지할 수 있으며 참여자는 특정 채널에 가입함으로써 블록체인을 선택할 수 있습니다. 다수의 채널에 가입하는 것도 가능합니다.

 

 

블록체인 : 엔터프라즈용 블록체인인 하이퍼레저 프로젝트 이해 : 목적에 따라 적절한 프로젝트를 선택하여 활용 방법

 

 

Hyperledger SAWTOOTH

하이퍼레져 sawtooth는 리눅스 재단 이 두 번째로 공개한 모듈러 블록체인 플랫폼입니다. 비즈니스 블록체인을 위한 분산 원장을 구축, 배포하고 실행하는 작업을 돕도록 개발되어 있습니다. 분산 원장을 유지하고 스마트 컨트 랙트를 안전하게 유지하는 것을 목표로 하고 있습니다.

Sawtooth는 core 시스템과 어플리케이션 도메인을 분리함으로써 블록체인 어플리케이션 개발을 단순화합니다. 따라서 응용 프로그램 개발자는 core 시스템의 내부 설계를 몰라도 본인이 선택한 언어를 사용하여 개발하고자 하는 응용 프로그램에 적합한 비즈니스 규칙을 정할 수 있습니다.

이를 위해 sawtooth는 체인 설정 유지, 체인 권한 저장, 성능 분석과 블록 정보 저장을 위한 특정 응용 프로그램과 같은 low-level 모델을 위한 몇 가지 예제 트랜잭션을 제공합니다. 대부분의 블록체인은 네트워크의 일관성을 유지하기 위해 serial하게 거래를 실행해야 합니다.

하지만 sawtooth는 고급 병렬 스케줄러 를 통해 트랜잭션을 병렬적으로 parallel하게 처리할 수 있습니다. 트랜잭션에 의해 액세스 되는 상태 위치를 기반으로 sawtooth는 상황을 고려하여 트랜잭션을 여러 병렬적인 흐름으로 분리합니다.

다음으로, sawtooth와 ethereum의 통합 프로젝트인 seth를 통해 두 플랫폼 간의 상호 운용성이 확대됩니다. 따라서 이더리움의 스마트 컨트 랙트가 sawtooth에 배포될 수 있습니다. 또한 높은 모듈화의 특징을 가지고 있습니다. 이러한 모듈성을 통해 기업과 컨소시엄 이 가장 잘 갖추어진 정책 결정을 가능하게 합니다.

Sawtooth는 동일한 블록체인에 대해 서로 다른 유형의 합의를 허용합니다. 초기 네트워크 설정 당시 컨센서스 알고리즘이 선택되며, 실행 중인 블록체인 상에서도 변경될 수 있습니다. Sawtooth 프로젝트에서는 PoET(Proof of Elapsed Time)라고 하는 새로운 합의 알고리즘을 도입했는데 이는 PoW의 전력 소비 문제를 없애면서 스케일링이 가능한 알고리즘입니다.

이 알고리즘을 통해 대규모의 Validator 노드가 최소한의 자원만을 사용하여 검증 합의할 수 있습니다. 마지막으로, Hyperledger Sawtooth는 허가형과 비 허가형 블록체인 네트워크를 지원하지만 Hyperledger Fabric은 허가 형 블록체인 네트워크만 지원합니다.

 

 

 

Hyperledger IROHA

하이퍼레저 이로하(Iroha)는 디지털 자산, 신원을 관리하는 것에 주된 목적을 가지고 있는 하이퍼레져 프로젝트입니다. 주로 기존 시스템에 분산 원장을 통합하는 기능을 제공합니다. 이로하는 C++로 개발되었고, 디지털 자산과 디지털 신원을 관리하기 위한 대부분의 동작을 커버하는 빠른 명령어와 쿼리 셋을 제공합니다.

배포와 유지 보수가 간단하며, 개발자를 위해 다양한 라이브러리를 제공합니다. 앞서 말씀드린 것처럼, 명령어 – 쿼리 분리 원칙에 의해 주도되는 모듈식 설계 방식을 따릅니다. 시스템에 미리 작성된 명령을 사용하여 자산 생성 계정 등록 자산 전송 등의 기능을 수행할 수 있으므로 스마트 컨트랙트를 신속하고 적은 위험으로 테스트할 수 있습니다.

이로하가 채택한 컨센서스 알고리즘 은 byzantine fault tolerantbft입니다. 이 알고리즘은 일종의 투표를 거쳐 2/3 이상이 블록에 동의를 하면 해당 블록의 생성이 확정되는 방식으로 다른 알고리즘에 비해 더 높은 성능을 가집니다. 마지막으로, 이로하는 강력한 권한 시스템을 갖춘 유일한 원장으로서 모든 명령 쿼리 및 네트워크 참여 권한을 설정할 수 있습니다.

 

 

 

하이퍼레져 INDY

하이퍼레져 Indy는 소브린이라고 하는 재단이 주도적으로 개발하는 분산 원장 프레임워크로 인증에 특화된 프로젝트입니다. 특정 국가나 조직에 의존하지 않고 전 세계적으로 적용되는 신원 확인 기능을 구현하는 데에 목표가 있기 때문에, Indy를 ID 시스템이 추가된 하이퍼레저 패브릭 기술이라고 보는 사람도 있습니다.

Indy는 블록체인이나, 다른 분산 원장 을 기반으로 하는 독립적인 디지털 신원을 만들고 사용할 수 있도록 툴, 라이브러리, 재사용 가능한 컴포넌트 들을 제공합니다. 분산 원장은 추후에 변경될 수 없기 때문에 신원을 다룰 때 굉장히 신중해야 합니다.

이러한 하이퍼레저 INDY는 다른 하이퍼 레저 프로젝트에 ID 시스템을 추가하기 위한 도구 및 라이브러리를 제공하는데 사용될 수 있습니다. Indy는 합의 알고리즘으로 Redundant Byzantine Fault Tolerant (RBFT)라는 알고리즘을 사용합니다. RBFT 알고리즘에는 현재 블록을 생성하는 마스터 노드와 블록 생성 요청을 순서대로 정렬하는 백업 노드가 있습니다.

마스터 노드는 다른 백업 노드보다 성능이 좋아야 블록을 생성할 수 있습니다. 모든 노드는 마스터 노드와 백업 노드의 성능을 비교하여 마스터 노드의 성능이 좋지 않으면 시스템에 악영향을 미치는 노드라고 판단하고 블록을 생성하지 않습니다.

 

 

 

Hyperledger BURROW

하이퍼레저 Burrow는 권한 승인 기반의 스마트 계약 실행 프레임워크입니다. 스마트 컨트랙트 구현을 위해 가장 많은 기술을 보유하고 있는 이더리움을 비즈니스에 활용하려는 목적을 가지고 있습니다. 즉, Burrow는 하이퍼레저 프로젝트 최초의 이더리움 기반 스마트 컨트랙트 플랫폼이라고 할 수 있습니다.

Burrow는 PBFT 기반의 Tendermint 합의 알고리즘을 사용합니다. 2/3 이상의 사용자가 동의해야 블록 생성을 확정하는 알고리즘으로, 높은 트랜잭션 처리량을 제공하고 블록체인의 분기를 방지합니다. 또한 Application Blockchain Interface를 통해 여러 프로그래밍 언어로 개발된 스마트 컨트랙트를 실행할 수 있습니다.

그리고 Burrow는 EVM 기반의 스마트 컨트랙트 인터프리터가 빌트인 된 블록체인 클라이언트를 제공합니다. REST 및 JSON-RPC 앤드 포인트를 노출 하여 블록체인 네트워크와 상호작용 하거나 응용 프로그램의 현재 상태를 쿼리합니다.

 

 

 

Hyperledger CELLO

하이퍼레저 첼로는 블록체인 생성 관리 중단을 위해 필요한 과정을 감소할 수 있는 blockchain-as-a-service 구현을 위한 툴킷입니다. 블록체인 네트워크의 생성, 시작,중단, 삭제, 유지 등 블록체인의 라이프 사이클을 관리하는 역할을 하며 이를 위해 소요되는 노력을 최소화 할 수 있습니다.

첼로는 가상머신 및 기타 컨테이너 플랫폼과 같은 다양한 인프라 위에 효율적이고 자동적으로 멀티 테넌트 체인 서비스를 제공합니다. 이를 활용하는 운영자는 대시보드 (Dashboard)를 통해 풀(Pool) 내 여러 블록 체인을 생성하고 관리할 수 있으며 유저는 블록체인을 한 번의 요청으로 빠르게 불러올 수 있습니다. 현재는 하이퍼레저 패브릭을 지원 하지만 향후에 다른 블록체인도 지원할 예정입니다.

 

 

Hyperledger EXPLORER

하이퍼레저 익스플로러는 블록 체인 어플리케이션 모니터링을 위한 오픈소스 브라우저입니다. 블록, 트랜잭션, 체인코드, 노드, 채널 등에 대한 모니터링을 하여 여러 정보를 보다 쉽고 빠르게 조회할 수 있도록 하는 툴입니다. 익스플로러 툴은 사용자 친화적인 웹 응용 프로그램을 개발하는데 목표가 있습니다. 또한 블록 거래 관련 데이터 네트워크 정보 원장에 저장된 관련 정보를 열람, 호출, 배포 또는 쿼리할 수 있습니다.

 

 

 

Hyperledger CALIPER

하이퍼레저 캘리퍼는 블록체인 의 성능을 측정하기 위한 테스트 툴입니다. 캘리퍼는 사용자가 사전에 정의된 use case들로 특정 블록체인의 성능을 측정할 수 있게 합니다. 캘리퍼를 통해 제공되는 정보에는TPS, 성공률, 처리량, 트랜잭션 지연 시간, CPU, memory 사용량 등이 있습니다.

이러한 성능 지표는 다른 하이퍼 레저 프로젝트에서 프레임워크 를 구축할 때 사용될 수 있으며, 사용자의 특정 요구에 적합한 블록체인을 구현하기 위해 참조될 수 있습니다. 2018년 기준으로 하이퍼레저 패브릭 1.0 버전 하이퍼레저 소투스 1.0 버전 하이퍼레저 이로하 프레임워크의 블록체인 솔루션을 지원합니다. 또한 하이퍼레저 컴포저 툴의 성능 측정도 가능합니다.

 

 

 

Hyperledger ARIES

하이저레져 ARIES는 디지털 자격 증명을 생성하고 저장하기 위한 툴킷으로 안전한 키 관리 기능을 제공하는 라이브러리입니다. 블록체인 기반의 데이이터 교환 을 가능하게 하고 피어 간 상호작용 비밀 관리 정보 교환 등 다양한 분산 시스템을 위한 보안 기능을 제공합니다.

 

 

 

Hyperledger TRANSACT

하이퍼레져 트랜잭트는 스케줄링, 트랜잭션 디스패치 및 상태 관리 측면을 포함하여 스마트 컨트랙트 실행을 위한 라이브러리를 제공함으로써 분산 원장의 개발을 용이 하게 해주는 프로젝트입니다. 스마트 컨트랙트 실행을 위한 표준 인터페이스를 제공하여 스마트 컨트랙트의 실행을 분산 원장의 구현과 분리시키고자 했고, 스마트 컨트랙트 엔진을 통해서 스마트 컨트랙트 처리를 위한 가상 머신이나 인터프리터를 구현할 수 있도록 하였습니다.

Transact는 기본적으로 상태 전환 을 위한 트랜잭션 처리 시스템으로써, 트랜잭션 실행과 state에 대한 것 이외에 컨센서스 블록 체이닝, 피어링과 같은 프레임 워크의 기능에 대해선 전혀 관여하지 않습니다. 이처럼 스마트 컨트랙트 실행에 초점을 맞춤으로써 다른 블록체인 플랫폼의 아키텍쳐 디자인에 무관하게 스마트 컨트랙트 실행이 가능하도록 해줍니다.

 

 

 

Hyperledger QUILT

하이퍼레저 퀼트는 inter-ledger protocol (ILP) 구현을 통해 블록체인 간 ledger 간의 상호 운용성을 극대화합니다. 기존 원장과 분산 원장을 포함한 네트워크 상의 가치 이전을 지원합니다. 즉 퀼트 툴을 이용하면 기존 원장과 일반 원장 간의 가치 전송이 가능해집니다.

 

 

 

참조

http://www.kmooc.kr/courses/course-v1:POSTECHk+CSED490U1+2021_T1/about 

 

블록체인 입문

블록체인과 암호화폐 기술을 깊이 배우기에 앞서, 비 전공자들도 이해를 할 수 있는 수준으로 블록체인과 암화화폐에 대한 high-level 설명 및 응용 예시를 제공하고 실제 상황에 적용할 수 있다.

www.kmooc.kr

 

반응형