반응형
1. Gossip
- peer 들은 스스로 끊임 없이 브로드캐스트 메시지를 생성하여 peer 들의 상태를 확인
- 상태를 업데이트 하지 못한 peer 는 무작위로 보내지는 분산원장을 받을 수 없음
- 각 조직의 peer 들은 orderer 로부터 분산원장을 업데이트 할 수 있는데 한 꺼번에 많이 오면 과부하
- Leader peer 를 무작위로 선출하여 대표로 orderer와 통신
Leader peer
- peer 들에게 주기적으로 heartbeat 메시지를 보내어 살아있는지 확인
- heartbeat 메시지가 수신되지 않으면 죽은것으로 간주후 채널에서 제
2. Identity
PKI (public key infrastructure)
- peer, orderer, client 가 서로 신원을 확인할 수 있게함
- peer, orderer, client 의 디지털 인증서를 cryptogen, Fabric-CA 를 이용하여 생성가능
- 디지털 인증서를 안전하게 제공/생성/관리하는 기술
- CA (Certificate Authority) 에서 관리
- 디지털인증서, 공개키/비밀키, CA, Certificate Revocation List
디지털인증서
- 국제표준 X.509 인증서 사용
- 인증서 양식
- Certificate Format Version : 인증서 버전
- Certificate Serial Number : 인증서 시리얼 구분번호
- Signature Algorithm Identifier for CA : CA가 사인할 때 사용하는 알고리즘
- Issuer Name : CA 정보
- Validity Period : 인증서 유효기간의 시작일과 만료일
- Subject Name : 인증서 사용자 정보
- Subject Public Key Information : 인증서 사용자 공개키
- Extension : 인증서의 추가적인 정보와 정책
- CA Signature : CA의 디지털 인증서
공개키와 비밀키
- 신원인증과 데이터 암호화
- 인증방식
- 사용자A의 비밀키를 이요해 데이터 암호화
- 사용자 A의 공개키 획득
- 암호화된 파일 전송
- 사용자A의 공개키를 이용해 데이터를 복호화
- 데이터 암호화방식
- 사용자 A의 공개키 획득
- 사용자A의 공개키를 이요해 데이터 암호화
- 암호화된 파일 전송
- 사용자A의 비밀키를 이용해 데이터 복호화
CA
- 공개키와 비밀키만으로는 보안이 취약하여 나온 인증 노드
- 사용자A의 공개키를 CA 로 부터 받아 사용자 인증
CRL
- 폐기된 인증서에 대한 목록
3. MSP(Mermbership Service Provider)
- Identity 기술을 바탕으로 만든 멤버쉽 관리 기술
- 각 organization 에 맞게 조직을 세분화 할 수 있음
Local MSP
- 하이퍼레저 패브릭 네트워크 노드에 역할을 부여함
- 어떤 노드가 peer, orderer, client 인지 정의
- 노드별 권한 정의
- 모든 네트워크 노드는 하나 이상의 local MSP 정의되어야 함
Channel MSP
채널 구성원들에 대한 멤버십 정의와 권한을 부여
구성원들은 각자의 local MSP 를 통해 하나의 Channel MSP 를 생성
- org1, org2 은 각자의 local MSP 를 이용하여 서로 데이터를 공유할 수 있는 channel MSP 를 만듦
MSP 구조
- Root CA : 하이퍼레저 패브릭의 RCA (Root CA) 디지털 인증서
- Intermediate CA : 하이퍼레저 패브릭의ICA 디지털 인증서
- CA 는 여러개의 CA로 구성될 수 있고 각각의 세분화된 조직마다 ICA를 하나씩 설치하여MSP 관리
- Organizational Units(OU) : ICA 를 사용하지 않고 하나의 CA를 이요해서 조직을 세분화하고 싶을 때 사용
- Administrators : 조직 운영자의 인증서
- Revoked Certificate : 폐기된 인증서
- Node Identity : 개인키로 암호화한 인증서를 나타냄
- Keystore : 개인키를 나타냄
- TLS Root CA : 보안강화를 위해 TLS 기능을 사용할때 Root CA 로부터 발급받은 TLS 인증서를 나타냄
- TLS Intermidiate CA : ICA 로 부터 발급받은 TLS 인증서 나타냄
4. Orderer
- 블록을 생성하여 peer 에게 전달
과정
트랜잭션 제출
- DApp 이 Endorsing peer 에게 트랜잭션을 제출
- Endorsing peer 는 전달받은 proposal 값을 바탕으로 체인코드를 시뮬레이션
- 올바른 값이 나오면 Identity 를 이용해 서명한 디지털 인증서와 read/write set을 함께 DApp에 전송
- 해당 트랜잭션의 체인코드가 실행되는 과정
블록 패키징
- 제출한 트랜잭션을 orderer가 수집하여 순서대로 정렬한 후 최신 블록을 생성하는 과정
- Endorsing peer 에게 받은 인증서와 set를 DApp 은 orderer 에게 전달
- 트랜잭션을 전달받은 orderer은 순서대로 정렬한 후 최신 블록 생성
검증
- 생성한 블록을 각 조직의 peer 들에게 전달하고 peer 는 해당 블록이 올바르게 생성됐는지 검증
- orderer 에게 블록을 전달받은 Leader peer 는 peer 들에게 블록을 전달
- peer 들은 블록에 포함된 결괏값이 정상적인지, 각각의 트랜잭션 결괏값이 정책에 부합하는지 검증 작업 거침
- 로컬저장소에 블록체인에 최신 블록을 추가하고 World state 데이터 베이스를 업데이트
카프카 클러스터
- 파티션에 topic 단위의 메시지를 저장
- 메시지는 여러 파티션에 복사되어 저장
- 데이터가 손실이 되어도 복구 가능
- 일정한 메시지가 모이면 consumer 에게 전달
- Producer - orderer
- Consumer - Peer
- Topic - 분산원장
반응형
'BlockChain > HyperLedger Fabric' 카테고리의 다른 글
[HyperLedger] MSP 생성 (0) | 2021.08.08 |
---|---|
[HyperLedger] 트랜잭션 처리 과정 (0) | 2021.08.02 |
[HyperLedger] 네트워크 구축 과정 (0) | 2021.08.02 |
[HyperLeger] Endorsment, Organization, Channel, Leger (0) | 2021.08.02 |
[HyperLeger] Peer, ChainCode, DApp (0) | 2021.08.02 |