Decentralized consignment exchange over Nostr #3
nicholaschiarulli
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Currently, the consignment hand-off in a transfer (consignment.post/get, ack.post/get, media.*) runs over the RGB HTTP JSON-RPC proxy. In practice, that means a handful of centralized proxy servers can read the consignment and the transfer metadata, the receiver has to poll, and the ecosystem leans on a few public instances that can censor or go down.
Our approach: map the proxy's methods onto Nostr. The payer gift-wraps the consignment (NIP-44 + NIP-59) to the payee's key and publishes it to the payee's relays; the payee holds a subscription and is pushed the data in real time. The ACK returns to a per-transfer ephemeral reply key, so the payer stays anonymous end to end.
The relay learns nothing: it sees an opaque blob addressed to a throwaway key, not the contents, the recipient_id, or the real parties. Anyone can run one. Small consignments ride inline; larger ones go to encrypted storage referenced inside the wrap. The proxy's write-once invariants (a consignment and an ACK cannot change) are preserved at the receiver.
Status: the NIP specification is drafted and implemented. A reference relay and client are deployed, and a live demo runs a real RGB transfer end to end over the relay on Mutinynet, surfacing the resulting Bitcoin tx, the kind-1059 event, and the RGB contract.
NIP spec and code: https://github.com/node21labs/parcel21
Live demo: https://demo.node21labs.com/
All reactions