목표 ! 아래 사진 이해하기
패브릭과 비트 , 이더를 비교하여 설명
- 비트 , 이더 ( 퍼블릭 블록체인)
- 블록 생성자 = 스마트 컨트랙트 처리 노드
- 개인키 기반
- 프로그램 하나가 모든 걸 처리함.
- 비트코인 코어, 이더리움 클라이언트 ( 마이닝, 지갑, 블록체인 저장 ,월드스테이 등,,) 모든역할을 다 함.
- 패브릭 ( 프라이빗 블록체인)
- 블록 생성자 != 스마트 컨트랙트 처리 노드
- 인증서 기반 상호작용, 중간관리자의 역할(CA가 인증서를 발급함.) ...ex) 공인인증서
- 하나의 키 값 한 블록에서 여러 번 바꿀 수가 없다. (방식이 비트,이더와 다름) 아키텍처 에서 발생하는 큰 차이점 중 하나. (체인코드 로직이 좀 다르다 .)
- 오더러는 블록생성만, ( 물론 오더러도 블록체인을 보관하긴 함.)
- 구성요소가 나누어져 각 열할이 분배되어 있다.
- Peer는 시뮬레이팅, 블록체인 보관
구성요소
- Peer
- 피어는 트랜잭션을 시뮬레이팅 하는 역할 수행
- 블록체인(원장) 을 보관함 레저 안에는 월드스테이트가 저장 되어있음.
- Orderer
- 블록을 생성하는 역할을 함. ( 블록을 찍어내기만 함)
- 트랜잭션(거래) 을 모아서 블록을 생성만 함. 시뮬레이팅은 하지 않는다.
- App(유저)
- 인증서 , 지갑 을 가지고 거래를 만들고 peer 와 Orderer과 상호작용을 함.
패브릭의 기본적인 트랜잭션 플로우
- 유저가 거래를 만듬.
- 거래(트랜잭션)를 제안 형식으로 피어들한테 보냄.
- 피어에서 시뮬레이팅 진행 ( 바로 블록으로 연결하지 않음. )
- 각각의 피어가 시뮬레이팅 후 OK 사인을 보내준다
- ( 패브릭에서의 합의 방식 (BFT , REFT) 간단히 말하자면 투표시스템이다. 3명중 2명이 OK 하면 OK)
- OK 사인이 나온 거래(검증을 받은 트랜잭션)는 Orderers 보냄.
- 오더러는 거래(트랜잭션) 을 모아서 피어에게 허락을 받았는지만 검증한다.
- 스마트 컨트랙트가 어떤 내용으로 실행되었는지? 안에 어떤내용이 있는지는 검증 하지 않는다.
- 오더러가 블록을 생성하여 피어에게 준다.
- 피어는 블럭을 받아서 자신의 블록체인에 연결을 하고 월드 스테이트를 업데이트 한다.
과정 1~4 를 endorsement policies 라고 한다.
예를 들어 ) 3명중 2명에서 허락을 받겠다. 4명중 2명에게 받겠다 이런 정책들을 endorsement plicies 라고 한다.
과정 5 proposal package( proposals 모음0 )
비트랑 이더에서는 하나의 노드가 거래를 모으기도하고 블락을 모으기도 하고 모든걸 다 한다.
패브릭에서는 노드마다 역할이 다름.
Ledger
- 블록체인 ( 블록들과 거래가 있는 )
- World State (Peer 만 보관을 하고있다.)
- Peer만 들고있음 ( 활용한다.) ( 오더러가 들고 있는 Ledger는 배포용 )
합의
- 투표
- BFT ( 비잔틴 장군 문제)
- 3명중 2명이 OK 하면 OK
플로우 다이어그램
이 게시글은 Dapp Campus 의 강의를 보고 정리한 내용입니다!
https://www.youtube.com/watch?v=d9EmSrNFDY8&list=PLlYCl1UOH8dima_f8QOIeY1ieuOAYKo_G
'HyperledgerFabric > Core Concept' 카테고리의 다른 글
06 . Fabric Identity - 2 (0) | 2023.07.14 |
---|---|
05. FabricIdentity - 1 (0) | 2023.06.23 |
04. Fabric Network Setting Guide (0) | 2023.06.23 |
03.Fabric Study Guide (0) | 2023.06.23 |
02. Fabric Read&Write Set (0) | 2023.06.23 |