SettleLab
Assessment board
EXAM 06Privacy and Non-EVM

Privacy/Non-EVM 설계 시험

ZK, FHE, privacy stablecoin checklist, Move/Solana account model, Token-2022 extension을 평가한다.

출제 목적

프라이버시 기능과 Non-EVM 체인 모델을 제품 의존성으로 둘 때의 공개 범위, 검증 가능성, 호환성 위험을 평가한다.

난이도 정책

  • 핵심은 공개 입력과 숨기는 데이터를 구분한다.
  • 심화는 Token-2022 extension과 Solana account decoding을 코드 구조로 표현하게 한다.

채점 정책

  • 객관식은 privacy와 auditability의 tradeoff를 구분한다.
  • 코드형은 disclosure, extension, account owner, compatibility 신호를 채점한다.
Preview mode

로그인 후 제출 가능

문제, Starter code, 루브릭은 미리 볼 수 있다. 답안 작성과 점수 저장은 로그인 후 제공된다.

객관식핵심3

01ZK 선택적 공개

compliance 가능한 privacy payment에서 선택적 공개를 설계할 때 가장 중요한 구분은?

객관식심화3

02Token-2022 지원 판단

Token-2022 mint를 checkout 자산으로 지원하기 전 가장 먼저 확인할 것은?

코드 작성심화9

03Selective disclosure policy 타입 작성

privacy stablecoin 결제를 위한 disclosure policy 타입을 작성하라. hiddenFields, publicInputs, auditorKey, proofFreshnessSeconds, appealWindow를 포함해야 한다.

Starter code
type DisclosurePolicy = {
  // fields
};

채점 루브릭

  • 숨기는 필드와 공개 입력을 분리한다.
  • auditorKey를 포함한다.
  • proof freshness를 시간 기준으로 둔다.
  • appeal 또는 review window를 표현한다.

자동 채점 신호

  • hidden fields
  • public inputs
  • auditor
  • freshness
  • appeal/review
코드 작성핵심9

04Token-2022 compatibility 검사 함수 작성

Token-2022 mint metadata를 받아 checkout 지원 여부를 판단하는 assessToken2022Support 함수를 작성하라. 반환값은 { support: 'go' | 'review' | 'block', reasons: string[] }다. reason code는 confidential-transfer, wallet-support, transfer-hook, transfer-fee, wrong-program을 사용한다.

Starter code
function assessToken2022Support(mint) {
  // return { support, reasons }
}

채점 루브릭

  • programId를 확인한다.
  • extension list를 파싱한다.
  • fee/hook/confidential transfer를 별도 판단한다.
  • wallet/indexer 지원을 확인한다.
  • go/review/block과 reasons를 반환한다.
  • 제공된 실행 테스트 케이스를 통과해야 한다.

자동 채점 신호

  • programId
  • extensions
  • transfer fee/hook
  • confidential transfer
  • wallet support
로그인하고 답안 제출