Shielded 결제 증명 및 결제 공개
요약
- 트랜잭션 ID는 트랜잭션을 식별하지만, shielded 수신자, 금액 또는 메모를 공개하지는 않습니다.
- 결제 공개는 발신자가 지갑 기록의 나머지를 노출하지 않고 하나의 결제에 대한 선택된 세부 정보를 증명할 수 있도록 설계되었습니다.
- Viewing Key는 주소 또는 계정에 대한 지속적인 읽기 접근 권한을 부여합니다. 단일 결제 분쟁이 아니라 지속적인 감사에 사용하세요.
- 결제 공개는 상품 배송을 증명하거나, 그 자체로 개인을 식별하거나, 결제를 취소하거나, 확인 검사를 대체할 수 없습니다.
- ZIP 311은(는) 여전히 초안입니다. 현재 문서에는 Orchard 지원, transparent 입력 지원, 인코딩, 버전 관리 및 사용자 인터페이스 규칙이 미완성으로 남아 있습니다.
트랜잭션 ID만으로는 충분하지 않은 이유
누구나 transparent Zcash 결제의 공개 세부 정보를 검사할 수 있습니다. 블록 탐색기는 주소, 금액 및 확인 상태를 표시할 수 있습니다.
shielded 결제는 다르게 작동합니다. 체인은 트랜잭션이 Zcash의 규칙을 따랐음을 증명하지만, shielded 발신자, 수신자, 금액 또는 메모를 공개하지는 않습니다. 트랜잭션 ID를 공유하면 트랜잭션이 채굴되었음을 보여줄 수는 있지만, 가맹점이나 제3자에게 그 안에 어떤 비공개 결제가 있었는지는 증명할 수 없습니다.
이로 인해 실질적인 문제가 발생합니다. 고객은 가맹점 분쟁을 해결해야 할 수 있고, 거래소는 출금 처리를 증명해야 할 수 있으며, 기부자는 하나의 기부금을 증명하고자 할 수 있습니다. 전체 Viewing Key를 공유하면 이러한 경우에 필요한 것보다 훨씬 많은 정보가 공개됩니다.
ZIP 311: Zcash 결제 공개은(는) 더 제한적인 해답을 제안합니다. 하나의 트랜잭션에서 선택된 정보를 공개하고 인증하는 것입니다.

결제 공개의 작동 방식
기본 흐름은 다음과 같습니다.
- 대화형 증명이 적절한 경우, 검증자는 발신자에게 고유한 챌린지 또는 참조 값을 제공합니다.
- 발신자는 공개할 트랜잭션과 shielded 출력 하나 또는 여러 개를 선택합니다.
- 호환되는 지갑 소프트웨어가 해당 트랜잭션 및 선택적으로 챌린지에 연결된 결제 공개를 생성합니다.
- 발신자는 검증자에게 공개 정보를 제공합니다.
- 검증자는 신뢰할 수 있는 Zcash 노드에서 실제 트랜잭션을 가져와 채굴되었는지 확인하고, 이에 대해 공개 정보를 검증합니다.
- 유효한 결과는 해당 공개 정보에 포함된 주장만 확인합니다.
ZIP의 Sapling 설계는 발신 암호 키를 사용하여 선택된 각 출력을 복구합니다. 이를 통해 출력의 수신자, 금액 및 메모를 공개할 수 있습니다. 또한 최소 하나의 트랜잭션 입력에 대한 지출 권한 증명이 필요하므로, 단순히 트랜잭션을 본 사람은 자신이 보낸 것처럼 유효한 공개 정보를 만들 수 없습니다.
Sapling 결제 공개가 발신자 주소를 반드시 공개할 필요는 없습니다. 지출 권한은 여러 diversified 주소를 제어할 수 있으므로, 지출 제어를 증명한다고 해서 자동으로 하나의 주소가 식별되지는 않습니다. ZIP 311에는 증명을 알려진 발신자 주소에 연결해야 하는 경우를 위한 선택적 주소 증명이 포함되어 있습니다.
결제 공개인가, Viewing Key인가?
| 방법 | 최적의 용도 | 공개되는 정보 | 지속적인 접근? | 결제와 암호학적으로 연결됨? |
|---|
| Transaction ID | 트랜잭션이 채굴되었는지 확인 | 공개 트랜잭션 데이터 및 확인 | 아니요 | 예, 하지만 shielded 결제 세부 정보는 숨겨진 채로 유지됩니다 |
| Screenshot or receipt | 비공식 기록 보관 | 발신자가 표시하기로 선택한 모든 정보 | 아니요 | 아니요. 이미지는 편집될 수 있습니다 |
| Payment disclosure | 하나의 결제에 대한 선택된 세부 정보 증명 | 선택된 트랜잭션 출력 및 포함된 발신자 또는 챌린지 증명 | 아니요. 하지만 공유된 증명은 복사될 수 있습니다 | 예 |
| Incoming Viewing Key | 계정이 수신한 결제 모니터링 | 키가 포괄하는 수신 활동 | 예 | 일치하는 수신 결제를 복호화합니다 |
| Full Viewing Key | 계정 회계 또는 감사 | 키가 포괄하는 수신 및 발신 활동, 금액, 메모 및 잔액 | 예 | 일치하는 계정 활동을 복호화합니다 |
질문에 답할 수 있는 가장 작은 범위의 공개 정보를 사용하세요. 하나의 결제에 관한 가맹점 분쟁이 일반적으로 계정의 모든 결제에 대한 접근을 정당화하지는 않습니다. 전체 보고 기간을 검토해야 하는 회계사에게는 대신 Viewing Key가 필요할 수 있습니다.
어느 방법도 지출 권한을 부여하지 않습니다. 결제 증명으로 시드 문구, 지출 키, 개인 키 또는 지갑 백업을 절대 공유하지 마세요.

