hyperledger/fabDoc.Arch-Ref
6) Channels
바이수
2019. 8. 18. 18:11
원서 : https://hyperledger-fabric.readthedocs.io/en/release-1.4/channels.html
- Hyperledger Fabric의 channel은 network에 몇몇 member간 통신을하는 private한 subnet이다.
- channel에는 "organization 및 member", "각 member당 anchor-peer", "공유 ledger", "chaincode", "orderer" 등이 정의 됩니다.
- network의 각 transaction은 channel에서 실행이 되고, 각자 처리기 될수있도록 인증 및 인가 됩니다.
- 각각에 peer는 MSP기반으로 주어진 identity가 있습니다.
- 새로운 channel을 만들기 위해선, SDK으로 system-chaincode를 호출하면 됩니다.
- 이러한 호출을 통해서, 한 channel의 ledger를 위한 genesis-block이 생성되어 집니다.
- 즉, 이 genesis-block에 channel의 정책 및 member 및 anchor-peer 등의 정보가 기록 됩니다.
- 새로운 member가 추가되면, genesis-block을 재설정 하여서~ 모두에게 다시 공유합니다.
- channel의 member들에 leading-peer를 선출하는 것은, orderer와 통신할 대표 peer를 정하는것 입니다.
- 즉, consensus으로 transaction을 순서화하고 전달되는 과정에서~ leading-peer가 gossip을 통해 channel 전체적으로 block을 분배하는것 입니다.
- anchor-peer는 복수의 channel에 속할수있고, 복수의 ledger를 관리할수 있지만~ 그렇다고 특정 ledger에 데이터를 다른 channel으로 할수는 없습니다.
- channel에 의해 분리된 ledger는 "configuration-chaincode" 및 "MSP identity" 및 "gossip" 으로 정의되고 구현됩니다.
- channel에 데이터를 공유하는 일은 검증된 MSP identity의 peer만 할수있습니다.
- 어렇게 peer와 ledger를 channel별로 고립화 시킴으로서, 같은 blockchain network상에서도 member별 기밀 및 개인정보가 보호되고~ 서로 공존할수 있는것 입니다.
-끝-