ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 4. Blockchain network(1)
    하이퍼레저 패브릭/이론 2019. 3. 31. 10:07

    4. Blockchain network

    블록체인 네트워크란?

     

    블록 체인 네트워크는 원장 및 스마트 컨트랙트(체인 코드) 서비스를 애플리케이션에 제공하는 기술 인프라이다. 주로 스마트 컨트랙트는 트랜잭션을 생성하는데 사용되며 이후 네트워크의 모든 피어 노드에 배포되어 원장 사본에 변경할 수 없도록 기록된다. 어플리케이션 사용자는 end user이거나 블록 체인 네트워크 관리자일 수 있다.

    대부분의 경우 네트워크를 구성하기 위해 여러 조직이 컨소시엄으로 모여 있으며 네트워크가 처음 생성되었을 때 컨소시엄이 합의한 정책으로 사용 권한을 결정한다. 더욱이, 네트워크 정책은 컨소시엄에서 조직이 합의함에 따라 시간이 지나면 바뀔 수 있다.

    네트워크 샘플

     

    R1, R2, R3 R4 네 단체는 공동으로 Hyperledger Fabric 네트워크를 설치하고 이용하도록 계약을 체결했다. R4가 네트워크 초기자가 되도록 지정되었으므로 초기 버전의 네트워크를 설정할 수 있는 권한이 부여되었다. R4는 네트워크에서 비즈니스 트랜잭션을 수행하지 않는다. R1 R2 R2 R3처럼 전체 네트워크 내에서 분리된 통신이 필요하다. 조직 R1에는 채널 C1에서 비즈니스 트랜잭션을 수행할 수 있는 클라이언트 응용 프로그램이 있다. 조직 R2에는 채널 C1 C2 모두에서 유사한 작업을 수행할 수 있는 클라이언트 응용 프로그램이 있다. 조직 R3에는 채널 C2에서 이를 수행할 수 있는 클라이언트 응용 프로그램이 있다. 피어 노드 P1 C1과 연결된 원장 L1의 복사본을 보유하고, 피어 노드 P2 C1과 연결된 원장 L1의 복사본과 C2와 연결된 원장 L2의 복사본을 보유하고, 피어 노드 P3 C2와 연결된 원장 L2의 복사본을 보유한다. 네트워크는 네트워크 구성 NC4의 정책 규칙에 따라 관리되며 네트워크는 조직 R1 R4가 관리한다. 채널 C1은 채널 구성 CC1에 지정된 정책 규칙에 따라 관리되며 조직 R1 R2가 지시한다. 채널 C2는 채널 구성 CC2의 정책 규칙에 따라 관리되며 조직 R2 R3가 지시한다. 네트워크 N에 대해 관리 지점으로 서비스를 제공하는 ordering service O4가 있으며 시스템 채널을 사용한다. Ordering service는 트랜잭션 블록을 배포하기 위해 응용 프로그램 채널 C1 C2도 지원한다. 그리고 네 개의 조직이 사용하는 인증기관은 서로 다를 수 있다.

    네트워크 생성하기

    Ordering service O4가 시작되면 네트워크가 형성된다. 예제 네트워크 N에서 단일 노드 O4로 구성된 ordering serviceR4에게 관리권한을 부여하는 네트워크 구성 NC4의 정책규칙에 따라 구성된다. NC4는 네트워크 레벨에서 인증 기관 CA4 R4 조직의 관리자 및 네트워크 노드에 인증서를 분배하는데 사용된다.

    우리는 네트워크 N을 첫번째로 정의하는 것은 ordering service O4임을 알 수 있다. Ordering service를 네트워크의 초기 관리 지점으로 생각하면 된다. 앞서 말한대로 O4는 조직 R4의 관리자가 처음 구성하고 시작하며 R4에서 호스팅된다. NC4에는 네트워크에 대한 관리 기능의 starting set을 설명하는 정책이 들어 있다. 처음에는 R4만 네트워크의 권한을 갖고 있으며 현재 R4는 네트워크의 유일한 구성원이다.

    네트워크 관리자 추가하기

     

    네트워크 상에서 NC4는 처음에 R4에게만 사용자 관리 권한을 부여했다.

     

    조직 R4는 네트워크 구성을 업데이트하여 조직 R1도 관리자로 만든다. 이 시점 이후에 R1 R4는 네트워크 구성에 대해 동등한 권한을 갖는다.

    새로운 조직 R1이 관리자로 추가되었다. 또한 R1의 사용자를 식별할 수 있게 해주는 CA1이 추가되었음을 확인할 수 있다. 이 시점부터 R1 R4 사용자는 네트워크를 관리할 수 있다.

    Ordering nodeO4R4의 인프라에서 실행 중이지만, R1도 네트워크 접근 권한이 있으면 관리 권한을 공유한다. 이는 R1 또는 R4 NC4를 업데이트하여 조직 R2가 네트워크 운영의 서브셋을 허용할 수 있다. 이렇게 하면 Ordering serviceR4가 실행하더라도 R1도 관리 권한을 갖는다. 하지만 R2는 새로운 컨소시엄을 만들 권리가 제한된다.

    예제는 가장 간단한 형태로 Ordering service는 네트워크의 단일 노드이다. Ordering service는 일반적으로 다중 노드이며 서로 다른 조직에 서로 다른 노드를 갖도록 구성할 수 있다. 예를 들어 조직 R4에서 Ordering nodeO4를 실행하고 Organization R1의 별도 Ordering node O2에 연결할 수 있다. 이 방법으로 다중 사이트, 다중 조직 관리 구조를 갖게 된다.

    컨소시엄 정의하기

     

    현재 네트워크는 R1 R4에 의해 관리되고 있으며, 해야 할 첫 번째 일은 컨소시엄을 정의하는 것이다. 컨소시엄은 글자 그대로 "공유 운명을 가진 그룹"을 의미하므로 블록 체인 네트워크에서 몇 개의 조직을 선택해 묶는 작업이다.

    네트워크 관리자는 R1 R2의 두 조직으로 구성되는 컨소시엄 X1을 정의한다. 이 컨소시엄의 정의는 NC4에 저장되며 네트워크 개발의 다음 단계에서 사용된다. 인증 기관 CA1 CA2는 조직 R1R2의 인증 기관이다.

    NC4R1R4만으로 구성되어 있으므로 R1 또는 R4만이 새로운 컨소시엄을 만들 수 있다. 또한 R2의 사용자를 식별하기 위해 인증 기관 CA2가 추가되었음을 알 수 있다. 컨소시엄의 조직의 개수는 제한이 없다. 예제에서는 가장 간단하게 조직 2개로 구성하였다.

    컨소시엄이 중요한 이유는 무엇일까? 컨소시엄은 네트워크에서 서로 거래를 하는 조직들 (이 경우 R1 R2)을 정의한다. 조직이 공통의 목표를 가지고 있다면 조직을 그룹화하는 것이 합리적이다.

    우리는 이제 컨소시엄 X1을 이용하여 하이퍼레저 패브릭 블록체인에서 매우 중요한 부분(채널)을 생성할 것이다.

    '하이퍼레저 패브릭 > 이론' 카테고리의 다른 글

    4. Blockchain network(3)  (0) 2019.03.31
    4. Blockchain network(2)  (0) 2019.03.31
    3. Hyperledger Fabric Model  (0) 2019.03.31
    2. Hyperledger Fabric Functionalities  (0) 2019.03.31
    1. introduction  (0) 2019.03.31
Designed by Tistory.