피드로 돌아가기
Selective Disclosure Patterns in Compact
Dev.toDev.to
Security

Compiler 레벨 Witness Protection을 통한 Selective Disclosure 아키텍처 구현

Selective Disclosure Patterns in Compact

Akanji Rahman2026년 5월 3일15intermediate

Context

기존 Blockchain의 Full Transparency 구조로 인한 민감 데이터 노출 문제 발생. 의료 기록 및 거대 데이터 처리 시 개인정보 보호와 검증 가능성 사이의 상충 관계 해결 필요.

Technical Solution

  • Public State(On-chain Ledger)와 Private State(Local Client)를 엄격히 분리한 Dual-State 아키텍처 설계
  • Witness Protection Program 기반의 Compiler Interpreter를 도입하여 명시적 선언 없는 Private Data 유출 원천 차단
  • disclose() Wrapper를 통한 의도적 공개 메커니즘을 구현하여 Privacy를 Default로 설정하고 Disclosure를 Exception으로 처리
  • Zero-knowledge Proof(ZKP)를 활용해 실제 값 노출 없이 특정 조건(예: Threshold 초과 여부)의 진위만 증명하는 로직 적용
  • Domain-separated Hashing 기법을 도입하여 서로 다른 속성 간의 연결 가능성을 제거함으로써 Linkability 방지
  • disclose() 적용 범위를 Storage 및 Return 지점과 최대한 가깝게 배치하여 공개 범위의 최소화(Least Privilege) 달성

1. Private Data를 Public State로 전환하는 모든 지점에 명시적 Disclosure 선언 여부 확인

2. disclose() Wrapper의 스코프를 최소화하여 의도치 않은 데이터 재사용 및 유출 경로 차단

3. 데이터 간 연관성 분석을 방지하기 위한 Domain-separated Hashing 적용 검토

4. 리팩토링 후 Compiler 에러 메시지를 통한 Witness Value 유출 경로의 전수 재검토 수행

원문 읽기