163 / 691NWC

Nostr Wallet Connect

앱이 Lightning 지갑에 보내는 승인된 요청

Nostr Wallet Connect는 암호화된 요청으로 앱과 지갑을 연결하며, 접근 범위는 지갑 서비스가 정합니다.

Nostr Wallet Connect(NWC)는 Nostr 릴레이를 통해 Lightning 지갑을 원격 제어하는 NIP-47 프로토콜입니다. 릴레이는 비트코인 자체가 아닌 메시지를 전달하며, 개인 노드와 수탁 서비스 모두 사용할 수 있습니다.

클라이언트 앱이 요청을 보내면 지갑 서비스가 검증하고 결제 인터페이스를 호출합니다. NWC 자체는 비트코인 키 보유자를 정하지 않습니다. 개인 노드와 수탁 지갑은 같은 프로토콜을 쓰면서도 신뢰와 복구 방식은 다를 수 있습니다. [NWC — NIP-47: Core protocol] [NWC — Project overview]

연결 URI에는 서비스 공개키, 릴레이, 클라이언트 연결 비밀키인 secret이 들어 있습니다. 지갑 seed는 아니지만 승인된 요청에 서명할 수 있습니다. QR이나 사본이 다른 앱에 접근 권한을 줄 수 있습니다. 연결마다 다른 키를 쓰면 서로 연결 짓기 어려워집니다. [NWC — NIP-47: Core protocol]

공개 info 이벤트는 서비스 기능을 알리고 get_info는 해당 연결에서 가능한 메서드를 반환합니다. 기본에는 pay_invoice, make_invoice, lookup_invoice, get_balance, get_info가 있습니다. 이력, keysend, 알림은 선택 확장입니다. 지원과 권한을 따로 확인해야 하며 메서드 이름이 일반적인 결제 동의는 아닙니다. [NWC — NIP-47: Core protocol] [NWC — Optional specifications] [NWC-02 — Notifications]

Info는 kind 13194, 요청은 23194, 응답은 23195입니다. p 태그는 상대방, 응답의 e 태그는 요청을 가리킵니다. 클라이언트는 서명, 예상 서비스 키, 요청 연결, result_type을 검사합니다. 릴레이에서 이벤트를 받은 것만으로 실행이 증명되지는 않습니다. [NWC — NIP-47: Core protocol]

NIP-47 금액과 수수료는 msat이며 1000 msat는 한 satoshi입니다. 단위를 혼동하면 천 배 차이가 납니다. 성공한 pay_invoice는 preimage를, 실패 응답은 error를 제공합니다. make_invoice로 청구서를 만드는 것은 결제가 아니며 lookup_invoice로 상태를 조회할 수 있습니다. [NWC — NIP-47: Core protocol]

현재 협상은 nip44_v2를 선호하며 구형 nip04는 호환성을 위해 남아 있습니다. encryption 태그가 없으면 구형 모드입니다. NIP-44 자체는 forward secrecy를 제공하지 않습니다. 릴레이는 종류, 태그, 연결 키, 시간을 볼 수 있습니다. NWC 연결에 사용자의 주 신원 키를 사용해서는 안 됩니다. [NWC — NIP-47: Core protocol] [Nostr — NIP-44: Encrypted payloads]

NWC 요청과 응답은 임시 이벤트입니다. 릴레이 장애나 서비스 오프라인으로 메시지가 사라질 수 있고, 이미 완료된 결제의 응답만 없어질 수도 있습니다. timeout 후에는 lookup_invoice나 지갑에서 상태부터 확인하세요. 침묵은 확실한 실패가 아니며 새 요청이 자동으로 안전한 재시도는 아닙니다. [NWC — NIP-47: Core protocol]

서비스는 메서드, 예산, 유효기간을 제한하고 연결 키를 폐기할 수 있습니다. 제한은 클라이언트 화면뿐 아니라 서비스가 집행해야 합니다. 앱에서 연결을 삭제해도 지갑 권한이 남을 수 있습니다. 철회는 향후 사용을 막지만 완료된 결제를 되돌리지는 않습니다. [NWC — NIP-47: Core protocol]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Nostr, Lightning Network, BOLT 11, 지갑, 개인 키, Satoshi. 다음 항목에서도 이 글을 참조합니다 Nostr, BOLT 11.

DOC · 001NWC — NIP-47: Core protocol명세 ↗DOC · 002NWC — Project overview1차 출처 ↗DOC · 003NWC — Optional specifications명세 ↗DOC · 004Nostr — NIP-44: Encrypted payloads명세 ↗DOC · 005NWC-02 — Notifications명세 ↗
1차 출처 우선 · 투자 조언이 아닙니다