본문 바로가기
BlockChain/Hyperledger Fabric

[Hyperledger Fabric] 개념 및 용어 설명

by 손정빈 2019. 2. 15.
728x90
반응형

하이퍼레저 프로젝트는 5개의 프레임인 Fabric, Iroha,Swathooth, Burrow, Indy 5개의 도구(tool) Quilt, Composer, Explorer, Cello, Caliper 이루어진다.

 

1세대 블록체인 비트코인과 2세대 블록체인 이더리움은 서로 신뢰의 여부를 확인할 없는 많은 사람들이 모여서 공개적으로 합의하고 타임스탬프와 전자 섬여을 통해 새로운 '합의된 신뢰' 만들 있다는 믿음 위에 있다.

 

그러나 하이퍼레저 프로젝트에 참여하고 있는 기관들은 이러한 주장을 ‘아직도 시간이 걸리는 이상적인 제안’으로 간주하고 있다.

블록체인의 스마트 계약이 기존의 많은 자산의 흐름을 대신할 수는 있지만, 실제로 존재하고 움직이고 있는 현실세계의 많은 계약들은 기밀성을 요구하고 있다. 따라서 누구든지 원하는 사람은 모두 참여할 수 있는 공개된 네트워크가 아니라 가입이 통제되고 회원 관리가 가능한 권한형 블록체인(Permissioned Blockchain)이 필요하다는 것이 하이퍼레저 프로젝트에 참여하고 있는 기관들의 논리이다.

 

용어 정리

  • Transactor : 트랜잭션을 일으키는 엔티티(개체) 말한다. 대표적으로 클라이언트 애플리케이션
  • Transaction : 트랜잭션은 블록체인 네트워크에 대해서 비즈니스 로직을 수행하기 위한 요청을 의미한다. 트랜잭션의 유형은 deploy, invoke, query, 체인코드를 통해 사전 정의된 인터페이스에 대한 함수를 구현한다.
  • Ledger : 트랜잭션과 현재 세계 상태를 포함하는 일련의 암호학적으로 링크된 블록, 이전 거래의 데이터 외에도 원장에는 현재 실행중인 체인코드 애플리케이션의 데이터가 포함되어 있다.
  • World state : 트랜잭션에 의해서 체인코드가 호출될 상태 데이터 저장을 위한 Key-value 데이터베이스
  • ChainCode : 다양한 트랜잭션의 유형을 구현한 블록체인에 임베디되는 로직. 개발자에 의해 체인코드가 작성되고 블록체인 네트워크로 디플로이 한다. 최종 사용자는 블록체인 네트워크를 구성하는 피어 또는 노드와 인터페이스 되어 있는 클라이언트 애플리케잇녀을 통해 체인코드를 실행시킨다. 체인코드는 트랜잭션을 일으키고 유효성이 확인되면 공유원장에 추가하고 World state 수정한다.
  • Validating peer (VP) : 블록체인 네트워크에서 원장을 관리 유지하기 위해서 트랜잭션의 유효성을 검증하는 합의 프로토콜을 실행하는 노드. 검증된 트랜잭션은 원장에 블록 단위로 추간된다. 트랜잭션이 합의에 실패하면 블록에서 제거되므로 장부에 기록되지 않는다.
  • Non-validating peer (NVP) : Transactor Validating peer 접속 있도록 프록시 역할을 하는 노드
  • Consensus : 블록체인 네트워크의 트랜잭션 순서를 유지하는 프로토콜, Validating 노드들은 합의 프로토콜을 구현하여 트랜잭션을 승인하기 위해 함께 동작함.
  • Permissioned network : 노드는 블록체인 네트워크에서 접근 권한을 관리해야하는 노드이며, 노드는 권한이 있는 사용자만 접근 있다.

 

아키텍처


  1. Membersip Services
  • 멤버십 서비스는 블록체인 네트워크에서 인증 서비스를 제공한다. 엔티티가 장기적인 인증서를 획득하기 위해 등록절차를 거치게되며, 유형에 따라 구별될 있다. 사용자의 경우  TCA(Transaction Certificate Authority) 인증서를 발급 있다. 여기서 획득한 인증서는 트랜잭션을 발생시킬때 인증하는데 사용된다.
  1. Blockchain Services
  • 블록체인 서비스는 HTTP/2 표준을 기반으로 P2P 프로토콜을 통해 분산원장을 관리한다. 데이터 구존느 해시 알고리즘을 통해 World State 복제하는 관리 하는데 가장 효율적으로 관리할 있도록 최적화되어 있다. 필요에 따라 다른 합의 알고리즘 프로토콜(PBFT,RAFT,Pow,Pos) 연결하고 구성 있다.
  1. Chaincode Services
  • 체인코드 서비스는 Validating 노드에서 안전하고 가벼운 방법으로 체인코드가 실행되도록 보장한다.

반응형

'BlockChain > Hyperledger Fabric' 카테고리의 다른 글

[Hyperledger Fabric] Identity란?  (0) 2019.02.28
[Hyperledger Fabric] blockchain이란?  (0) 2019.02.27
[Hyperledger Fabric] Peer 설명  (1) 2019.02.20

댓글