I. Verifiable Credentials (Claims) II. Using DID on Ethereum 3. Zero-Knowledge Credentials in Airbloc I. ZKCredential Level 1: More Privacy II. ZKCredential Level 2: Derivability 4. Future of Airbloc, with Data Privacy
개인이 직접 통제할 수 있는 사용자 아이덴티티를 의미함. • Self–Soverignity (자기주권화)가 핵심이다. • 중앙 주체에 의존하지 않는 대신, PKI (공개 키 인프라)를 사용한다. • 분산 원장이 사용된다. • W3C CCG에서 현재 DID 표준화 작업이 진행중임.
증명 • Subject: 설명하거나 주장할 대상. 일반적으로 나. • Issuer: 발급 주체나 기관 (e.g. 정부, 은행, 대학교, 회사, …) • Claim: 주장할 내용 (e.g. "이 사람은 20세 이상", 연 소득 3000만원 이상!) • 서명을 통해 해당 Issuer로부터 발급되었다는걸 보장할 수 있음.
function C using only Arithmetic Circuit • This circuit representation is called R1CS (Rank-1 Constraint System) • We cannot just apply zkSNARK to every general computations. Y = C(x, w)
드러내지 않을 수 있음 • 2단계: Authority 의존성 문제 해결 (Derivable Proof) • 하나의 최초 Credential에서 필요할 때마다 Proof을 생성할 수 있음. • Commitment Scheme을 활용해 Authority 거치지 않고 신원 증명 가능. Zero-Knowledge Verifiable Credential
필드의 완전한 재사용 불가 • 같은 Circuit에 대해서만 재사용이 가능함 • CL (Camenisch-Lysyanskaya) Signature Scheme 차용 및 검토 • 아직 조금 비싼 온체인 검증 비용 • PGHR13 -> Groth17 전환으로 검증비용 약 47% 최적화 성공 • 그러나 SHA3 (Keccak) 계산에 Constraint를 너무 많이 사용 • MiMC 및 Perdersen Commitment 도입시 최적화 가능