티스토리 뷰

반응형

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

원본 사이트 : http://hyperledger-fabric.readthedocs.io/en/release/Fabric-FAQ.html

 Hyperledger Fabric FAQs(하이퍼레저패브릭 자주 묻는 질문) 

Endorsement(배서)

Endorsement architecture:(배서 아키텍쳐)

  • Q. 네트워크에서 얼마나 많은 동료가 트랜잭션을 승인해야합니까? A. 트랜잭션을 보증하는 데 필요한 피어의 수는 체인 코드 배포 시간에 지정된 보증 정책에 의해 결정됩니다.
  • Q. 애플리케이션 클라이언트가 모든 피어에 연결해야합니까? A. 클라이언트는 체인 코드에 대한 보증 정책에서 요구하는만큼 많은 피어에 연결하면됩니다.

Security & Access Control(보안 및 액세스 제어)

Data Privacy and Access Control(데이터 개인 정보 보호 및 액세스 제어):

  • Q. 데이터 프라이버시를 어떻게 보장합니까?
  • A. 데이터 프라이버시에는 다양한 측면이 있습니다. 먼저 네트워크를 채널로 분리 할 수 ​​있습니다. 여기서 각 채널은 해당 채널에 배포 된 체인 코드의 데이터를 볼 수있는 참가자의 하위 집합을 나타냅니다. 둘째, 채널 내에서 가시성 설정을 사용하여 입력 데이터를 체인 코드로 제한하고 엔도 서 세트로만 제한 할 수 있습니다. 가시성 설정은 출력 데이터와 비교하여 입력 및 출력 체인 코드 데이터가 제출 된 트랜잭션에 포함되는지 여부를 결정합니다. 셋째, chaincode를 호출하기 전에 데이터를 해시하거나 암호화 할 수 있습니다. 데이터를 해시하면 원본 데이터를 패브릭 외부에서 공유 할 수있는 방법이 필요합니다. 데이터를 암호화하는 경우 패브릭 외부에서 암호 해독 키를 공유 할 방법이 필요합니다. 넷째, 체인 코드 논리에 대한 액세스 제어를 구축하여 조직의 특정 역할에 대한 데이터 액세스를 제한 할 수 있습니다. 다섯째, 나머지 원장 데이터는 피어의 파일 시스템 암호화를 통해 암호화 될 수 있으며 전송중인 데이터는 TLS를 통해 암호화됩니다.
  • Q.주문자가 거래 데이터를 볼 수 있습니까?
  • A. 아니, 주문자는 거래 만 주문하며 거래를하지 않습니다. 데이터가 순서 지정자를 거치지 않고 입력 데이터에 대해서만 염려하는 경우 가시성 설정을 사용할 수 있습니다. 가시성 설정은 출력 데이터와 비교하여 입력 및 출력 체인 코드 데이터가 제출 된 트랜잭션에 포함되는지 여부를 결정합니다. 따라서 입력 데이터는 엔도서만 전용으로 사용할 수 있습니다. 주문자가 chaincode 출력을 보지 못하도록하려면 chaincode를 호출하기 전에 데이터를 해시하거나 암호화 할 수 있습니다. 데이터를 해시하면 원본 데이터를 패브릭 외부에서 공유 할 수있는 방법이 필요합니다. 데이터를 암호화하는 경우 패브릭 외부에서 암호 해독 키를 공유 할 방법이 필요합니다.

Application-side Programming Model(응용 프로그램 부분 프로그래밍 모델)

Transaction execution result(트랜잭션 실행 결과):

  • Q. 애플리케이션 클라이언트는 트랜잭션의 결과를 어떻게 알 수 있습니까? A. 거래 시뮬레이션 결과는 제안서 응답에서 보증인이 고객에게 반환합니다. 여러 명의 엔도 서가있는 경우 클라이언트는 응답이 모두 동일한 지 확인하고 주문 및 약정에 대한 결과 및 보증을 제출할 수 있습니다. 궁극적으로 커밋하는 동료는 트랜잭션을 확인하거나 무효화하고 클라이언트는 SDK를 통해 응용 프로그램 클라이언트가 사용할 수있게하는 이벤트를 통해 결과를 알게됩니다.

Ledger queries(원장 쿼리):

  • Q. 원장 데이터는 어떻게 조회합니까? A. chaincode 내에서 키를 기반으로 쿼리 할 수 있습니다. 키는 범위별로 쿼리 할 수 있으며 복합 키는 여러 매개 변수에 대해 등가 쿼리를 사용할 수 있도록 모델링 할 수 있습니다. 예를 들어 (owner, asset_id)의 복합 키를 사용하여 특정 엔티티가 소유 한 모든 자산을 조회 할 수 있습니다. 이러한 키 기반 쿼리는 원장에 대한 읽기 전용 쿼리와 원장을 업데이트하는 트랜잭션에 사용할 수 있습니다. 자산 데이터를 체인 코드의 JSON으로 모델링하고 CouchDB를 상태 데이터베이스로 사용하는 경우 chaincode 내의 CouchDB JSON 쿼리 언어를 사용하여 체인 코드 데이터 값에 대해 복잡한 리치 쿼리를 수행 할 수도 있습니다. 응용 프로그램 클라이언트는 읽기 전용 조회를 수행 할 수 있지만 일반적으로 이러한 응답은 거래의 일부로 주문 서비스에 제출되지 않습니다.
  • Q. 내역 데이터를 쿼리하여 데이터 출처를 이해하려면 어떻게해야합니까? A. 체인 코드 API GetHistoryForKey()는 키의 값 기록을 반환합니다.
  • Q. 쿼리 된 피어가 복구되고 블록 처리를 따라 잡을 때 특히 쿼리 결과가 올바른지 보장하는 방법은 어떻게 해야하나요? A. 클라이언트는 여러 피어를 쿼리하고, 블록 높이를 비교하고, 쿼리 결과를 비교하고, 높은 블록 높이에서 피어를 선호 할 수 있습니다.

