티스토리 뷰

반응형

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

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

 Endorsement policies(승인 정책)

승인 정책은 거래가 제대로 승인되었는지 여부를 결정하는 방법을 동료에게 지시하는 데 사용됩니다. 피어가 트랜잭션을 수신하면 트랜잭션 유효성 검증 플로우의 일부로 트랜잭션의 체인 코드와 연관된 VSCC (유효성 검증 시스템 체인 코드)를 호출하여 트랜잭션의 유효성을 판별합니다. 거래가 많은지지하는 피어로부터 하나 이상의 추천을 포함한다는 것을 상기하십시오. VSCC는 다음과 같은 결정을해야합니다. - 모든 보증 항목이 유효합니다. 즉, 예상 메시지에 대한 유효한 인증서의 유효한 서명입니다. - 적절한 수의 보증이 있습니다. 예상 소스에서 보증을받습니다.

승인 정책은 두 번째 및 세 번째 사항을 지정하는 방법입니다.


Endorsement policy design(추천 정책 설계)

승인 정책에는 두 가지 주요 구성 요소가 있습니다. - 주체 - 임계 게이트

principal P 는 서명이 예상되는 엔티티를 식별합니다.

임계 게이트 T는 두 개의 입력, 즉 정수 t (임계 값) 및 n주체 또는 게이트의리스트를 취한다. 이 게이트는 근본적으로 그 n 주체나 게이트에서 t가 만족 될 것을 요구 받는다는 기대를 포착한다.

예를 들면 다음과 같습니다. -T(2, 'A', 'B', 'C') 는 'A', 'B'또는 'C'중 두 명의 주체로부터 서명을 요청합니다. - T(1, 'A', T(2, 'B', 'C')) 는 주된 A로부터 하나의 서명을 요구하거나 B 와 C로부터 각각 하나의 서명을 요구한다.


Endorsement policy syntax in the CLI(CLI의 승인 정책 구문)

CLI에서는 간단한 언어를 사용하여 원칙에 대한 부울 표현에 대한 정책을 표현합니다.

주체는 서명자의 신원을 확인하고 서명자가 해당 MSP 내에서 갖는 역할을 확인하는 임무가있는 MSP와 관련하여 설명됩니다. 현재 member와 admin이라는 두 가지 역할이 지원됩니다. 주체는 MSP.ROLE, 로 설명됩니다. 여기서 MSP는 필수 MSP ID이고 ROLE은 두 개의 문자열 member와 admin 중 하나입니다. 유효한 주체의 예로는 'Org0.admin' (Org0  MSP의 관리자) 또는 'Org1.member' (Org1MSP의 모든 구성원)가 있습니다.

언어 구문은 다음과 같습니다.

EXPR(E[, E...])

EXPR은 두 개의 부울 표현식을 나타내는  AND 또는 OR이고 E는 프린시 펄 (위에 설명 을 참고) 또는 EXPR에 대한 다른 중첩 호출입니다.

예를 들면 다음과 같습니다. - AND ( 'Org1.member', 'Org2.member', 'Org3.member')는 세 가지 주체 각각에서 1 개의 서명을 요청합니다. - OR ( 'Org1.member', 'Org2.member') 요청 1 OR ( 'Org1.member', AND ( 'Org2.member', 'Org3.member'))는 Org1 MSP의 멤버로부터 하나의 서명을 요구하거나 또는 Org1 MSP의 멤버로부터 하나의 서명을 요청합니다. Org2 MSP 및 Org3 MSP 구성원의 서명 1 개.


Specifying endorsement policies for a chaincode(체인 코드에 대한 보증 정책 지정)

체인 코드 배포자는이 언어를 사용하여 지정된 정책에 대해 체인 코드의 인증을 확인하도록 요청할 수 있습니다. 참고 - 기본 정책에는 DEFAULT MSP 구성원의 서명이 하나 필요합니다. 이 정책은 CLI에서 정책을 지정하지 않은 경우에 사용됩니다.

정책은 배포시 -P 스위치를 사용하여 정책을 지정한 다음 지정할 수 있습니다.

예를 들면,

peer chaincode deploy -C testchainid -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Args":["init","a","100","b","200"]}' -P "AND('Org1.member', 'Org2.member')"

이 명령은 AND('Org1.member', 'Org2.member')정책으로 체인 testchainid에 체인코드 mycc를 배포합니다.


Future enhancements(향후 개선 사항)

이 섹션에서 우리는 승인 정책에 대한 향후 개선 사항을 목록 : -에는 MSP와의 관계에서 사용자를 식별하는 기존의 방법과 함께, 우리는 자신의 인증서에서 예상되는 조직 단위 (OU)의 측면에서 사용자를 식별 할 계획; 이는 주체 정의에서 요청한 것과 일치하는 OU를 가진 유효한 인증서를 표시하는 ID의 서명을 요청하는 정책을 표현할 때 유용합니다. - AND(., .) 구문 대신에 더 직관적 인 구문으로 이동할 계획입니다. AND . - 우리는 일반화된 임계값 게이트를 AND (n-out-of-n gate) 및 OR (1-out-of-n gate)와 함께 언어로 노출할 계획입니다.

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