하이퍼레저 패브릭의 기본 아키텍처와 트랜잭션플로우에 대하 쉽게 설명부탁드립니다

2019. 07. 07. 02:32

블럭채인 공부중인데 본 아키텍처와 트인하이퍼레저 패브릭의랜잭션플로우에대해

어려운데요

기본 아키텍처와 트인하이퍼레저 패브릭의랜잭션플로우에 대하 쉽게 설명부탁드립니다

공유하고 보상받기 ♥︎

총 1개의 답변이 있습니다.

질문자 채택 답변
거래소/전략기획 경력

우선 하이퍼레저 패브릭의 기본 아키텍처에 대해 설명해 드리도록 하겠습니다. 하이퍼레저 패브릭의 기본 아키텍쳐는 아래의 도식을 통해 설명이 가능합니다. 자료를 참고하되 제가 이해한 바로 재구성하여 최대한 쉽게 설명드리려고 합니다.

이미지 출처 : https://dev.to/skcript/hyperledger-fabric-architecture-explained-in-detail-32bb (* 아래 설명은 다름)

  1. DOMAIN : 프로젝트, 또는 서플라이 체인의 이름 또는 도메인 네임이 하이퍼레저 패브릭의 도메인으로 사용됩니다.

  2. ODERERS : 서플라이 체인 네트워크를 구축한 상태에서 위의 그림에서도 알 수 있듯이 도메인의 하위에 네트워크의 모든 피어들이 트랜젝션을 처리하고 있는지 확인할 책임을 가진 주문자(여러 주문자가 있을 수 있음)가 존재합니다. 그리고 트랜젝션이 피어에 의해 제안되고 확정될 때 주문자는 새로운 트랜잭션에 대해 알리고 블록을 모든 인접한 피어에게 전파하고 확정합니다.

  3. ORGANIZATIONS : 위의 그림에서도 확인할 수 있으시겠지만, 조직은 피어와 각 CA(인증 기관)로 구성된 하나의 구성체라고 할 수 있습니다. 이렇게 피어와 CA로 구성된 조직은 여러 개가 있을 수 있고 블록체인 상에서 각 조직이나 회사를 각각 독립적으로 기능하도록 하는 역할을 담당합니다.

  4. CERTIFICATE AUTHORITIES : 인증 기관은 위의 그림처럼 각 조직마다 존재하며 거래를 위한 인증서를 생성하고 블록체인 네트워크 상에서의 소유권을 증명하는데 이용됩니다.

  5. PEERS : 피어는 클라이언트와 연결되어 트랜젝션을 확정하는 역할을 하는 노드입니다. 각 피어는 거래 장부를 분산하여 저장하고 있으며 조직 안에 둘 이상 존재할 수 있습니다. 일반적으로 거래 장부를 더욱 많은 노드들이 분산하여 저장하고 있다면 더욱 안전하겠지만 트랜젝션을 처리하는 시간이 길어질 수 있습니다.

다음으로 트랜젝션의 플로우에 대해 설명해드리도록 하겠습니다.

  1. 클라이언트가 거래를 제안(Transaction Proposal)합니다.

  2. 보증 피어(Endorsing peer)가 서명을 확인하여 트랜젝션의 유효성을 확인한 후 체인코드를 실행합니다. 그리고 그 실행 결과인 RWSet(Read/Write Set)에 서명한후 제안 응답(Proposal Response)을 클라이언트로 전송합니다.

  3. 클라이언트가 다시 보증 정책(Endorsement Policy)에 따라 보증 피어로부터 받은 거래 제안에 대한 응답 결과(Proposal Response)를 검토합니다. 그 후 트랜젝션(거래 제안, 제안 응답, RWSet, 보증 피어의 서명 포함)을 Ordering Service로 보냅니다.

  4. Ordering Service에서 Orderer가 제안된 트랜젝션의 순서를 시간 순으로 정렬하고 블록을 생성합니다. 그리고 블록을 Committing Peer에 전파합니다.

  5. 블록이 Committing Peer에게 전달 되면 트랜젝션을 검증하고 유효성이 확인되면 거래를 확정짓게 됩니다.

  6. 끝으로 각 조직의 피어들은 자신의 거래 장부(Ledger)에 앞서 생성된 블록을 연결시키며 트랜젝션의 처리 결과를 클라이언트에게 알립니다.

답변이 도움이 되길 바랍니다.

2019. 07. 07. 07:40
509