Web3 기초부터 배우기 — 선택적 공개(Selective Disclosure) 이해하기
Web3 세계를 더 깊이 탐구하면서 업계에 대한 이해를 넓히기 위해 기초 개념을 하나씩 짚어가고 있습니다(지난 다섯 편의 글은 Midnight Dev Diaries에서 확인하세요!). 이번 주에는 지금까지 만난 개념 중 가장 실용적이고 프라이버시에 초점을 맞춘 아이디어인 selective disclosure를 깊이 다루었습니다.
Selective disclosure는 단순한 기술적 기능이 아닙니다. Rational privacy라는 더 넓은 개념의 실제 구현입니다. 특정 상호작용에서 필요한 것만 증명하거나 공개하고, 나머지는 모두 비공개로 유지합니다. 중앙 권위 없이 신뢰를 쌓아야 하는 생태계에서, 법적 또는 운영상의 요구사항을 충족하면서 개인 데이터를 보호할 수 있다는 점은 매우 중요합니다.
이 글에서는 selective disclosure의 작동 방식, 장점, 그리고 Midnight이 프라이버시 우선 smart contract를 통해 이를 어떻게 구현하고 있는지 살펴봅니다.
What Is Selective Disclosure?
Web3 세계에서 프라이버시는 모든 것을 비밀로 유지하는 것이 아닙니다. 필요한 것만 공유하는 것입니다. Selective disclosure는 특정 상호작용에서 필요한 정보만 공개하고 다른 모든 개인 데이터는 기밀로 유지하는 프라이버시 보존 기법입니다.
이 접근 방식은 rational privacy라는 더 넓은 개념을 구체화한 것입니다. Rational privacy란 프라이버시가 전부 아니면 전무가 아니라 맥락에 따라 조절되어야 한다는 생각입니다. 실제로 많은 상황에서 사용자는 서비스 접근이나 법적 의무 이행을 위해 일부 데이터를 공유해야 하지만, 그 과정에서 모든 프라이버시를 포기할 필요는 없습니다. 개인 통제, 사용성, 규제 준수 사이의 균형을 맞추는 것이 핵심입니다.
Selective disclosure는 이 rational privacy를 기술적으로 구현한 것입니다. 민감한 정보를 기본적으로 보호하면서, 필요할 때 적절한 수준의 투명성을 제공할 수 있는 암호학적 도구를 사용자와 개발자에게 제공합니다. 데이터가 불변적이고 기본적으로 공개되는 공개 blockchain 네트워크에서 특히 중요합니다.
Selective disclosure의 대표적인 사례는 Verifiable Credential(VC)의 사용입니다. VC를 통해 사용자는 전체 자격 증명을 공개하지 않고도 나이, 거주지, 학력 같은 속성을 증명할 수 있습니다. 이는 데이터 최소화와 privacy by design의 원칙에 부합하며, 개인이 자신의 정보를 통제할 수 있게 합니다.
이처럼 사용성과 프라이버시의 균형을 잡을 수 있다는 점이 selective disclosure의 강점이며, 실제 blockchain 애플리케이션에 매우 적합한 이유입니다. 그렇다면 기술적 구현을 넘어 실질적인 이점은 무엇일까요?
Benefits of Selective Disclosure
적절히 통합하면 selective disclosure는 탈중앙화 시스템에 기술적이면서도 사용자 중심적인 장점을 제공합니다. 기능을 희생하지 않으면서 프라이버시 기대치와 컴플라이언스 기준을 동시에 충족할 수 있습니다. 주요 장점은 다음과 같습니다:
- Enhanced Privacy: 전체 자격 증명이나 신원 문서를 공개하지 않고, 특정 상호작용에 필요한 데이터만 공유할 수 있습니다. 프라이버시 침해와 감시 위험이 크게 줄어듭니다. 서비스 접근, 양식 제출, smart contract 상호작용 등 어떤 경우에도 불필요한 개인 데이터가 노출되지 않습니다.
- Data Minimization and Compliance: 데이터 최소화 원칙은 GDPR, HIPAA 같은 프라이버시 법규의 핵심으로, 작업에 필요한 최소한의 개인 데이터만 수집/처리하도록 요구합니다. Selective disclosure는 이 원칙을 자연스럽게 실현하므로, 개발자와 조직이 프라이버시를 기본으로 존중하는 시스템을 설계하기 쉬워집니다.
- User Empowerment and Control: 기존 시스템에서는 나이만 증명하려고 신분증 전체를 업로드하는 식으로, 작은 검증을 위해 전체 데이터를 넘기는 경우가 많습니다. Selective disclosure는 이 구조를 뒤집어, 무엇을 언제 누구에게 공유할지 사용자가 직접 통제합니다. 개인이 자신의 자격 증명을 관리하는 사용자 중심 데이터 모델에 부 합합니다.
- Reduced Risk of Data Misuse: 노출 정보가 줄어들수록 데이터 유실, 도난, 오용 위험도 줄어듭니다. 대규모 ID 데이터베이스 같은 중앙 집중식 저장소의 필요성이 감소하여, 사기와 신원 도용에 대한 공격 경로가 제한됩니다. Transaction이나 자격 증명이 중간에 가로채이더라도 최소한으로 공개된 속성만 노출됩니다.
- Lower Liability and Operational Overhead for Businesses: 많은 조직이 위험, 규제 요구, 관리 부담 때문에 민감한 사용자 데이터의 수집과 저장을 꺼립니다. Selective disclosure를 활용하면 사용자가 조직에 데이터를 맡기지 않고도 자격이나 컴플라이언스를 입증할 수 있습니다. 비용 절감, 운영 간소화, 전반적인 데이터 보안 수준 향상으로 이어집니다.
Selective disclosure가 사용자 중심 프라이버시의 강력한 모델이지만, 기술적/사용성 측면에서 고유한 과제도 있습니다. 이러한 한계를 이해하는 것은 책임감 있는 도입을 위해 필수적입니다.
Potential Drawbacks
Selective disclosure가 프라이버시와 통제를 강화하지만, 실제 구현이 항상 간단하지는 않습니다. 주요 과제는 다음과 같습니다:
- Complexity in Implementation: Selective disclosure는 zero-knowledge proof 등 고급 암호학 기술에 의존합니다. 신중한 설계, 정밀한 구현, 깊은 보안 지식이 필요합니다. 저처럼 Web3나 암호학에 새로 입문한 개발자에게는 학습 곡선이 가파르고, 구현 실수가 의도한 프라이버시 보호를 약화시킬 수 있습니다.
- Verification Difficulties: 자격 증명이나 진술의 일부만 공개할 때, 진위 확인이 더 복잡해질 수 있습니다. 원본 데이터 전체에 접근하지 않고도 부분 공개를 신뢰할 수 있도록 시스템을 설계해야 합니다. 추가 메타데이터나 proof가 필요한 경우가 많아 시스템 복잡성이 높아지고 검증 속도가 느려질 수 있습니다.
- Interoperability Challenges: 모든 탈중앙화 신원 시스템이 동일한 형식이나 표준을 따르지는 않습니다. 한 플랫폼에서 발행한 자격 증명이 다른 플랫폼에서 쉽게 검증되지 않을 수 있으며, selective disclosure 같은 고급 기능에서 특히 그렇습니다. 널리 채택된 프로토콜과 인프라가 부족하면 크로스 플랫폼 호환성이 제한되어 selective disclosure 데이터의 활용 범위가 좁아집니다.
이러한 과제는 실재하지만 극복 불가능하지는 않습니다. Midnight을 포함한 프라이버시 보존 blockchain 프로젝트들은 selective disclosure를 더 실용적이고 개발자 친화적으로 만들고, 생태계 간 상호운용성을 높이는 데 집중하고 있습니다.
Use Cases of Selective Disclosure
Selective disclosure는 과도한 정보 공개 없이 무언가를 증명해야 하는 모든 상황에서 활용됩니다. 민감한 데이터를 다루면서도 컴플라이언스, 신뢰, 투명성이 요구되는 시스템에 특히 유용합니다. 대표적인 분야를 살펴보겠습니다:
- Digital Identity Verification: 서비스에 접근하기 위해 18세 이상임을 증명하되, 운전면허증을 업로드하거나 생년월일과 주소를 전부 공개 하지 않아도 됩니다. Selective disclosure를 통해 전체 자격 증명이 아닌, 관련 사실(예: "18세 이상")만 검증 가능한 진술로 제시할 수 있습니다.
- Financial Transactions: 금융 플랫폼은 종종 신원이나 transaction 정당성(KYC/AML 컴플라이언스)을 확인해야 하지만, 사용자가 전체 금융 이력이나 지갑 활동을 공유할 필요는 없습니다. Selective disclosure를 통해 법적으로 필요한 것만 공유할 수 있습니다. 그 이상도 이하도 아닙니다.
- Healthcare: 환자가 전체 의료 기록을 공개하지 않고 예방접종 상태나 의료 자격을 증명해야 할 수 있습니다. Selective disclosure를 통해 필요한 속성(예: "X에 대해 예방접종 완료")만 공유하고 나머지는 비공개로 유지할 수 있습니다.
- Access Control: 장소 입장이든 온라인 서비스 접근이든, 사용자는 멤버십, 역할, 자격 증명 같은 속성에 따라 접근이 허용되거나 거부될 수 있습니다. Selective disclosure는 불필요한 식별 정보를 노출하지 않으면서 이러한 접근 로직을 실행할 수 있습니다.
Selective Disclosure in the Midnight Network
Midnight에서 selective disclosure는 단순한 프라이버시 기능이 아니라, rational privacy에 기반한 핵심 설계 원칙입니다. Rational privacy는 민감한 데이터를 보호해야 하지만, 실제 애플리케이션은 규제, 법률, 운영상의 이유로 통제된 가시성도 필요하다는 것을 인식합니다.
금융 transaction을 예로 들어 보겠 습니다. Midnight 위에 구축된 탈중앙화 금융 플랫폼은 사용자 잔액, 이체, transaction 이력을 비공개로 유지하고 싶을 수 있습니다. 그러나 자금세탁방지(AML)나 고객확인(KYC) 규정에 따라 특정 정보를 공개해야 할 수도 있습니다. 다만, 권한이 있는 당사자에게만, 특정 법적 조건하에서만 공개됩니다.
이 지점에서 selective disclosure와 zero-knowledge proof가 결합됩니다. Midnight의 Compact smart contract 언어로 전체 transaction 세부 사항을 공개하지 않으면서 transaction 유효성(예: 특정 한도 이하, 규제 필터 준수)을 증명하는 로직을 구축할 수 있습니다. 규제 감사가 발생하면 필요한 정보만 선택적으로 공개하고, 그 이상은 공개하지 않습니다.
이를 통해 Midnight에서는 개인 프라이버시를 존중하면서 규제 요구사항도 준수하는 애플리케이션을 구축할 수 있습니다. 현실 세계에서 신뢰가 작동하는 방식 그대로입니다: 필요한 것만, 필요할 때만, 적절한 상대에게만 공유합니다.
Conclusion
Selective disclosure는 사용자의 실제 상황에 맞는 유연하고 강력한 프라이버시 접근 방식입니다. 자신의 정보를 직접 통제하면서, 요구사항 충족에 필요한 최소한의 정보만 공유할 수 있습니다. 신원 확인, 자격 증명, 금융 규정 준수 등 어떤 경우든 프라이버시를 실용적이고 효과적으로 구현합니다.
Midnight에서 이 개념은 이론을 넘어 플랫폼 아키텍처에 내장되어 있습니다. Compact smart contract와 zero-knowledge proof를 통해, 사용자 보호와 실제 요구 사이의 균형을 맞추는 시스템을 구축할 수 있습니다. Rational privacy의 실현입니다.
Web3에서 프라이버시를 위한 개발 방법을 탐구하고 있거나 이러한 시스템의 작동 원리를 배우고 있다면, 더 많은 예시와 기술적 통찰을 위해 Midnight docs와 Academy를 확인해 보시기 바랍니다. 아래에 selective disclosure에 대한 추가 읽을거리도 함께 정리했습니다:
- What Is Selective Disclosure? – Identity.com
- Selective Disclosure Guide – Dock.io
- A Refresher on Selective Disclosure and Anti-Fraud Rules – Frost Brown Todd
- Midnight Academy Module 3 – Midnight Docs
- Explicit Disclosure Reference – Midnight Docs
- Digital Assets Use Cases – Midnight Docs
항상 그렇듯, Web3에서 프라이버시나 신원에 관한 좋은 학습 자료를 발견하셨다면 공유해 주세요!
다음 주에도 탈중앙화 시스템을 구성하는 핵심 요소들을 계속 풀어나가겠습니다.
