NIP-17: 비공개 다이렉트 메시지
NIP-17은 발신자 프라이버시를 위해 NIP-59 gift wrapping을 사용하는 비공개 다이렉트 메시지를 정의합니다. 발신자를 노출하는 NIP-04 DM과 달리, NIP-17 메시지는 누가 메시지를 보냈는지 숨깁니다. 수신자는 외부 gift wrap에서 보입니다.
작동 방식
메시지는 여러 암호화 레이어로 래핑됩니다:
- 실제 메시지 콘텐츠(kind 14)
- 콘텐츠를 수신자에게 암호화하는 seal
- 발신자의 신원을 숨기는 gift wrap
외부 gift wrap은 무작위 일회용 키 쌍을 사용하므로 릴레이와 관찰자가 누가 메시지를 보냈는지 판단할 수 없습니다.
메시지 구조
- Kind 14 - 실제 DM 콘텐츠(seal 내부)
- 콘텐츠에 NIP-44 암호화 사용
- DM 대화 내에서 리액션(kind 7) 지원
프라이버시 보장
- 릴레이는 발신자를 볼 수 없음(gift wrap의 일회용 키 쌍으로 숨겨짐)
- 수신자는 보임(gift wrap의
p태그에서) - 메시지 타임스탬프가 일정 범위 내에서 무작위화됨
- 릴레이에서 보이는 스레딩이나 대화 그룹화 없음
NIP-04와 비교
NIP-04 DM은 콘텐츠를 암호화하지만 메타데이터는 보입니다:
- 발신자 pubkey가 공개됨
- 수신자 pubkey가
p태그에 있음 - 타임스탬프가 정확함
NIP-17은 더 복잡한 구현 비용으로 발신자를 숨깁니다.
주요 출처:
언급된 곳:
참고: