[POSTECH 블록체인 입문] Hyperledger Fabric
Web 3.0/Block chain

[POSTECH 블록체인 입문] Hyperledger Fabric

Hyperledger?

  • IBM, CISCO, SAMSUNG 등이 참여하는 오픈소스 프로젝트로, 이더리움과 다른 특징을 가짐
  • Private Blockchain으로써 기업 별도의 비즈니스 모델을 구현하기에 적합한 환경을 제공
  • 금융 산업에 특화된 다른 플랫폼과 달리 여러 산업에 범용적으로 도입 가능한 기술 표준 제공
  • 기업용 블록체인 기술을 위함

 

Hyperledger는 위 그림과 같이 총 16가지 오픈소스 프로젝트로 구성되어 있으며, 크게 Distributed Ledgers, Libraries, Tools로 나뉘고 그 안에서도 각각 5개의 프로젝트로 나눠져 있다.

 

Hyperledger는 블록체인 최대 오픈소스 커뮤니티 기반을 바탕으로 프레임워크 개발을 통해 다른 영역과의 인터페이스를 확장함으로써 다양한 산업 영역에서 영향을 미치고 있다.

 

또한, Tool을 활용해 블록체인의 개발부터 운영까지 모든 영역을 커버하고 있다.

Hyperledger Fabric?

보통 'Hyperleger'라고 하면 'Hyperleger Fabric'을 의미하는 경우가 많다. Hyperledger Fabric은 30여개의 조직과 200여명의 개발자가 참여하고 있는 프로젝트다.

 

허가받은 사용자만이 참여할 수 있는 블록체인이고, Channel이라는 개념을 도입함으로써 블록체인 참여자 간의 프라이버시를 강화할 수 있다.

Hyperleger Fabric은 기업용으로 개발되었고, Private Blockchain이기 때문에 참여자를 관리하기 위한 MSP라는 모듈이 있다. 이는 블록체인 네트워크 참여자에게 책임을 묻거나 부인방지를 할 수 있다.

 

또한, 허가된 사용자들이 특정한 목적을 가지고 블록체인 네트워크를 유지하므로 리워드가 필요 없는 시스템이다.

Hyperleger Fabric의 합의 알고리즘은 다른 블록체인 플랫폼들과 달리 모듈러 방식을 따르기 때문에, 개발자가 원하는 방식의 합의 알고리즘을 선택해 사용할 수 있다.

 

비트코인, 이더리움에서 의미하는 합의(consensus)는 블록을 생성할 권한을 누구에게 줄 것이냐에 대해 합의하는 것을 말한다면, Hyperleger Fabric에서의 합의는 거래 생성부터, 그 거래가 포함된 블록이 참여자에게 저장되기까지의 모든 과정을 합의라고 말한다.

 

합의 알고리즘은 사용자가 목적에 맞게 선택하게 되며 SOLO, Kafka 등이 있다.

Chaincode

위 그림에서 Chaincode는 Hyperleger Fabric의 스마트 컨트랙트 프로그램이다. 개발 언어로 솔리디티를 사용하는 이더리움과 달리 Chaincode는 Node.js와 Go와 같은 기존의 언어들을 활용할 수 있다.

 

분산 원장에 데이터를 기록하거나 데이터를 읽어 오기 위해 체인코드가 필요한데, 체인코드 그 자체로도 사용될 수 있지만 주로 비즈니스 모델에 맞는 DApp과 함께 개발되어 사용된다.

Channel

  • 전체 시스템을 다수의 채널로 구분하여 multi-blockchain으로 운영할 수 있다.
  • 전체 시스템을 다수의 채널로 구분하고, 채널 별로 독립적인 블록체인을 유지할 수 있다.
  • 참여자는 특정 채널에 가입함으로써 블록체인을 선택할 수 있고, 다수의 채널에 가입하는 것도 가능하다. 여러 개의 채널에 가입하게 되면 동시에 여러 개의 블록체인에 접근할 수 있다.

위 그림과 같이 공동 거래 채널을 의미하는 초록색 박스에 둘러 쌓인 모든 사용자는 동일한 원장을 유지하고, 모든 정보를 공유할 수 있다. 그리고 파란색, 보라색 점선처럼 기밀을 공유하고자 하는 참여자들 간에만 채널을 생성하여 별도의 원장을 유지하며 정보를 공유할 수도 있다.

 

Hyperledger Fabric의 특징

Hyperledger Fabric은 거래들을 병렬적으로 처리하여 이더리움과 비교했을 때 초당 처리 속도가 뛰어나고, 거래 블록이 만들어지는 즉시 승인된다.