Hyperledger Fabric 특징


1. 허가형(Permissioned) 블록체인

    공캐키(PKI)활용한 멤버십 관리 서비스로 참여자 제한


2. 일반 프로그래밍 언어 사용

    Go, Java, Node.js 와 같은 언어 사용

    이더리움의 경우 Solidity라는 언어 사용


3. 암호화폐를 사용하지 않음

    특정 목적의 허가된 사용자만 참여하기 때문에 블록체인을 유지하기위한 보상체계가 필요하지 않음


4. 고성능

    병렬처리 기능으로 다수의 거래를 동시에 처리


5. 모듈러 아키텍처

    합의 프로토콜을 교체하여 사용할 수 있는 모듈러 아키텍처


6. 다중 블록체인 지원

    채널을 설정하여 네트워크내에서 채널별 독립적인 블록체인을 활용 할 수 있음.




Hyperledger Fabric  구성요소



1. Peer


하이퍼레저 패블릭 블록체인을 구성하는 네트워크 노드 중 하나.


분산원장과 스마트컨트랙트를 관리하는 역할을 함.


하나의 Peer는 하나의 체인코드와 분산원장을 가질 수 있음.

하나의 Peer는 여러개의 체인코드와 분산원장을 가질 수 있음.







2. ChianCode 


분산원장에 데이터를 기록하거나 읽는 작업을 수행함.

주로 비즈니스 모델에 맞는 DApp과 함께 개발되어 사용됨




블록체인 참여자는 체인코드를 통해 분산원장에 데이터를 읽거나 쓸 수 있지만 대부분 비즈니스 모델에 맞는 분산 애플리케이션(DApp)과 함께 개발되어 사용 됨. 




[그림] 분산 애플리케이션을 통한 분산원장 업데이트 과정


(1) 사용자가 트랜잭션 생성을 요청함.

(2) DApp은 Peer와 연결함.

(3) 체인코드 실행을 요청함.

(4) Peer는 체인코드를 실행함.

(5) 보증허가된 트랜잭션을 DApp에게 반환함.

(6) DApp은 허가된 트랜잭션을 Orderer에게 전달함.

(7) Orderer는 트랜잭션을 정렬하여 최신블럭에 트랜잭션을 포함시킴.

(8) Orderer는 새로 생성된 블럭을 네트워크의 Peer에게 전달함.



3. 시스템 체인코드 


스마트 컨트랙트 <-- 애플리케이션 레벨에서 원장에 접근하는 일반적인 체인코드

시스템 체인코드 <-- 하이퍼레저 패블릭 시스템 레벨에서 실행.  

                           기본제공됨.



QSCC(Query System ChainCode) : 블록체인에 저장된 데이터를 읽어올 때 사용되는 시스템 체인코드 


CSCC(Configuration System ChainCode) :  채널을 설정 할 때 사용되는 시스템 체인코드


LSCC(LifeCycle System ChainCode) :  체인코드 설치 부터 인스턴스화 까지 모든 과정을 수행하는데 사용되는 시스템 체인코드 


ESCC(Endorsement System ChainCode) : 보증정책을 담당하는 시스템 체인코드


VSCC(Validation System ChainCode) :  블록을 검증할 때 사용되는 시스템 체인코드





'4차산업 > 블록체인' 카테고리의 다른 글

Docker 정리  (0) 2019.01.13
Golang Basic  (0) 2019.01.13
Hyperledger Fabric 특징과 구성요소  (0) 2019.01.03
curl 사용법  (0) 2018.12.08
이더리움 스마트 건트랙트 시큐어코딩  (0) 2018.12.05
[블록체인 05] 해싱  (0) 2018.04.10
블로그 이미지

오픈이지 제로킴

시큐어코딩 교육/컨설팅 전문가 그룹

티스토리 툴바