채널 : 패브릭이 프라이빗 블록체인으로써 어떻게 퍼블릭 블록체인과 다른가? 를 대표하는 요소
실제로 비즈니스 로직이 들어간 네트워크를 설계할 때에는 채널에 관한 설계가 필수다.
채널?
- 네트워크 멤버들 사이의 서브넷(하위 네트워크)
- 특정 멤버들( 피어, 유저 org) 끼리만 블록체인과 체인코드를 공유할 수 있다.
- 다른 채널의 데이터는 접근 할 수 없다. ( PeerA가 채널 가,나 둘다 가입 되어 있으면 PeerA는 둘 다 접근 가능.)
- MSP , identity에 의해서 식별 될 수 있다.
- 채널을 처음 생성 할 때. 채널관련 트랜잭션을 만들고 그 안에는 채널에 속한 Org가 누가누가 있는지를 써줌.
- 서로를 인식할때는 MSP에 있는 PKI의 인증서를 기반으로 특정 채널에 어떤 피어가 있고 권한이 무엇인지 인식함.)
- 체널 별로 블록체인이 따로 존재
- 채널을 만들 때 genesis block에 채널의 정보가 있는 트랜젝션으로 시작한다.
- Configtx.yaml을 통해서 채널에 관한 정보를 tx에 적어서 제네시스 블락에 정보를 넣음.
- 각 피어들이 제네시스 블럭을 통해 채널을 가입함.
- 채널에 피어블이 블록을 공유할 때!
- 리더피어 : 오더러와 연결해서 블록을 가져오는 애 ( 가장 먼저 ) (블록을 다른 피어들에게 전달을 해줌.)
- 앵커링 피어 : 네트워크 관련 정보를 공유한다.
채널 1 : S1, L1
채널 2 : S1, S2, L2
같은 채널 내의 체인코드들은 서로 알고있으면 (체인코드 이름, 버전 … 등) 호출 할 수있다.
(S1, S2는 서로 여러가지 상호작용이 가능하다.)
다른 채널의 체인코드들은 서로 read만 된다.
오더러 서비스와 피어를 통해 데이터가 왔다 갔다 함.
같은 색 , 같은 모양은 같은 채널에 있는 블럭. ( 파란색, 주황색, 초록색 .. )
정리
- 피어가 레저를 들고 있다.
- 레저는 채널 별로 관리 된다.
- 다른 채널에 있는 체인코드는 (가입 되어 있지 않으면) 호출할 수 없다.( read만 가능 )
본 게시글은 Dapp Campus 의 강의를 보고 정리한 내용입니다!
'HyperledgerFabric > Core Concept' 카테고리의 다른 글
10. Fabric User Management (0) | 2023.07.19 |
---|---|
08. Fabric Gossip Protocol (0) | 2023.07.14 |
06 . Fabric Identity - 2 (0) | 2023.07.14 |
05. FabricIdentity - 1 (0) | 2023.06.23 |
04. Fabric Network Setting Guide (0) | 2023.06.23 |