HyperledgerFabric/Core Concept

07. Fabric Channel

서견 2023. 7. 14. 10:45

채널 : 패브릭이 프라이빗 블록체인으로써 어떻게 퍼블릭 블록체인과 다른가? 를 대표하는 요소

실제로 비즈니스 로직이 들어간 네트워크를 설계할 때에는 채널에 관한 설계가 필수다.

 

채널?

  • 네트워크 멤버들 사이의 서브넷(하위 네트워크)
    • 특정 멤버들( 피어, 유저 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 의 강의를 보고 정리한 내용입니다!

 

https://www.youtube.com/watch?v=10uaSz-vYdM&list=PLlYCl1UOH8dima_f8QOIeY1ieuOAYKo_G&index=7

'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