Chaincode (Smart Contracts and Digital Assets)(체인 코드 (스마트 계약 및 디지털 자산))

  • 패브릭 구현이 현명한 계약 논리를 지원합니까? 네. 체인 코드는 추가 기능이있는 스마트 계약 방식 / 알고리즘에 대한 패브릭의 해석입니다. 체인 코드는 네트워크에서 배포 된 프로그래밍 방식의 코드로, 컨센서스 프로세스 중에 함께 체인 유효성 검사기에 의해 실행되고 유효성이 검사됩니다. 개발자는 체인 코드를 사용하여 비즈니스 계약, 자산 정의 및 공동 관리되는 분산 된 응용 프로그램을 개발할 수 있습니다.
  • 패브릭을 사용하여 비즈니스 계약을 작성하려면 어떻게합니까? 일반적으로 비즈니스 계약을 개발하는 두 가지 방법이 있습니다. 첫 번째 방법은 개별 계약을 독립 실행 형 체인 코드 인스턴스로 코딩하는 것입니다. 두 번째 방법, 그리고 아마도보다 효율적인 방법은 하나 또는 여러 유형의 비즈니스 계약의 수명주기를 관리하는 분산 응용 프로그램을 만드는 데 chaincode를 사용하고 최종 사용자가 이러한 응용 프로그램 내에서 계약 인스턴스를 인스턴스화 할 수있게하는 것입니다.
  • 패브릭을 사용하여 자산을 어떻게 만들 수 있습니까? 사용자는 비즈니스 규칙 용 체인 코드와 디지털 토큰 용 멤버십 서비스를 사용하여 자산을 관리하는 논리뿐만 아니라 자산을 설계 할 수 있습니다. 대부분의 블록 체인 솔루션에서 자산을 정의하는 데는 두 가지 방법이 일반적입니다. 즉, 계정 잔액이 과거 트랜잭션 레코드로 인코딩되는 상태 비 저장 UTXO 모델입니다. 계정 잔액은 원장의 상태 저장 공간에 보관되는 계정 모델입니다. 각 접근법에는 각각 장점과 단점이 있습니다. 이 블록 체인 패브릭은 어느 한 쪽을 다른쪽에 옹호하지 않습니다. 대신 첫 번째 요구 사항 중 하나는 패브릭에서 사용할 수있는 도구를 사용하여 두 가지 방법 모두를 쉽게 구현할 수 있도록하는 것이 었습니다.
  • 체인 코드 작성을 위해 지원되는 언어는 무엇입니까? 체인 코드는 모든 프로그래밍 언어로 작성되고 패브릭 컨텍스트 계층 내부의 컨테이너에서 실행될 수 있습니다. 우리는 또한 체인 코드로 컴파일되거나 인터프리터를 체인 코드 컨테이너에 내장 할 수있는 템플리트 언어 (Apache Velocity와 같은)를 개발하려고합니다. 패브릭의 최초로 완벽하게 지원되는 체인 코드 언어는 Golang이며 2016 년에는 JavaScript 및 Java에 대한 지원이 계획되어 있습니다. 추가 언어에 대한 지원과 패브릭 관련 템플릿 언어 개발에 대한 논의가 있었으며 가까운 시일 내에 자세한 내용이 발표 될 예정입니다. * 페브릭에 원화가 있습니까? 아닙니다. 그러나 체인 네트워크에 고유 통화가 실제로 필요한 경우 체인 코드로 고유 통화를 개발할 수 있습니다. 기본 통화의 공통 속성 중 하나는 거래가 체인에서 처리 될 때마다 일정 금액이 거래가 발생한다는 것입니다 (해당 통화를 정의하는 체인 코드가 호출 됨).

Identity Management (Membership Service) (신원 관리 (회원 서비스))

  • 패브릭의 멤버쉽 서비스 모듈은 어떤 점이 독특합니까? 멤버쉽 서비스 모듈을 팩에서 눈에 띄게 만드는 요소 중 하나는 최신 암호화 기술을 구현 한 것입니다. 개인 및 감사 가능한 트랜잭션을 보장하는 것 외에도 회원 서비스 모듈에는 등록 및 트랜잭션 인증서 개념이 도입되었습니다. 이러한 혁신을 통해 확인 된 소유자 만 자산 토큰을 만들 수 있으므로 부모 등록 인증서를 통해 무한 수의 트랜잭션 인증서를 발급받을 수 있으며 자산 토큰의 개인 키를 잃어 버리면 재생성 할 수 있습니다. 발급자는 트랜잭션 인증서를 해지하거나 일정 기간 내에 만료되도록 지정할 수있어 발급 한 자산 토큰을 효과적으로 제어 할 수 있습니다. Fabric의 다른 대부분의 모듈과 마찬가지로 필요에 따라 기본 모듈을 다른 멤버쉽 서비스 옵션으로 교체 할 수 있습니다.

  • 멤버쉽 서비스가 Fabric을 중앙 집중식 솔루션으로 만들어 줍니까? 아니요. 멤버쉽 서비스 모듈의 유일한 역할은 네트워크에 참여하려는 검증 된 엔터티에 디지털 인증서를 발급하는 것입니다. 트랜잭션을 실행하지 않으며 특정 네트워크에서이 인증서가 사용되는 방법 또는시기를 알고 있지 않습니다. 그러나 인증서는 네트워크가 사용자를 규제하고 관리하는 방식이기 때문에 중앙 규정 및 조직 역할을 수행합니다.


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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 31
글 보관함