#7. 패브릭 채널

ㅁ패브릭이 프라이빗 블록체인으로서 가장  특징 : 채널. 특정 노드들 간의 소통.

 

ㅁ채널.

 ㅇ네트워크 멤버들  서브넷(하위 네트워크).

  -특정멤버들(피어, 유져, org) 끼리만 블록체인(렛져) 스마트컨트랙트(체인코드) 공유 가능.

  A, B 만의 채널 형성 가능.

  -다른 채널 데이터에 접근 불가.

  A피어가 ‘사과’, ‘포도채널에   가입돼 있으면,   접근 가능.

  ㆍ채널링(채널설정) 때에  과들을 관리하는 부장(피어) 멀티채널 가입하도록 가능.

 

 MSP, identity 의해 식별가능.

 

 ㅇ채널  블록체인 따로 존재.

  -채널 1개에 레져 1개임. 그래서 레져가 2개라면 채널도 2개임.(스마트컨트랙트는 설치를 해야 소유)

  -채널 제작 , genesis block 채널정보가 있는 트랜잭션으로 시작함. (채널의 생성과 시작은 genesis block)

  ㆍ각 피어들이 블락정보를 가지고 채널에 join하는 방식.

 

  -채널에 피어들이 블록 공유시.

  ㆍ리더피어 : 오더러와 연결해서 블록을 가져오는 기능( 피어들보다 최우선, 가장 먼저 수령)

    · 채널마다 리더 피어가 있으며 이들이 채널  피어들에게 블록배분,   각자 validating 하는 구조.

  ㆍ앵커링피어 : 네트워크 관련 정보를 공유.

    · 서로 다른 채널에 있는 앵커링 피어들은 비즈니스 로직과는 무관하게 네트워크에 있는 피어를 찾아줌.

 ㅇ동일채널의 체인코드들은 체인코드의 정보(이름, 번호) 알고 있을 경우, 상호작용 가능. /쓰기 호출가능.

 

 L1-S1 L2-S1 서로 읽을 수는 있지만 쓰기 못하고, 값을 변화 시킬  없음.

  - 피어는 모든 체인코드를 들고 있기에 읽을수 있지만, P2 L2 S1이나 S2 읽기 불가.

  - L2-S1 L1 내용을 불러 와서 작성불가.

 

ㅁ오더링 서비스와 피어를 통한 블록의 이동

 ㅇ색으로 채널의 구분하며 피어들이 가진 블록들이 쌓이는 과정.

 ㅇ피어가 레져를 들고 있고, 레져는 채널 별로 관리됨.

 ㅇ다른 채널의 체인코드는 호출불가. 가입되어 있으면 읽기만 가능.

#2. 패브릭 Write& Read

ㅁ패브릭의 사용방식

ㅇKVS. 키밸류스토어 방식. -값 한쌍으로- 키를 기반해서 값을 저장가능.

ㅇLevelDB(속도), CouchDB(복잡성) 사용

ㅇChaincode : 한 블록 내에서 하나의 키 값을 여러 번 읽고 수정 불가

 

Read Set, Write Set

한 블락에서 한번 수정 가능. ( 한 블록 내에서 ) 한번 Write 한 키에 대해서는 Read를 하면 실패한다.

peer가 시뮬레이팅 하는데 블록생성 않기 때문에 블록을 오더러 에게 받기 전에는 잘못된 값을 불러온다.

일반적인 상황에서는 굉장히 불편하게 만드는 제약

 

ㅁ그래서 패브릭이 선택한 방법은 Fabric - high through put network.

태그를 사용하여 여러 번의 읽고 수정해도 값이 제대로 나올 수 있도록 하는 기능

UTXO를 사용하기도 함

 

 

#3. 패브릭 스터디 가이드

어디서 부터 시작해야 하나-”

1. 패브릭 read the doc. ( https://hyperledger-fabric.readthedocs.io/en/release-1.4/whatis.html )

1) key concepts

2) Architecture Reference

3) Writing Your First Application

4) Building Your First Network (BYFN) : 로그 확인

-운영자 과정(operation Guides)과 개발자 과정이 있으니 필요따라-

 

2. 패브릭 samples

ㅇmarbles, balance-transfer, high-throughput, unit test

퍼스트 네트워크, 밸런스 트랜스퍼 예제 순으로 진행

ㅇBalance Transfer : 패브릭 SDK사용하여 체인코드 접근하는 예제

ㅇhigh-throughput : 패브릭에서의 고성능 체인코드 작성 위한 기능

 

3. 하이퍼렛져 프로젝트

패브릭이 가장 많이 사용되긴 하지만.

버로우(이더리움 기반. 쿼럼), 그리드(웹어셈블리), 인디(DID), 이로하(활발..), 캘리퍼(TPS 측정), 첼로(배포)

패브릭 블락 익스플로어(block explorer) : 이더스캔 같은 기능 하는 듯.

컴포져(composer) : 패브릭보다 간소화한 블록체인 툴. 패브릭 기반의 완전히 다른 아키텍쳐.

- 컴포져(composer) : 온라인의 플레이 그라운드 라는 풀 제공중. 바나나파일의 기능 사용하여 프로젝트 가능.

. Kubernetes : IBM에서 만들고 있는. 구글의 네트워크 관리(배포).

+ Recent posts