NIP-43은 relay가 멤버십 정보를 게시하는 방법과 사용자가 제한된 relay에 대한 가입, 초대 또는 탈퇴를 요청하는 방법을 정의합니다. 모든 비공개 또는 반공개 relay가 자체 가입 프로토콜을 발명할 필요 없이 relay 접근 제어에 표준 이벤트 인터페이스를 제공합니다.

작동 방식

이 사양은 여러 이벤트 kind를 결합합니다:

  • kind 13534는 relay 멤버십 목록을 게시합니다
  • kind 8000은 멤버가 추가되었음을 알립니다
  • kind 8001은 멤버가 제거되었음을 알립니다
  • kind 28934는 사용자가 클레임 코드와 함께 가입 요청을 제출할 수 있게 합니다
  • kind 28935는 relay가 요청 시 초대 코드를 반환할 수 있게 합니다
  • kind 28936은 사용자가 자신의 접근 권한 취소를 요청할 수 있게 합니다

멤버십 상태는 의도적으로 단일 이벤트에서만 파생되지 않습니다. 클라이언트는 접근이 현재 유효한지 결정하기 전에 relay가 서명한 멤버십 이벤트와 멤버 자신의 이벤트를 모두 확인해야 할 수 있습니다.

중요성

NIP-43은 제한된 relay에 가입 및 멤버십 상태를 표현하는 표준 방법을 제공합니다. 이는 그룹 시스템, 초대 전용 커뮤니티, 대역 외 웹 양식이나 수동 운영자 워크플로로 전환하지 않고 기계 판독 가능한 온보딩이 필요한 relay에 중요합니다.

PR #2267의 공개 설명은 하나의 실용적인 포인트를 강화합니다: relay는 pubkey당 하나의 권위 있는 멤버십 상태를 유지해야 합니다. 이는 이전 추가 또는 제거 이벤트가 현재 상태로 잘못 해석될 수 있는 모호한 재생 기록을 클라이언트가 피하는 데 도움이 됩니다.

상호운용성 참고 사항

NIP-43은 relay가 NIP-11 문서를 통해 지원을 알리는 것에 의존합니다. 가입 요청, 초대 요청 및 탈퇴 요청은 이 NIP 지원을 명시적으로 표시하는 relay에만 전송해야 합니다.

이벤트가 relay 제어 공간과 사용자 제어 공간에 동시에 존재하기 때문에, 구현에는 명확한 충돌 규칙이 필요합니다. 그래서 멤버십 상태 명확화가 처음 보이는 것보다 더 중요합니다.


주요 출처:

언급된 곳:

같이 보기: