HyperledgerFabric 9

10. Fabric User Management

목표 ! 유저관리를 어떻게 할 것인가? 어떻게 유저가 블록체인과 상호작용 하는가 ? Fabric의 유저 관리 MSP , CA msp : 패브릭에서 제공해주는 멤버쉽 관리, 전체적 기능을 추상적으로 얘기함. CA : 패브릭 CA가 네트워크를 셋업 할때 개인키도 만들어주고 컴포넌트들이 필요한 인증서도 만들어서 crypto-config에 넣어서 각 노드들이 서로를 인식할 수 있게 만들어줌. Chaincode 체인코드 안에서 PKI를 또 다르게 구현을 함으로써 체인코드 안에서도 유저 관리 가능. 유저 성생 비트코인 , 이더리움 오프라인 상에서 직접 개인키와 주소를 생성 할 수 있음. Fabric 어느 특정 기관( 회사 서비스,서버) 을 통해서 개인키와 인증서를 발급 받아야함. CA를 통해서 개인키와 인증서를 발..

08. Fabric Gossip Protocol

목표 ! 패브릭에서 구성요소들이 어떻게 서로 커뮤니케이션을 하는지 ( Gossip protocol ) 을 알아보자 비트나 이더 같은 경우는 마이닝을 하면서 정해직 규칙을 한번씩 검증을 함. 패브릭은 인증서를 기반으로 소통을한다 . ( 피어와 오더러 ,,, 등) Peer의 역할 종류 커밋터 모든 피어는 커밋터 피어임. 레저를 가지고 있고 , excute, validate 하는 역할 앵커 자신이 속한 Organization의 네트워크 정보를 가지고 있고, 전달 해주는 역할. 한 org에 여러 앵커 피어가 있을 수 있다. ( 기본적으로 하나의 앵커피어가 있다.) 리더 오더러부터 블록을 받아온다. 어드민이 리더를 정해줄 수 도 있고, 피어들끼리 선택할 수도 있다. 앵커피어 (cli를 이용하여) 채널을 만들 때 ..

07. Fabric Channel

채널 : 패브릭이 프라이빗 블록체인으로써 어떻게 퍼블릭 블록체인과 다른가? 를 대표하는 요소 실제로 비즈니스 로직이 들어간 네트워크를 설계할 때에는 채널에 관한 설계가 필수다. 채널? 네트워크 멤버들 사이의 서브넷(하위 네트워크) 특정 멤버들( 피어, 유저 org) 끼리만 블록체인과 체인코드를 공유할 수 있다. 다른 채널의 데이터는 접근 할 수 없다. ( PeerA가 채널 가,나 둘다 가입 되어 있으면 PeerA는 둘 다 접근 가능.) MSP , identity에 의해서 식별 될 수 있다. 채널을 처음 생성 할 때. 채널관련 트랜잭션을 만들고 그 안에는 채널에 속한 Org가 누가누가 있는지를 써줌. 서로를 인식할때는 MSP에 있는 PKI의 인증서를 기반으로 특정 채널에 어떤 피어가 있고 권한이 무엇인지 ..

06 . Fabric Identity - 2

목표! : Identity 들이 Fabric에서 어떤식으로 로지컬하게 역할을 하고 있는지 알아보자! Fabric 블락 안에 시그니쳐들 개념적으로 알아보자 ! MSP ( Membership Service Provider ) 패브릭에서 제공해주는 여러가지 권한들에 대한 가장 큰 부분을 차지함. 패브릭에서 노드들 간에 어떤 권한이 있는지 서로 분리주고 서로간의 인증 ,권한 이런것의 전체적인 개념을 제공. X.509 인증서 기반의 PKI 시스템으로 구현이 되어 있음. Fabric에서 노드/유저/채널 등등, 서로 간의 인증, 권한 관리를 해주는 기본적인 개념 또는 서비스 노드(Peer, Orderer, user) -> directory (MSP) 안에 있는 인증서를 가지고 한다. 노드, 오더러 들은 실제로 msp..

05. FabricIdentity - 1

