본문 바로가기
Team

[블록체인] 하이퍼레저 패브릭

by seungh2 2021. 4. 4.

하이퍼레저 패브릭은 모듈러 아키텍처를 따르는 프레임워크로 컨센서스 알고리즘(합의 알고리즘)이나 멤버쉽 서비스 등 핵심 기술 요소를 플러그 앤 플레이 방식으로 구현할 수 있도록 지원한다.

모듈러 아키텍처 : 컨센서스 알고리즘, 멤버십 서비스 등의 모듈을 필요에 따라 교체 가능.

하이퍼레저 패브릭 특징
1. 퍼미션드 블록체인
MSP(Membership Service Provider)를 통해 허가된 참여자만 접근을 허용하고 접근 권한을 제어할 수 있다. 
프라이빗 블록체인 구성에 최적화

2. 일반 프로그래밍 언어 사용 가능
3. 높은 성능
4. 교체 가능한 모듈러 아키텍쳐
5. 멀티 블록체인 지원. 

하이퍼레저 패브릭 구성요소
1. 클라이언트
블록체인에 접근하기 위해 필요한 노드
peer에게 보내는 트랜잭션을 만든다.
채널을 생성하거나 특정 피어를 채널에 참가하게 하는 트랜잭션 같은 특수한 트랜잭션 또한 여기서 생성됨
클라이언트는 트랜잭션을 생성해 peer 노드의 endorser에 보내는 일을 한다. 이후 거래 보증응답이 오면 거래 제안을 생성하여 orderer에게 보냄

2. peer
원장(ledger, chain)을 가진 패브릭에서 가장 기본이 되는 노드.
스마트컨트랙트 또한 여기에 들어있다.
자신에게 요청된 트랜잭션을 검증하고 전파.
orderer부터 트랜잭션을 받으면 원장을 갱신.
원장이 업데이트된 것을 클라이언트에게 알려줌(event)
peer는 다중 체인 코드와 다중 원장을 사용 가능

Anchor는 조직에 속한 다른 peer들을 검색 가능하게함.
peer to peer간의 gossip이 가능하도록
트랜잭션을 조직 내의 다른 peer로 전달
조직 내에 속한 peer 하나가 anchor로 동작하며 채널에는 반드시 하나 이상의 anchor peer가 존재.

Endorser 스마트컨트랙트가 설치된 peer들
트랜잭션이 발생할 경우 endorser에 거래 제안의 형태로 온다.
보통 스마트컨트랙트가 설치되어 있고 트랜잭션을 시뮬레이션 해보고 불안정할 경우 차단.
Endorser가 직접 원장을 업데이트 하지는 않는다.

Committer 기본 기능만 하는 peer들
블록을 전달받아 블록 내의 모든 트랜잭션을 검사하고 블록을 체인에 연결.
트랜잭션이 유효하다면 원장을 업데이트

OSN (ordering service node. Orderer)
검증된 트랜잭션들을 이용해 최종적으로 블록을 만듬
합의 알고리즘에 따라 클라이언트들로부터 오는 거래들(거래 제안)을 순서화시켜 peer 노드에게 전달.
peer로 전달되는 거래들이 안전하게 전달되는 것을 보장.
orderer는 방대한 양의 트랜잭션을 검증하고 이들을 모아서 블록을 생성하는 작업
(트랜잭션이 많아지면 오버헤드 -> MQ solution(message queue) 발생한 트랜잭션들을 여기에 적재해 처리.)

ledger(원장) 거래를 전부 기록하는 장부. 

블록은 트랜잭션의 모임으로 구성됨.
블록은 OSN에 의해 생성되고 peer에 의해 검증됨

체인코드 = 스마트컨트랙트

트랜잭션
스마트 컨트랙트가 설치되거나 호출될 때 발생
블록체인 네트워크에서 이벤트가 보통 트랜잭션
블록체인 네트워크에서 비즈니스 로직을 수행하기 위한 요청들

채널
서로 다른 노드들을 묶는 역할
채널을 통해 거래와 원장을 분리 가능하기 때문에 독립적인 원장을 가지는 것이 가능
하나의 채널에는 하나의 원장을 갖는다.
채널 별 원장은 채널의 peer간에 공유되며 거래 당사자는 해당 채널과 상호작용하기 위해 채널에 올바르게 인증되어야 한다.

조직 Organization 멤버라고도 함
노드들을 특정 목적에 따라 구분한 논리집합. 채널과 유사.
MSP를 통해 조직을 네트워크에 가입시키며 이는 블록체인 네트워크 서비스를 제공하는 기업 등에서 수행
조직 내에서 트랜잭션의 끝에는 peer가 존재
이러한 조직이 모여서 consortium 컨소시움을 구성
모든 조직이 컨소시움 일원은 아님
모든 조직은 블록체인 네트워크의 일원

consortium 컨소시움.
조직의 집합.
네트워크 당 여러 개 존재 가능하지만 보통 한개 존재
컨소시움을 구성하면 그 조직들은 트랜잭션 내용을 공유 가능
컨소시움의 조직들은 각각 peer를 가지고 채널을 형성하거나 채널에 참여

CA(Certificate Authority, 인증기관)
참여자에 대한 허가를 내리는 곳.
하이퍼레저 패브릭의 어플리케이션 일종이며 정보들을 제공.
이 정보들이 모여서 MSP 구성
MSP를 통해 채널의 관리 권한이나 접근 권한을 관리 가능

728x90

'Team' 카테고리의 다른 글

[블록체인]여러가지 개념  (0) 2021.04.11
[블록체인]PBFT  (0) 2021.04.11
[블록체인] 비잔티움 장군 문제  (0) 2021.04.03
[블록체인] 비트코인과 블록체인  (0) 2021.03.28
[공주는 코딩하고 싶어] 8회차. 발표  (0) 2021.01.29

댓글