프라이버시 작동 방식
블록체인은 공개되도록 설계되었습니다. 전송 금액, 발신 주소, 수신 주소, 타임스탬프 등 모든 트랜잭션이 영구적으로 보입니다. 이러한 투명성은 감사에는 유용하지만 금융 프라이버시에는 불리합니다.
Anon은 셀프 커스터디와 기존 DeFi 인프라와의 호환성을 유지하면서 이 문제를 해결합니다.
Anon을 사용하지 않을 때 관찰자가 보는 정보
MetaMask 같은 일반 지갑을 사용하면 다음과 같습니다.
- 주소가 서명한 모든 트랜잭션과 영구적으로 연결됩니다
- 주소를 아는 누구나 전체 거래 기록, 현재 잔액, 거래 상대방을 볼 수 있습니다
- KYC를 통해 실제 신원을 아는 거래소가 온체인 활동을 추적할 수 있습니다
- 데이터 중개업체, 분석 기업, 악의적인 행위자가 금융 행동에 관한 프로필을 만들 수 있습니다
Anon을 사용할 때 관찰자가 보는 정보
Anon의 쉴드 풀을 통해 거래하면 다음과 같습니다.
- 온체인 기록에는 Railgun과의 상호작용과 쉴드·언쉴드 금액을 포함한 공개 트랜잭션 데이터가 표시됩니다
- 풀 내부의 금액, 발신자, 수신자는 영지식 증명으로 숨겨집니다
- 여러 사용자가 풀을 공유하므로 직접적인 연결을 찾기 어려워집니다. 다만 시점, 특이한 금액, 다른 활동으로 연관 관계가 생길 수 있습니다
- 브로드캐스터가 대신 제출하므로 온체인 가스 지불자가 사용자 주소와 분리되지만, 네트워크 수준의 익명성을 보장하지는 않습니다
세 가지 핵심 원칙
보안
지갑 키 자료는 로컬에서 생성되고 암호화하여 저장됩니다. 인증에는 PRF를 지원하는 WebAuthn 패스키 또는 Argon2id 비밀번호 해싱을 사용합니다. 패스키의 저장과 동기화는 인증 장치에 따라 달라집니다. 모든 패스키가 한 기기에 묶여 있다고 가정하지 마세요. 복구 문구는 비공개로 보관하세요.
프라이버시
영지식 증명(zk-SNARKs)을 사용하면 쉴드 풀에서 어떤 자금이 자신의 것인지 밝히지 않고도 해당 자금을 사용할 권한이 있음을 증명할 수 있습니다. 쉬운 설명은 영지식 증명을 참고하세요.
통제권
Anon은 비수탁형 지갑으로, 지출 키를 사용자가 관리합니다. 공개 트랜잭션 정보는 여전히 보이며 서비스는 요청 메타데이터와 서비스 제공에 필요한 데이터를 받을 수 있습니다.
지갑이 내 자금을 찾는 방법
온체인 프라이버시는 문제의 절반일 뿐입니다. 쉴드 지갑은 공유 풀의 암호화된 노트 중 어느 것이 자신의 것인지 찾아야 합니다. 단순한 방법은 서버에 물어보는 것인데, 그러려면 조회 키에서 도출한 필터를 서버에 넘겨야 합니다. 서버의 로그 정책과 관계없이, 서버는 사용자가 무엇을 찾는지 알게 됩니다.
Anon은 그런 요청을 하지 않습니다. 지갑은 모든 사용자에게 동일한 고정된 공개 파일로 풀의 기록을 다운로드한 뒤 기기에서 복호화합니다. 기록 요청에는 지갑에서 도출한 노트 필터가 없지만, 서버는 IP 주소, 요청 파일, 시점을 여전히 관찰할 수 있습니다.
지갑 동기화에서는 이 원리와 지갑이 통신하는 각 서버에 여전히 보이는 정보를 자세히 설명합니다.
한계
프라이버시가 절대적인 것은 아닙니다. 일부 정보는 여전히 보입니다.
- Railgun 풀에 입금하거나 출금했다는 사실은 공개됩니다
- 쉴드와 언쉴드 금액 및 관련 공개 발신·수신 주소가 보입니다
- 트랜잭션 시점과 지불한 가스비를 관찰할 수 있습니다
- 지갑이 데이터를 가져오는 서버에는 IP 주소가 보이며, 트래픽 형태는 마지막 동기화 시점을 추정하게 할 수 있습니다. 올바르게 설정한 VPN이나 Tor는 서버에 보이는 IP를 바꾸지만, 추가 신뢰와 트래픽 분석의 한계를 수반합니다
- 결백 증명 검사는 제3자 애그리게이터에 특정 노트를 조회합니다. 이 경로가 다른 이유는 지갑 동기화를 참고하세요
프라이버시를 최대한 보호하려면 새로운 주소에서 자금을 쉴드하고, 이전 입금액과 일치하는 특이한 정수 금액처럼 신원을 추론하는 데 쓰일 수 있는 패턴을 피하세요.