use "deniable event" instead of "ephemeral event" to avoid confusion

This commit is contained in:
Gustavo Passos 2024-11-21 22:50:50 -03:00 committed by GitHub
parent 9a8431cf19
commit de5450cd75
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

18
404.md
View File

@ -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.
---