목표 ! : 패브릭에서 가장 중요한 개념 중 하나인 Identity 를 알아 보자! 패브릭에서 Identity 는 결국 PKI를 기반으로 하는 인증서 기반의 시스템 이다. PKI 공개키 암호화 알고리즘 개인키 + 공개키 개인키 소유자가 가지고 있고 절대 비밀로 보관 데이터에 서명. 공개키로 암호화한 데이터를 복호화 할 수 있니다. 공개키 다른사람에게 알려주는 용도 개인키로 암호화한 데이터를 복호화 할 수 있습니다. 전자서명 데이터가 위변조 되지 않았다 라는 것을 PKI 시스템에서 알려주기 위한 시스템 원본데이터 ( 원본의 digest (원본 해쉬) 만든다. ) 개인키로 digest를 서명한 후에 원본에 붙인다. 공개키로 해당 digest를 복호화 한다. 원본을 통해서 만든 digest와 비교해서 검증한다..

04. Fabric Network Setting Guide

목표 ! : Fabric 의 전체적인 구조도와 구조도 속의 네트워크의 구성요소 Fabric 네트워크의 세팅 과정 알아보기 ( 머리속의 그림 그리기) 패브릭의 가장 중요한 요소 오더러 트랜잭션을 블럭에 차곡차곡 쌓아서 피어에게 던져줌 피어는 그 블록을 검증을 하고 원장에 작성함. 블록체인 네트워크에 관련된 전반적인 기능을 수행 피어 블록체인 데이터를 보유 ( 원장 보유 ) 체인코드를 가지고 원장에 직접적으로 접근하고 유저 , 어플리케이션 ( A ) 트랜잭션들을 만들어서 자신의 키로 서명해서 피어에게 전달하고 다시 전달 받은걸 오더러에게 전달 Ledger(블록체인) ( L ) 오더러도 원장을 들고는 있지만 실제로 직접적으로 렛저 데이터에 접근하고 렛저데이터를 시뮬레이팅하고 validation 하는건 피어 노..

03.Fabric Study Guide

Fabric 공부 가이드 Fabricsamples/ high - throughput Network ( 예제 ) 패브릭에서 어떻게 해야 고성능의 체인코드를 짤 수 있느냐 ? 에 대한 내용 체인코드가 도커형태로 뜨고 체인코드를 배포하고 사용하고 실행하는 환경이 굉장히 복잡함. 로컬에서 테스트 해볼 수 있는게 굉장히 중요하다. Unit Test를 하면 체인코드 개발 속도가 빨라진다. Hyperledger tools - Hyperledger block explorer - Hyperledger caliper 퍼포먼스를 체크함. - Hyperledger cello 디플로이를 위한 툴. 배포를 도와줌 - Hyperledger composer 로드맵 본 게시글은 Dapp Campus 의 강의를 보고 정리한 내용입니다!..

02. Fabric Read&Write Set

목표 ! Fabric 에서 체인코드가 어떤식으로 읽고 쓰는지 ( read&Write set) 알아보기 이 부분을 이해해야 체인코드를 작성하고 체인코드 스트럭처 를 설계 할 수 있다. TPS 가 높은 체인코드를 설계 가능 Fabric이 사용하는 방식은 KVS( Key-Value Store) Level, Couch ( 레벨디비는 속도가 빠르고 카우치디비는 복잡한 쿼리문 작성 가능) 체인코드안에서는 A :100 , B : hello ( 체인코드에서 값을 저장하는 방식) ( key - value ) 다른점 ? : 한 블록 내에서 하나의 키 값을 여러 번 읽어서 바꿔 쓸 수가 없다.( 한 블락에서 한번 작성 ) Read Set , Write Set (https://hyperledger-fabric.readthed..

01.Fabric Structure

목표 ! 아래 사진 이해하기 패브릭과 비트 , 이더를 비교하여 설명 비트 , 이더 ( 퍼블릭 블록체인) 블록 생성자 = 스마트 컨트랙트 처리 노드 개인키 기반 프로그램 하나가 모든 걸 처리함. 비트코인 코어, 이더리움 클라이언트 ( 마이닝, 지갑, 블록체인 저장 ,월드스테이 등,,) 모든역할을 다 함. 패브릭 ( 프라이빗 블록체인) 블록 생성자 != 스마트 컨트랙트 처리 노드 인증서 기반 상호작용, 중간관리자의 역할(CA가 인증서를 발급함.) ...ex) 공인인증서 하나의 키 값 한 블록에서 여러 번 바꿀 수가 없다. (방식이 비트,이더와 다름) 아키텍처 에서 발생하는 큰 차이점 중 하나. (체인코드 로직이 좀 다르다 .) 오더러는 블록생성만, ( 물론 오더러도 블록체인을 보관하긴 함.) 구성요소가 나누..