피어
피어(peer)는 계층적 구조의 프로토콜을 사용하는 통신망의 동일 프로토콜 계층에서 대등한 지위로 동작하는 기능 단위 또는 장치이다. 영어로는 ‘동료’를 뜻한다.
블록체인과 관련된 용어 중 노드(node)와 유사한 의미로 쓰이는데, 노드는 데이터를 전송하는 통로에 접속되는 하나 이상의 기능 또는 단위이다.
1:1의 의미가 강조되거나 노드를 사용해 특정 행위를 하는 사람의 관점에서 이야기할 때는 피어를, 전체 시스템 내 한 요소임을 강조할 때는 노드를 주로 사용한다.
역할
블록체인 네트워크는 주로 피어 노드 집합으로 구성된다. 원가는 원장 및 현명한 계약을 호스트하기 때문에 네트워크의 기본 요소이다. 기억이 장부 변함 기록 (Hyperledger 원단에 포함되는 스마트 계약에 의해 생성 된 모든 거래 chaincode 이상이 나중에). 스마트 계약서와 원장은 각각 공유 프로세스 와 공유 정보 를 네트워크 에 캡슐화하는 데 사용된다 . 피어의 이러한 측면은 패브릭 네트워크를 이해하는 좋은 출발점이다. 블록체인 네트워크의 다른 요소는 원장 및 스마트 계약서, 주문자, 정책, 채널, 응용 프로그램, 조직, ID 및 멤버십과 같이 중요하다. 피어는 생성, 시작, 중지, 재구성 및 삭제할 수 있고 관리자와 응용 프로그램이 제공하는 서비스와 상호 작용할 수있는 일련의 API를 제공한다.
- 원장 및 연쇄코드
원장과 체인코드를 모두 호스트하는게 피어이다. 더 정확하게는 피어 실제로 장부 그리고 체인코드의 설명을 제공한다. 이는 Fabric 네트워크에서 고의적 인 이중화를 제공하므로 단일 실패 지점을 피할 수 있다. 피어는 원장 및 체인 코드 의 호스트 이기 때문에 애플리케이션 및 관리자는 이러한 리소스에 액세스하려는 경우 피어와 상호 작용해야된다. 이것이 동료가 패브릭 네트워크의 가장 기본적인 빌딩 블록으로 간주되는 이유이다. 피어가 처음 생성되면 원장이나 체인 코드가 없다. 원장이 어떻게 만들어 지는지, 그리고 체인 코드가 어떻게 설치되는지 동료들에게 알려줄 것이다.
- 여러 원장
피어는 둘 이상의 원장을 호스팅 할 수 있으므로 유연한 시스템 설계가 가능하므로 도움이된다. 가장 단순한 구성은 피어가 단일 원장을 관리하는 것이지만 필요할 때 피어가 둘 이상의 원장을 호스팅하는 것이 절대적으로 적합하다. 피어가 해당 원장에 액세스하는 체인 코드를 호스팅하지 않고 원장 인스턴스를 호스팅 할 수는 있지만 피어가 이와 같이 구성되어있는 것은 거의 없다. 대다수의 피어는 피어의 원장 인스턴스를 쿼리하거나 업데이트 할 수있는 체인 코드가 하나 이상 설치된다. 사용자가 외부 응용 프로그램에서 사용할 수 있도록 체인 코드를 설치했는지 여부에 관계없이 동료 는 항상 존재하는 특수 시스템 체인 코드 도 가지고 있음 을 언급 하는 것이 좋다 .
- 다중 체인 코드
피어가 가지고있는 원장의 수와 해당 원장에 액세스 할 수있는 체인 코드의 수 사이에는 고정 된 관계가 없다. 피어는 많은 체인 코드와 많은 원장을 사용할 수 있다.
- 피어의 응용프로그램
원장 - 쿼리 상호 작용에는 응용 프로그램과 피어간에 간단한 3 단계 대화가 포함된다. 장부 - 갱신 상호 작용은 좀 더 복잡하고 두 가지 추가 단계가 필요하다. 패브릭을 시작하는 데 도움이되도록이 단계를 단순화했다. 원장 쿼리의 원장 업데이트 트랜잭션 스타일과 비교하여 애플리케이션 - 피어 상호 작용의 차이점을 이해하는 것이 가장 중요하다. 원장 및 체인 코드에 액세스해야하는 경우 항상 피어에 연결된다. 패브릭 소프트웨어 개발 키트 (SDK)를 사용하면 프로그래머가 쉽게 응용 프로그램을 만들 수 있다. API를 사용하면 응용 프로그램에서 피어에 연결하고 체인 코드를 호출하여 트랜잭션을 생성하며 네트워크에 트랜잭션을 제출하여 배포 원장에게 주문 및 커밋하고 이벤트를 수신 할 수 있다. 피어 연결을 통해 응용 프로그램은 체인 코드를 실행하여 장부를 쿼리하거나 업데이트 할 수 있다. 장부 쿼리 트랜잭션의 결과는 즉시 반환되는 반면 원장 업데이트는 응용 프로그램, 동료 및 주문자 사이의보다 복잡한 상호 작용을 수반한다. 피어는 쿼리 만족에 필요한 모든 정보가 피어의 원장 사본에 있으므로 쿼리 결과를 즉시 응용 프로그램에 반환 할 수 있다. 피어는 애플리케이션의 쿼리에 응답하기 위해 다른 피어와 상담하지 않다. 그러나 응용 프로그램은 하나 이상의 피어에 연결하여 쿼리를 발행 할 수 있다. 예를 들어 여러 피어간에 결과를 확증하거나 정보가 오래되었다는 의심이들 경우 다른 피어에서 더 최신 결과를 검색 할 수 있다. 다이어그램에서 원장 쿼리는 간단한 3 단계 프로세스임을 알 수 있다.
- 피어와 채널
블록체인 네트워크 내의 구성 요소 집합이 개인적으로 통신하고 상호 작용할 수 있는 메커니즘 입니다. 이러한 구성 요소는 일반적으로 피어 노드, 발주자 노드 및 응용 프로그램이며 채널에 가입함으로써 공동 작업을 통해 해당 채널과 연결된 원장의 동일한 복사본을 공동으로 공유하고 관리하는 데 동의한다. 개념적으로 채널은 친구 그룹과 유사하다고 생각할 수 있다 (채널 회원은 확실히 친구 일 필요는 없다!). 한 사람에게는 여러 그룹의 친구가있을 수 있으며, 각 그룹에는 함께하는 활동이 있다. 이 그룹은 취미 친구들의 그룹과 비교하여 완전히 분리 된 그룹 일 수도 있고, 그룹 사이에 약간의 크로스 오버가있을 수도 있다. 그럼에도 불구하고 각 그룹은 일종의 "규칙"을 가진 자체 엔티티입니다.우리는 동료들이하는 것과 같은 방식으로 채널이 존재하지 않는다는 것을 알았다. 채널을 물리적 동료 집단에 의해 형성된 논리적 구조로 생각하는 것이 더 적절하다. 이 점을 이해하는 것이 중요하다. 피어는 채널에 대한 액세스 및 관리를위한 제어 지점을 제공한다.
- 피어와 조직
동료 및 원장 코드, 체인 코드 및 채널과의 관계를 이해 했으므로 여러 조직이 함께 모여 블록 체인 네트워크를 구성하는 방법을 알 수 있다. 블록체인 네트워크는 단일 조직 이라기보다는 조직의 집합에 의해 관리된다. 피어들은 이러한 종류의 분산 네트워크가 이러한 조직에 의해 소유되고 네트워크에 대한 연결 지점이기 때문에 어떻게 구성되는지에있어 핵심적인 요소이다. 블록체인 네트워크가 형성되는 과정에서 어떤 일이 벌어지고 있는지 볼 수 있어야 한다. 네트워크는 자원을 제공하는 여러 조직에 의해 형성되고 관리된다. 피어는 이 항목에서 논의중인 리소스이지만 조직에서 제공하는 리소스는 단순한 것 이상이다. 여기서 일하는 원칙이 있다. 네트워크는 말 그대로 조직이 개별 리소스를 집단 네트워크에 기여하지 않으면 존재하지 않는다. 또한 네트워크는 이러한 공동 작업 조직에서 제공하는 리소스로 확장 및 축소된다. 조직이 피어를 제공하지 않은 경우 네트워크 ( N )가 존재하지 않는다는 것을 알 수 있다 (주문 서비스 외). 중앙 리소스 가 없다. 이것은 조직이 조직에서 자원을 제공 할 때까지 그리고 조직이 자원을 기여할 때까지 네트워크가 의미있는 의미로 존재하지 않는다는 사실을 반영한다. 또한 네트워크는 개별 조직에 의존하지 않는다. 어떤 조직이 어떤 조직을 출입 할지라도 조직이 남아있는 한 계속 존재할 것이다. 이것은 네트워크가 분산화된다는 의미의 중심에 있다. 같이 다른 조직의 응용 프로그램 은 동일하거나 다를 수 있습니다. 왜냐하면 응용 프로그램이 동료의 원장 사본을 어떻게 처리하는지는 전적으로 조직에 달려 있기 때문이다. 즉, 각각의 동료가 정확히 동일한 원장 데이터를 호스팅하더라도 응용 프로그램 논리와 표시 논리가 조직마다 다를 수 있음을 의미한다.응용 프로그램은 필요한 원장 상호 작용의 특성에 따라 조직의 동료 또는 다른 조직의 동료와 연결된다. 원장 - 쿼리 상호 작용의 경우 일반적으로 응용 프로그램이 자체 조직의 동료와 연결된다.
- 피어와 신원
피어는 특정 인증 기관의 디지털 인증서를 통해 인증을 받는다. X.509 디지털 인증서 가이드의 다른 곳에서 작동하는 방법에 대해 더 많이 읽을 수 있지만, 지금은 디지털 인증서가 피어에 대한 검증 가능한 많은 정보를 제공하는 ID 카드와 같다고 생각할 수 있다. 네트워크의 모든 피어는 소유 조직의 관리자가 디지털 인증서를 할당받는다. 피어가 채널을 사용하여 블록 체인 네트워크에 연결할 때마다 채널 구성의 정책은 피어의 ID를 사용하여 권한을 결정한다. 조직에 대한 ID의 매핑은 멤버쉽 서비스 공급자(MSP) - 피어가 특정 조직의 특정 역할에 할당되는 방식을 결정하므로 이에 따라 블록 체인 리소스에 대한 적절한 액세스 권한이 부여된다. 또한 피어는 단일 조직에서만 소유 할 수 있으므로 단일 MSP와 연결된다. 이 섹션의 뒷부분에서 피어 액세스 제어에 대해 자세히 알아보고이 가이드의 MSP 및 액세스 제어 정책에 대한 전체 섹션을 제공한다. 그러나 지금은 MSP가 블록 체인 네트워크에서 개별 신원과 특정 조직의 역할 간 연계를 제공한다고 생각해야된다. 블록체인 네트워크와 상호 작용하는 모든 것 뿐만 아니라 동료는 디지털 인증서 및 MSP에서 조직 신원을 획득한다 . 블록체인 네트워크와 상호 작용하려는 경우 피어, 응용 프로그램, 최종 사용자, 관리자 및 주문자는 ID 및 관련 MSP가 있어야 한다. 신원을 사용하여 블록체인 네트워크와 상호 작용하는 모든 엔티티 (주체)에게 이름을 제공한다. 마지막으로 피어가 실제로 위치하는 곳은 중요하지 않다. 클라우드 또는 조직 중 하나가 소유 한 데이터 센터 나 로컬 시스템에 상주 할 수 있다. 피어와 연결된 신원은 특정 조직이 소유하고 있습니다. [1]