-
Notifications
You must be signed in to change notification settings - Fork 564
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
NIP-123 Epheremal bitcoin transaction broadcasting
- Loading branch information
1 parent
badabd5
commit 290f722
Showing
2 changed files
with
43 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
NIP-123 | ||
====== | ||
|
||
Bitcoin Transaction Broadcasting Events | ||
------------------------- | ||
|
||
`draft` `optional` `author:benthecarman` | ||
|
||
A special event with kind `28333`, that contains an encoded bitcoin transaction. | ||
The bitcoin transaction is encoded as a base64 string, and is contained in the `content` field. | ||
|
||
This is an ephemeral event, and is not stored on the server. So relays or other custom clients could receive these | ||
events, and broadcast them to the bitcoin network. | ||
|
||
For example: | ||
|
||
```json | ||
{ | ||
"kind": 28333, | ||
"content": "AgAAAAABAtkXo8t2LfqIwQ+BPQg/LZdqAtAb61bY0zIjFvvxMTtGAAAAAAD9////j8wvOaFL5Dz+0CTKXNKxxv1GrusMps3aodsXQGp95xgAAAAAAP3///8CLAPTBQAAAAAiUSBIKoy1/JK1GdfWhii8KLfBooZg3qT7ImuwwwC6t2eT6oiKAQAAAAAAIlEgZtFI4Bx2rDqBe4X9+lzEhh7Kxca3tNE9l/QfH/ZghQECRzBEAiBV2O5+jskV8/H+UuzgRuku2gCAwlmErieXrS5scbongAIgLWD6uN8BGpyE7gNtX4jxnkNShY8yjhdcjhsHR4RAWJEBIQLlCnhSR+K9YoAngUWj94mptHhcVYJGi+rT3lwApIekkQJHMEQCIDwrK0YHftZ2BQsBjHdJb89Tlpzvc3z8E1wGgbqIVRBQAiB6J0UXuPjib+geVmaZeoq4vYD+fDz835o5OJRg9ITFDAEhA1oq2Zj0d4XbATjc3OUSXSJDvvIosDeAsHyegwk4fkcTNAslAA==", | ||
...other fields | ||
} | ||
``` | ||
|
||
## Uses | ||
|
||
This offers a way for users to broadcast bitcoin transactions in a private way without having to connect to the bitcoin | ||
network directly. | ||
|
||
Today, users have to connect to the bitcoin network directly or use an api like mempool.space to broadcast transactions. | ||
This is not private, as you can leak your ip address to the service or a bitcoin node. | ||
|
||
Nostr provides a better opportunity for users to broadcast transactions in a private way. Nostr relays are at most | ||
bitcoin adjacent and have a much lower risk of being run by a chain analysis company, thus providing a possibly better | ||
way to broadcast transactions. | ||
|
||
## Recommendations | ||
|
||
Clients should generate an ephemeral keypair for each transaction they want to broadcast. This keypair should only ever | ||
be used for broadcasting that transaction. This is to best preserve the privacy of the user and to not link any extra | ||
metadata to the transaction. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters