티스토리 뷰

반응형

해당 글은 Hyperledger Fabric 페이지의 게시글을 번역 및 정리한 자료입니다.

원본 사이트 : https://hyperledger-fabric.readthedocs.io/en/release-1.2/network/network.html


What is a Fabric Network?

패브릭 허가 블록 체인 네트워크는 응용 프로그램 소비자 및 관리자에게 원장 서비스를 제공하는 기술 인프라입니다. 대부분의 경우 여러 조직이 네트워크를 구성하기 위해 컨소시엄으로 모여서 네트워크 사용 권한이 네트워크가 처음 구성되었을 때 컨소시엄이 동의 한 정책 집합에 의해 결정됩니다. 또한 네트워크 정책은 컨소시엄에서 조직의 합의에 따라 시간이 지남에 따라 변경 될 수 있습니다.

이 문서는 조직에서 Hyperledger 패브릭 네트워크를 구성 및 배포하고, 네트워크 내에서 거래하도록 채널을 구성하며, 네트워크 수명 기간에 이러한 결정을 업데이트하는 방법을 결정하는 데 도움이 될 것입니다. 또한 이러한 결정이 Hyperledger Fabric의 아키텍처 및 구성 요소에 어떻게 포함되는지 배우게됩니다.


Who should read this?

이 주제에서는 네트워크의 주요 구성 요소, 네트워크가 존재하는 이유 및 네트워크를 사용할시기에 중점을 두어 설명합니다. 이 항목은 블록 체인 아키텍트 및 블록 체인 네트워크 관리자를 대상으로합니다. 블록 체인 어플리케이션 개발자들도 관심을 가질 수 있습니다. 이것이 개념적 문서로 의도 되었기 때문에, 기술적 인 세부 사항을 더 깊이 파고 싶다면 이 사이트에서 사용 가능한 기술 문서를 검토하는 것이 좋습니다.


The business requirements for the blockchain network – Example

조직 RA, RB, RC 및 RD는 Fabric 블록 체인 네트워크에 공동으로 투자하기로 결정했습니다. 조직 RA는 3 명의 피어를 제공하며 RA의 클라이언트 응용 프로그램 2 개가 블록 체인 네트워크의 서비스를 사용합니다. 조직 RB는 4 명의 peer를 지원하고 1 개의 클라이언트 응용 프로그램을 보유합니다. 조직 RC는 3 명의 peer를 지원하며 2 개의 클라이언트 응용 프로그램을 제공합니다. 조직 구성 RD는 4 명의 orderer제공합니다. 조직 RA와 RB는 컨소시엄을 구성하고 두 사람 사이에 별도의 응용 프로그램 채널을 개설하기로 결정했습니다. RB 및 RC 조직은 또 다른 컨소시엄을 구성하기로 결정했으며 두 컨소시엄 사이에 별도의 응용 프로그램 채널을 활용하기로 결정했습니다. 각 애플리케이션 채널에는 자체 정책이 있습니다.


Components of a Network

네트워크 구성 :

  • Ledgers (상태 데이터베이스 또는 블록체인으로 구성된 채널 당 하나)
  • Smart contract (일명 체인 코드)
  • Peer nodes
  • Ordering service(s)
  • Channel(s)
  • Fabric Certificate Authorities

Consumers of Network Services

  • 조직이 소유 한 클라이언트 응용 프로그램
  • Blockchain 네트워크 관리자의 클라이언트

Network Policies and Identities

Fabric Certificate Authority (CA)는 조직이 네트워크 인증을 위한 인증서를 발급합니다. 네트워크에는 하나 이상의 CA가 있을 수 있으며 조직은 자체 CA 사용을 선택할 수 있습니다. 또한 컨소시엄의 조직이 소유한 클라이언트 응용 프로그램은 인증서를 사용하여 트랜잭션 제안을 인증하고 peer 는 제안을 보증하고 유효한 경우 원장에게 트랜잭션을 커밋합니다.

