mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-22 16:35:52 -05:00
use "deniable event" instead of "ephemeral event" to avoid confusion
This commit is contained in:
parent
9a8431cf19
commit
de5450cd75
18
404.md
18
404.md
|
@ -1,8 +1,8 @@
|
|||
# NIP-404: Ephemeral Events
|
||||
# NIP-404: Deniable Events
|
||||
|
||||
`draft` `optional`
|
||||
|
||||
This NIP introduces a protocol for creating ephemeral events that are weakly tied to a public key, allowing ephemeral interactions without permanent attachment to the author's identity.
|
||||
This NIP introduces a protocol for creating deniable events that are weakly tied to a public key, allowing ephemeral interactions without permanent attachment to the author's identity.
|
||||
|
||||
---
|
||||
### TL;DR
|
||||
|
@ -45,7 +45,7 @@ Nostr is decentralized, meaning that once an event is published, it becomes a pe
|
|||
|
||||
As AI progresses, however, the content of an event alone becomes insufficient to prove authorship. Instead, people increasingly rely on cryptographic mechanisms to verify authorship.
|
||||
|
||||
This NIP introduces a protocol for creating temporary events that are weakly tied to a public key, enabling ephemeral interactions without permanently binding them to the author's identity.
|
||||
This NIP introduces a protocol for creating deniable events that are weakly tied to a public key, enabling ephemeral interactions without permanently binding them to the author's identity.
|
||||
|
||||
We aim to produce events that are weakly tied to other public keys — events that are **probably** associated with that public key (e.g., Alice's) but cannot be **proven** to originate from it.
|
||||
|
||||
|
@ -61,10 +61,10 @@ a hint for the **challenge event** -- that is signed by Alice's main key.
|
|||
|
||||
The challenge involves mining an `NSec` that generates an `Npub` beginning with the hint provided in Alice's challenge event.
|
||||
|
||||
Whoever mines the `NSec` can publish an **ephemeral event** signed by the mined `NSec`. This event references the challenge event,
|
||||
Whoever mines the `NSec` can publish an **deniable event** signed by the mined `NSec`. This event references the challenge event,
|
||||
enabling verification of the solved challenge.
|
||||
|
||||
The **ephemeral event** public key is, therefore, completely detached from Alice's main key, making it impossible to
|
||||
The **deniable event** public key is, therefore, completely detached from Alice's main key, making it impossible to
|
||||
prove that Alice was the solver.
|
||||
|
||||
---
|
||||
|
@ -76,7 +76,7 @@ There is no really good reasons to lie about the timestamp.
|
|||
1) If she picks a timestamp in the future, she will give more time to others to solve the challenge, so
|
||||
people can impersonate her more easily.
|
||||
2) If she picks a timestamp in the past, clients will see that the **challenge event** is old and will know that
|
||||
the **ephemeral events** that reference it are less likely to be from Alice.
|
||||
the **deniable events** that reference it are less likely to be from Alice.
|
||||
|
||||
Alice controls the time window of the challenge in two ways:
|
||||
1. By selecting the **challenge event** timestamp.
|
||||
|
@ -86,7 +86,7 @@ add a lower bound -- this is useful if you want to respond to a previous event.
|
|||
---
|
||||
### Client Behavior
|
||||
|
||||
Clients can display a warning indicating that an event is ephemeral and uncertain. They can also show how much time has
|
||||
Clients can display a warning indicating that an event is deniable and uncertain. They can also show how much time has
|
||||
passed since the challenge was published. Clients may choose to stop displaying events that are too old or uncertain.
|
||||
|
||||
This feature can integrate with [NIP-44](40.md) to enhance the user experience.
|
||||
|
@ -111,13 +111,13 @@ This feature can integrate with [NIP-44](40.md) to enhance the user experience.
|
|||
- `["hint", "<first_n_digits_of_Random_NPub>"]`: Provides a hint for the solution.
|
||||
- `["ref", "<previous_event_id>"]`: References a previous event. (Optional)
|
||||
- `["challenge"]`: Indicates this is a challenge event.
|
||||
3. Alice (or anyone) solves the challenge and publishes **ephemeral events** signed by the `Random NSec`, containing:
|
||||
3. Alice (or anyone) solves the challenge and publishes **deniable events** signed by the `Random NSec`, containing:
|
||||
- `pubkey`: The `Random NPub` if Alice solved it, or a mined `Npub` if someone else solved it.
|
||||
- `content`: The usual event content.
|
||||
- `tags`:
|
||||
- `["p", "<Alice's NPub>", "author"]`: Tags Alice as the author.
|
||||
- `["challenge", "<challenge_event_id>"]`: Links to the challenge event.
|
||||
- `["ephemeral"]`: Indicates this is an ephemeral event.
|
||||
- `["deniable"]`: Indicates this is an deniable event.
|
||||
|
||||
---
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user