Luniverse User Guide

루니버스 사용을 환영합니다!
이 페이지에서는 루니버스 서비스 사용 가이드를 제공합니다.
루니버스를 사용하여 다양한 디앱(DApp)을 제작해보세요.

Welcome to Luniverse!
This page provides a guide to using the Luniverse service.
Try to create various DApps by utilizing Luniverse.

Guides

하이퍼레저 패브릭 특징 알아보기

하이퍼레저 패브릭의 특징

  1. 신원 관리
    • 패브릭 네트워크에 접속할 수 있는 사용자의 신원을 관리하고 인증하는 서비스를 제공합니다.
  2. 기밀 유지
    • 패브릭 네트워크에서는 각 원장이 '채널'이라는 이름으로 나뉘어져 있으며, 각 채널에 접속할 수 있는 사용자를 제한할 수 있습니다. 채널의 접속이 제한된 사용자는 그 채널의 데이터를 조회할 수 없기 때문에 기밀을 유지할 수 있습니다.
  3. 효율적인 처리
    • 비교적 신뢰할 수 있는, 미리 허가된 사용자만 참여할 수 있는 특징으로 인해 패브릭 네트워크에는 악의적인 노드가 거의 없다고 가정할 수 있습니다. 따라서 블록의 합의에도 많은 노력이 필요하지 않습니다.
    • 트랜잭션의 실행과 트랜잭션 순서 합의가 서로 분리되어 있어 트랜잭션의 실행을 병렬적으로 처리할 수 있습니다.
    • 트랜잭션이 발생하지 않으면 블록이 생성되지 않기 때문에 쓸데없는 데이터가 늘어나지 않습니다.
  4. 체인코드
    • 이더리움에 스마트 컨트랙트(smart contract)가 있듯이 하이퍼레저 패브릭에는 체인코드(chain code)가 있습니다. 체인코드는 보통 네트워크 멤버들이 동의한 비즈니스 로직을 처리합니다.
    • 권한만 있으면 하나의 체인코드가 다른 채널의 체인코드도 호출(조회만 허용)할 수 있습니다.
    • 체인코드는 Go, Node.js, Java로 작성할 수 있으며, 체인코드는 원하는 노드에만 설치할 수도 있습니다.

하이퍼레저 패브릭 네트워크의 구성

출처 : Hyperledger Korea User Group

패브릭 네트워크는 다음과 같은 요소로 구성됩니다.

  1. 조직 (Organization)
    • 조직(organization)은 패브릭 네트워크에 참여하는 하나의 사용자그룹 단위입니다. 조직별로 노드를 운영하며, 하나의 조직에는 여러 명의 사용자를 가질 수 있습니다.
    • 보통 이해 관계가 맞는 여러 회사들이 연합체(consortium)를 구성하여 패브릭 네트워크를 운영하는데, 이 때 각 회사들이 하나의 패브릭 조직(organization)으로 참여하게 됩니다.
  2. CA
    • 패브릭 네트워크의 각 조직들은 자신의 신원을 관리하고 각 조직에 속한 사용자들을 인증하기 위해 CA(Certificate Authority)를 운영합니다. CA는 조직과 사용자들에게 디지털 증명서(digital certificate)를 발급하는 역할을 합니다.
    • 패브릭 네트워크에 참여하는 각 조직들은 모두 개별 CA를 이용합니다.
  3. 피어 (Peer)
    • 피어 노드는 오더러가 만든 블록을 검증하고 그 블록을 바탕으로 원장을 저장하고 유지하는 노드입니다.
    • 또한 클라이언트의 요청에 의해 발생하는 체인코드의 실행을 담당하며 체인코드 실행 결과를 트랜잭션으로 만들어 오더러에게 전달합니다.
    • 보통 각 조직별로 일정 개수의 피어 노드를 구성하여 네트워크에 참여합니다.
  4. 오더러 (Orderer, Ordering service)
    • 오더러 노드는 패브릭 네트워크에서 블록 내의 트랜잭션 순서를 결정하는 역할을 담당합니다.
    • 일반적으로 알려진 여러 공개형 블록체인들의 합의 모델과 달리 하이퍼레저 패브릭의 신뢰 모델은 오더러와 체인코드 보증 정책을 통해 이루어집니다. 체인코드의 보증 정책에 따라, 하나 내지 여러 피어에게 같은 입력에 대한 체인 코드 실행 결과가 동일함을 보증받는 것이 첫 번째 신뢰 단계이고, 체인코드가 생성한 트랜잭션들이 오더러에 의해 한 블록 내에서 같은 순서로 취합되는 것이 두 번째 신뢰 단계입니다.
    • 한 조직이 전담해서 오더링 서비스 노드를 구성하거나, 여러 조직이 나눠서 오더링 서비스를 구성하는 등 여러가지 방식으로 오더러 노드를 구성할 수 있습니다. 현재 공식적으로 지원되는 합의 방식은 raft 방식이며 기존의 kafka 방식은 하이퍼레저 패브릭 2.0 부터 지원이 종료되었습니다.
  5. 채널 (Channel)
    • 채널은 하나의 원장을 나타내는 논리적 개념입니다. 하나의 패브릭 네트워크 안에 여러 개의 채널을 만들 수 있으며 각 채널별로 별도의 접근 권한을 설정할 수 있습니다. 따라서 중요한 정보를 별도의 채널을 구성하여 저장하고 그 채널의 접근 권한을 제어하면, 패브릭 네트워크 사용자라고 하더라도 쉽게 접근할 수 없도록 제한할 수 있습니다.
    • 각 피어 노드는 자신이 저장하고 유지할 채널을 선택하여 서비스 할 수 있으며, 여러 개의 채널을 하나의 피어 노드에서 서비스 할 수도 있습니다. 같은 채널을 서비스하는 피어 노드들은 결국 모두 동일한 원장을 가지게 됩니다.
  6. 클라이언트 (Client)
    • 패브릭 클라이언트는 패브릭 네트워크를 사용하는 어플리케이션을 말합니다. 패브릭 네트워크를 사용할 수 있는 유저 정보와 패브릭 네트워크 접속 정보를 이용하면 네트워크 외부에서 트랜잭션을 발생시키거나 데이터를 조회할 수 있습니다.
    • 현재 지원하는 하이퍼레저 패브릭 SDK 는 Node.js, Java, Go SDK 입니다.

Updated 5 months ago

하이퍼레저 패브릭 특징 알아보기


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.