다이어그램에 대한 설명은 다음과 같습니다. 네트워크 정책 NP1 및 odering service O를 갖는 패브릭 네트워크 N이 있습니다. 채널 C1은 채널 정책 CP1에 의해 관리됩니다. 채널 C1은 컨소시엄 RARB에 의해 수립되었습니다. 채널 C1은 odering service O 및 피어 P1 및 P2에 의해 관리되고 클라이언트 응용 프로그램 A1 및 A2에는 C1에 대한 거래 권한이 부여됩니다. 클라이언트 응용 프로그램 A1은 조직 RA가 소유합니다. 인증 기관 CA1은 조직 RA에게 서비스를 제공합니다. 피어 P2는 C2와 관련된 채널 C1 및 L2와 연결된 원장 L1을 유지 관리합니다. 피어 P2는 체인 코드 S4 및 S5를 사용합니다. odering service O의 orderer 노드는 조직 RD가 소유합니다.



Creating the Network

네트워크는 클라이언트, peer , 채널 및 odering service 를 포함하여 컨소시엄의 정의로 만들어집니다. odering service 는 네트워크 내의 채널에 대한 구성을 포함하기 때문에 네트워크의 관리 지점입니다. 각 채널의 구성에는 채널에 대한 정책과 채널의 각 membership에 대한 구성원 정보 (이 예제에서는 X509 루트 인증서)가 포함됩니다.



Defining a Consortium

컨소시엄은 네트워크상의 두 개 이상의 조직으로 구성됩니다. 컨소시엄은 비즈니스를 서로 거래할 필요가 있는 조직에 의해 정의되며 네트워크를 관리하는 정책에 동의해야 합니다.



Creating a channel for a consortium

채널은 네트워크 및/또는 구성원 클라이언트 응용 프로그램의 구성 요소를 연결하는 데 사용되는 통신 수단입니다. 채널은 채널 구성의 유효성을 평가하는 ordering service 에서 구성 블록을 생성하여 생성됩니다. 채널은 데이터 격리 및 기밀성을 허용하기 때문에 유용합니다. 거래하는 조직은 채널과 상호 작용하려면 채널에 대해 인증을 받아야합니다. 채널은 구성된 정책에 의해 관리됩니다.



Peers and Channels

피어는 채널을 소유한 조직에 의해 채널에 가입되며 네트워크 내의 여러 피어 노드가 있을 수 있습니다. peer는 여러 역할을 수행 할 수 있습니다.

  • Endorsing peer - 정책에 의해 시뮬레이션에서 스마트 컨트렉트 트랜잭션을 실행하고 제안 응답 (보증)을 클라이언트 애플리케이션에 반환하는 특정 노드로 정의됩니다.
  • Committing peer - 순서가 지정된 트랜잭션의 블록을 확인하고 블록을 관리하는 원장의 복사본에 커밋 (쓰기/추가)합니다.

모든 peer는 자신이 가입 한 모든 채널에 대해 원장 사본을 유지하기 때문에 모든 peer가 committing peer 입니다. 그러나 스마트 컨트렉트의 보증 정책에 명시된 peer 만이 endorsing peer 가 될 수 있습니다. 피어는 아래의 역할에 의해 추가로 정의 될 수 있습니다.

  • Anchor peer - 채널 구성에 정의되어 있으며 조인된 채널 내의 다른 조직에서 네트워크에서 발견되는 첫 번째 피어입니다.
  • Leading peer- 여러 피어가 있는 조직을 대신하여 ordering service와 통신하기 위해 네트워크에 있습니다.



Applications and Smart Contracts

스마트 컨트렉트인 체인 코드는 클라이언트 애플리케이션이 스마트 계약을 호출 할 수 있도록 피어에 설치되고 인스턴스화되어야 합니다. 클라이언트 응용 프로그램은 거래 제안이 생성되는 네트워크 외부의 유일한 장소입니다. 트랜잭션이 클라이언트 응용 프로그램에 의해 제안되면 스마트 계약서는 원장 사본에 대해 스마트 계약의 실행을 시뮬레이트하고 제안서 응답 (보증)을 클라이언트 응용 프로그램에 다시 보내는 승인하는 peer에게 호출됩니다. 클라이언트 응용 프로그램은 이러한 응답을 트랜잭션으로 모으고 이를 ordering service로 브로드 캐스트합니다.



Growing the network

네트워크가 커지면 이론적 인 한계는 없지만 네트워크가 커짐에 따라 네트워크 처리량, 안정성 및 복원력을 최적화하는 데 도움이 되는 디자인 선택을 고려하는 것이 중요합니다. 다수의 피어 노드를 수용하기 위한 네트워크 정책 평가 및 가십 프로토콜 구현은 잠재적인 고려 사항입니다.



Simplifying the visual vocabulary

아래 다이어그램에서 두 개의 피어 노드에 연결된 두 개의 클라이언트 응용 프로그램과 한 채널의 ordering service가 있음을 알 수 있습니다. 단 하나의 채널이 있기 때문에이 예제에서는 하나의 논리적 원장 만 있습니다. 이 단일 채널의 경우와 마찬가지로 P1과 P2는 동일한 원장 (L1) 및 스마트 계약 (일명 체인 코드 (S4))을 갖게됩니다.



Adding another consortium definition

컨소시엄이 정의되어 기존 채널에 추가되면 채널 구성 업데이트 트랜잭션을 ordering service로 보내 채널 구성을 업데이트해야합니다. 트랜잭션이 유효하면 ordering service는 새로운 구성 블록을 생성합니다. 그러면 네트워크의 피어는 ordering service에서 생성한 새 채널 구성 블록의 유효성을 검사하고 새 블록의 유효성을 검사 할 경우 채널 구성을 업데이트해야합니다. 채널 구성 업데이트 트랜잭션은 Blockchain 네트워크 관리자가 호출한 시스템 체인 코드에 의해 처리되며 클라이언트 응용 프로그램 트랜잭션 제안에 의해 호출되지 않습니다.



Adding a new channel

조직은 채널을 형성하고 가입하며 채널 구성이 변경되어 네트워크가 성장함에 따라 조직을 추가 할 수 있습니다. 네트워크에 새 채널을 추가 할 때 채널 정책은 동일한 네트워크에 구성된 다른 채널과 별개입니다.

이 예에서 ordering service의 채널 1과 채널 2에 대한 구성은 서로 별도로 유지됩니다.



Adding another peer

이 예에서 조직 3이 소유한 피어3(P3)이 채널2(C2)에 추가되었습니다. 네트워크에 여러 ordering service 가 있을 수 있지만 여러 채널을 관리하는 단일 ordering service 가 있을 수도 있습니다. 이 예에서 C2의 채널 정책은 C1의 채널 정책과 분리되어 있습니다. 피어 3 (P3)도 C2에서만 인증되므로 C1에서 격리됩니다.



Joining a peer to multiple channels

이 예에서 피어 2 (P2)는 채널 2 (C2)에 연결되었습니다. P2는 채널 C1과 C2 및 관련 트랜잭션을 비공개로 격리 된 상태로 유지합니다. 또한 클라이언트 응용 프로그램 A3도 C1에서 격리됩니다. ordering service는 모든 채널에 구성된 모든 노드의 정책 및 디지털 서명을 평가하여 네트워크 관리 및 채널 격리를 유지 관리합니다.



Network fully formed

이 예에서 네트워크는 단일 ordering service에 연결된 여러 클라이언트 응용 프로그램, 피어 및 채널을 포함하도록 개발되었습니다. 피어 2 (P2)는 채널 C1과 C2에 연결된 유일한 피어 노드이며 서로 격리되어 있으며 데이터는 비공개로 유지됩니다. 이 예에서는 두 개의 논리 원장이 있습니다. 하나는 C1 용이고 다른 하나는 C2 용입니다.

Simple vocabulary



Better arrangement




반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함