오늘 무엇을 사용할 수 있나요?
현재 ZIP 311 결제 공개 생성 또는 검증을 구현한 지갑은 여기에서 확인되지 않았습니다. ZIP은(는) 초안으로 남아 있으며, 참조 구현은 "TBD"로 기재되어 있습니다. 다음의 유지 관리되는 도구는 오늘 이용 가능한 기록을 발신자, 수신자 또는 권한 있는 감사자가 검사하는 데 여전히 도움이 될 수 있습니다.
| 앱 | 현재 유용한 용도 | 중요한 제한 사항 |
|---|
| Zkool | 상세 트랜잭션 메타데이터, 금액, 풀 입력 및 출력, 메모 보기, Unified 또는 Sapling Viewing Key를 보기 전용 계정으로 가져오기 | ZIP 311 공개 생성 또는 검증을 제공한다고 알리지 않습니다 |
| Zingo PC | shielded 트랜잭션 기록 및 메모 검토, Unified Full Viewing Key를 읽기 전용 모드로 가져오기 | 지갑 기록 또는 읽기 전용 계정은 선택적으로 범위가 지정된 결제 공개가 아닙니다 |
| Zallet | z_viewtransaction, z_exportviewingkey 및 z_importviewingkey을(를) 사용하는 운영자 워크플로 | 베타 소프트웨어이며, Viewing Key 및 트랜잭션 RPC는 ZIP 311 증명이 아니라 더 광범위하거나 로컬 기록입니다 |
먼저 결제를 보냈거나 받은 지갑을 사용하세요. 트랜잭션 세부 정보, 메모, 트랜잭션 ID 및 확인을 확인한 뒤, 상대방에게 자신의 기록과 그 세부 정보를 비교하도록 요청하세요. 증거를 만들기 위해 새 지갑을 설치하고 시드 문구를 입력하지 마세요. 감사자에게 지속적인 가시성이 필요하다면 호환되는 보기 전용 계정을 고려하고, 공유하기 전에 Viewing Key의 범위를 이해하세요.
이 앱들은 기록 확인을 위한 실용적인 대안일 뿐, 표준화된 결제 공개를 사용할 수 있다는 증거는 아닙니다. 스크린샷은 사람들이 기록을 비교하는 데 도움이 될 수 있지만 편집 가능하며 암호학적 증명이 아닙니다.
결제 공개가 적용되는 경우
가맹점 분쟁
고객은 특정 금액이 가맹점의 shielded 주소로 전송되었음을 증명할 수 있습니다. 이 증명은 상품이 배송되었는지, 환불이 필요한지, 또는 이를 제시한 사람이 특정 법적 신원을 가졌는지를 입증하지 않습니다. 이러한 문제는 여전히 주문 기록과 당사자 간의 합의에 달려 있습니다.
Shielded 출금
ZIP 311은 shielded 출금을 대상 사용 사례로 나열합니다. 거래소는 이러한 세부 정보를 온체인에 공개하지 않고 수신자와 금액을 증명하게 됩니다. transparent 입력 증명은 아직 미완성이므로, 이는 아직 완전한 표준화 워크플로가 아닙니다. 고객은 또한 트랜잭션의 확인 상태를 독립적으로 확인해야 합니다.
기부
기부자나 캠페인은 관련 없는 결제를 비공개로 유지하면서 특정 기부를 증명할 수 있습니다. 공개 정보를 게시하면 선택된 세부 정보가 사본을 받는 모든 사람에게 공개되므로, 공개 증명이 불필요할 때는 비공개 검증 채널이 더 안전합니다.
회계
회계사가 하나의 트랜잭션에 대한 증거를 필요로 할 때는 결제 공개를 사용하세요. 회계사가 여러 트랜잭션이나 전체 보고 기간에 대한 지속적인 접근을 필요로 할 때는 가장 범위가 좁은 적절한 Viewing Key를 사용하세요.
개인정보를 안전하게 지키는 워크플로
ZIP 311은 아직 완성되어 널리 배포 가능한 지갑 표준이 아닙니다. 호환되는 발신자 및 검증자 도구를 사용할 수 있게 되면 다음 체크리스트를 사용하세요.
- 먼저 호환성을 확인하세요. 두 도구 모두 동일한 공개 형식과 결제에 사용된 shielded 풀을 지원해야 합니다.
- 일반적인 문제를 먼저 해결하세요. 비공개 세부 정보를 공개하기 전에 지갑 동기화, 트랜잭션 ID, 확인 횟수, 만료 상태 및 수신자의 기록을 확인하세요.
- 챌린지를 요청하세요. 분쟁의 경우 검증자는 공개 정보가 해당 요청에 연결되도록 새로운 주문 번호 또는 무작위 챌린지를 제공해야 합니다.
- 필요한 출력만 선택하세요. 같은 트랜잭션에서 관련 없는 출력을 포함하지 마세요.
- 공개되는 모든 필드를 미리 확인하세요. 내보내기 전에 수신자, 금액, 메모, 발신자 주소 증명 및 챌린지를 확인하세요.
- 비공개 채널을 통해 공유하세요. 공개 정보는 비밀 지출 키가 아니지만, 이를 받는 사람은 공개되는 정보를 보관하거나 재배포할 수 있습니다.
- 체인에 대해 검증하세요. 검증자는 신뢰할 수 있는 노드에서 정확한 트랜잭션을 가져와 의도한 네트워크와 블록에 있음을 확인한 후 공개 정보를 검증해야 합니다.
- 추가 비밀이 아니라 결과를 기록하세요. 분쟁, 출금, 기부 또는 회계 절차에 필요한 정보만 보관하세요.
지갑이 공개 정보를 생성할 수 없다면, 더 광범위하고 영구적인 범위를 이해하지 못한 채 전체 Viewing Key를 대신 제공하지 마세요. 수신자가 자신의 지갑 기록으로 결제를 확인할 수 있는지, 또는 덜 민감한 기록을 받아들일 수 있는지 물어보세요.
유효한 공개 정보가 증명하지 못하는 것
성공적인 검증은 다음을 증명하지 않습니다.
- 트랜잭션에 검증자의 위험 정책에 충분한 확인이 있는지
- 체인 재구성이 최근 트랜잭션을 제거할 수 없는지
- 상품 또는 서비스가 제공되었는지
- 환불 또는 차지백이 필요한지
- 적절한 주소 증명이 포함되지 않은 한, 발신자가 특정 주소를 제어하는지
- 공개 정보를 제시하는 사람이 주장하는 현실 세계의 신원을 가졌는지
- 공개되지 않은 출력, 다른 트랜잭션 또는 지갑 잔액이 특정 값을 가지는지
- 공개 정보가 공유된 후에도 비공개로 유지되는지
검증자는 체인 포함 여부와 확인 상태를 별도로 점검해야 합니다. ZIP 311의 검증 절차는 호출자가 이미 채굴된 트랜잭션과 그 블록 높이를 획득했다고 가정합니다.
현재 제한 사항
ZIP 311을 현재 지갑에 작동하는 결제 증명 버튼이 있다는 약속이 아니라 제안된 표준으로 취급하세요.
이 초안은 현재 Sapling 지출 및 출력을 명시하지만, Orchard, transparent 입력, 공개 정보 인코딩, 버전 관리 및 지갑이 서로 다른 유효성 수준을 표시해야 하는 방식에 대해서는 미완성 항목이 남아 있습니다. 참조 구현도 "TBD"로 기재되어 있습니다. 작성된 내용상 Orchard 또는 Ironwood 결제에 대한 결제 공개는 정의하지 않습니다.
또한 트랜잭션이 해당 출력에 대한 발신 Viewing Key 없이 의도적으로 생성된 경우, 발신자는 출력을 공개하지 못할 수 있습니다. ZIP 311은 새로운 복구 경로를 만들기보다 그러한 개인정보 선택을 보존합니다.
이전 문서에서는 zcashd의 실험적 z_getpaymentdisclosure 및 z_validatepaymentdisclosure 명령을 설명합니다. 해당 명령은 Sprout JoinSplit 출력에만 지원했으며, ZIP 311의 Sapling 설계가 아니었고 사용 중단되었습니다. zcashd은(는) 2026년 7월에 최종 지원 종료 중단에 도달했습니다. 현재 자금에 대한 지침으로 이 레거시 안내를 사용하지 마세요.
이러한 공백이 이 아이디어를 쓸모없게 만들지는 않습니다. 이는 신중한 안내서가 개인정보 모델 및 사용 사례를 일반 사용자가 사용할 준비가 된 소프트웨어와 구분해야 하는 이유를 설명합니다.
FAQ
트랜잭션 ID만으로 shielded 결제를 증명할 수 있나요?
아니요. ID는 트랜잭션과 확인 상태를 식별할 수 있지만, shielded 수신자, 금액 및 메모는 공개되지 않습니다.
결제 공개는 Viewing Key와 같은가요?
아니요. 공개 정보는 하나의 트랜잭션의 선택된 세부 정보로 범위가 지정됩니다. Viewing Key는 시간이 지남에 따라 주소 또는 계정에 대한 일치 활동을 공개할 수 있습니다.
수신자가 발신자의 증명을 만들 수 있나요?
ZIP 311 설계에서는 불가능합니다. 유효한 공개 정보는 최소 하나의 입력에 대한 지출 권한을 증명해야 합니다. 수신자는 자신의 지갑 기록을 사용해 결제를 확인할 수 있지만, 이는 다른 주장입니다.
공유한 후 공개 정보를 취소할 수 있나요?
아니요. Viewing Key처럼 미래 계정 접근 권한을 부여하지는 않지만, 공개된 데이터와 증명은 복사될 수 있습니다. 모든 비공개 금융 기록만큼 신중하게 공유하세요.
검증이 ZEC을(를) 이동하거나 잠그나요?
아니요. 공개 정보 생성 또는 검증은 자금을 지출, 환불, 동결 또는 되돌리지 않습니다.
지갑에 공개 기능이 없다면 오늘 무엇을 사용해야 하나요?
수신자의 지갑 기록, 트랜잭션 ID와 확인 상태, 암호화된 메모의 인보이스 참조 또는 상호 합의된 다른 영수증부터 시작하세요. 더 넓은 범위가 진정으로 필요하고 이해된 경우에만 Viewing Key를 사용하세요.
자료
관련 페이지