하이퍼레저 패브릭이란? (개념적)
하이퍼레저 패브릭(Hyperledger Fabric)은 블록체인 솔루션과 응용 프로그램을 개발하기 위한 모듈형 아키텍처 플랫폼입니다. 리눅스재단이 주도하여 설립한 하이퍼레저(Hyperledger)의 프로젝트 중 하나로서, 다양한 기술 운영위원회와 여러 조직의 유지 관리자에 의해 관리됩니다. 하이퍼레저 패브릭은 합의 및 회원 서비스와 같은 구성 요소를 플러그 앤 플레이(Plug & Play) 방식으로 지원합니다. 2018년 3월에 나온 하이퍼레저 패브릭은 허가받은 사용자만 참여할 수 있는 허가형 블록체인으로서, 프라이빗 블록체인의 일종입니다.
출처 : 해시넷
하이퍼레저 패브릭이란? (기술적)
피어, 오더러 등의 기능을 가지고 있는 컴포넌트로 모듈화가 되어있는 블록체인 플랫폼으로 MSP(Membership Service Provider) 기반의 인증 서비스를 사용하며, 체인코드라는 스마트 컨트랙트를 사용합니다. 또한 원장(Ledger)와 현재의 상태 값을 저장하는 현재 블록체인 상태가 존재합니다.
- 컴포넌트란? 하나의 모듈 구성 단위로, 나사 1개, 마우스 1개 등 각각의 하나의 구성 요소를 지칭할 수 있는 객체를 말하는 것
- ex) 사람을 만들기 위한 컴포넌트 구성 : 팔 두 개, 다리 두 개, 머리 한 개, 목 한 개, 몸통 한 개 ...
하이퍼레저 패브릭 특징
- 컴포넌트 모듈 단위로 네트워크를 구성
- 여기에서 말하는 컴포넌트는 합의 알고리즘, 체인코드, 네트워크 레이어, 데이터 저장소, 인증 서비스, API 등을 포함하는 말입니다.
- 모듈 단위로 작동하기 때문에 블록체인 네트워크 구성이 비교적 명확하고, 모듈성을 통해 컴포넌트들을 플러스인 형태로 사용할 수 있어 다양한 네트워크 구성이 가능합니다.
- 암호화폐 혹은 토큰 기반의 플랫폼이 아닙니다.
- 2.0 에서 UTXO 기반의 FabToken 만든다는 소식
- fabtoken-design-overview-jira.pdf - Download
- 자산 발행 혹은 토큰 발행을 스마트 계약으로 생성할 수는 있지만, 퍼블릭의 보상을 위한 화폐 개념과는 다른 개념입니다.
- 멤버십 서비스(MSP)를 이용해 참여 노드에 역할을 부여하고 인증된 멤버만이 채널이라는 논리적 구성을 하거나 구성한 채널에 노드를 추가하고, 체인코드를 호출할 수 있습니다.
- 멤버십 서비스란 허가된 참가자만 네트워크에 참여하게 할 수 있기 때문에 기업에 적용하기 좋습니다.
하이퍼레저 패브릭의 구성요소
- 필수 구성 요소
- Client
- 블록체인 네트워크에 접근하는 데 필요한 노드.
- 하이퍼레저 패브릭에서 도커 이미지 형태로 제공하는 클라이언트 애플리케이션을 이용하거나 별도의 어플리케이션을 통해 블록체인 통신
- 역할
- 피어에게 보내는 트랜잭션을 최초로 만드는 역할
- 클라이언트가 발행하는 트랜잭션은 체인코드를 호출하는 트랜잭션 뿐만 아니라 채널을 생성하기도 함
- 특정 피어를 채널에 참여하는 트랜잭션을 포함하기도 함
- Peer
- 원장을 갖고 있는 패브릭의 가장 기본이 되는 노드.
- 체인코드가 설치되고 설치된 체인코드를 실행하는 역할
- Orderer
- 검증된 트랜잭션들을 모아 최종적으로 블록을 만드는 노드
- Client
- 선택 구성 요소
- CouchDB
- Key-Value 기반으로 데이터를 저장하는 NoSQL 기반 데이터 베이스
- 복잡한 종류의 쿼리가 필요할 때 LevelDB 대신 사용하는 용도
- MQ Solution
- 메시지 큐 ( Message Queue)를 의미
- 하이퍼레저 패브릭에서 카프카와 주키퍼를 사용하여 메시지 큐를 사용
- 트랜잭션의 양이 많을 때 오더렁 부하가 발생하는 것을 트랜잭션 큐에 적재하고, 오더러가 순차적으로 처리할 수 있도록 부하를 줄이는 역할
- Kafka
- CouchDB
시스템 체인 코드
하이퍼레저 패브릭에서 시스템적으로 수행되는 체인코드가 있습니다.
- QSCC (사용자에 의해 CLI 명령어로 실행 가능)
- 블록체인의 저장된 데이터를 읽어올 때 사용되는 시스템 체인코드
- 채널 구성원은 CLI 명령어를 통해 블록 번호, 블록의 해시값, 트랜잭션 ID 등 다양한 입력 값을 통해 데이터를 읽어올 수 있습니다.
- Query System ChainCode
- ESCC (Endorsing Peer, 트랜잭션의 보증을 담당하는 Peer)
- 보증 정책을 담당
- Endorsement System ChainCode
'Infra > BlockChain' 카테고리의 다른 글
HyperLedger Fabric 1.4 설치 (0) | 2024.04.24 |
---|---|
HyperLedger Fabric 1.4 Fabcar 실습 (0) | 2024.04.24 |
합의 알고리즘의 개념 (0) | 2024.04.24 |