-
Notifications
You must be signed in to change notification settings - Fork 577
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NIP-22 - Likes and Dislikes (Not replacing NIP-25 anymore) #1506
Conversation
Does anyone have any statistics about how much of Nostr storage and traffic is reactions compared to what is |
I have a relay that archives every kind:1 note and it grows by about 200mb a day with most of the network's notes, including all spam. I have another relay that archives most note kinds in a subset of 50,000 npubs and filters most spam, and it grows by about 2gb per day so at a MINIMUM it's about 10:1 storage of non-kind:1 but probably more like 15-20:1 accounting for spam |
NACK, I don't see any reason to make a backwards-incompatible change. This can be fixed by putting the content in an indexable tag, and recommending |
reactions have no problems at all, they are however been misused by clients IMO. reactions are one of the most efficient nostr events as they have minimal footprint, they are a very basic nostr event, they aren't more expensive than a kind:1 note with the same content. |
relay operators will force our hand on this, we aren't gonna store all of these reaction notes forever, especially if nostr grows. |
i have no problems with this at all, relays choose what content goes on their hardware. reactions can be discarded on a weekly basis and nostr will be fine |
@fiatjaf On all of my relays, kind 1 is the top submitted event kind, followed by kind 3 and then kind 7. (I think this graph is being skewed by spam a little bit right now, but this fact has always been true that kind 1s are the top event on Nostr) EDIT: One more thing, I took a 12GB jsonl dump from my relay and filtered by kind 1 and kind 7 to get this graph of disk space usage: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consider these 2.
The `.content` field is one of: emoji, custom emoji (e.g.: ":emoji_shortcode_example:") or empty string. | ||
If a custom emoji, it must include a [NIP-30](30.md) `emoji` tag. | ||
|
||
One `p` tag must be included when reacting to an event, with the reacted to event's pubkey. It should |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why keep a reference to the author and not the post? since the port contains the "pubkey"
as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The post is referenced at the d
tag, for uniqueness.
p
tag would be for: 1) notification and 2) NIP-65 hint
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
im not sure about nip-65, but for notification, nostr is not friendly with notifications at all as far as i know.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not a notification in that sense in this context.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh, so what kind of notifs you mean?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is almost just convention than the notification.
also, based on the provided discussion, i can't get what the actual issue with kind 7 is? is there any summary like list about these issues? |
Co-authored-by: K <[email protected]>
|
Added info on how to count |
Old reactions will most likely be discarded sooner or later, probably long before the referenced events. Because of that, upgrading the spec doesn't seem disastrous. The like count of some events will be 0, so what?
|
@arthurfranca relays can keep only one kind 7 from a person pointing to a specific event. also with reaction v2 we limit the option to support stuff like telegram and discord multiple reactions. probably. kind7 is more dynamic. |
efficiency: reactions are horrible. To send 1 character, the overhead of an entire event must be sent. That is less than 1% efficient. But I don't recommend any changes in this area, just an observation. meaning: I agree with @staab and I recommend his PR which I already +1-ed. #1486. Emojis carry more meaning than "upvote/downvote" and nebulous meaning is in fact sometimes very useful. An emoji reaction is not an upvote nor a downvote, the world isn't black and white. Also, I would hate the UX of trying to make it so. Yes, it is confusing to have upvote/downvote and separately have emojis too, but it is what it is. count: Didn't that NIP almost get pulled because nobody uses it? If popular relays are doing COUNT, I would be interested to know that. addressable: I like that they are parameterized replaceable so that you can only have one. I presume clients are only allowing one per pubkey already, but this is better. But not enough to break compatibility. |
I thought that was the case but merging that change ended up being pretty polarizing: #842. I still think it should be killed but it is what it is. |
i agree with @mikedilger. @mikedilger, about addressable part, consider that we can apply these on current kind7. that's what probably we are going to do as relay. |
It would work. It would be an ugly special-case. I don't think we should put that in a NIP though because it cannot be required relay behavior, so clients can't depend on it even if it were suggested. But if relays want to save space, they can do it. |
I agree with @staab and @mikedilger. I recommend #1486 too.
It is just spam, and that can be said to all regular events. |
It's not spam. Many users send multiple reactions and expect all those reactions to be visible to the receiver (I asked them directly about this). The reactions together send a message. Many social media clients allow multiple reactions and they just assume it is also true for Nostr. |
Yes, I understand that use case and support it. What I want to say is very many reactions from one user are spam, and the same can be said for other regular events, so that is no reason to make the reactions addressable. |
Yes I agree it is a vector for spam. But we can't get rid of all regular events, so solving spam by making all events replaceable is a dead end. More vectors does not mean more total spam, as long as there are any vectors, the quantity of spam will be no different. Since it breaks the existing clients, I say NACK. |
5f63f3b
to
a097da6
Compare
Yes multiple reactions can be useful, specially for live events or videos (reacting at specific second). Added support for it. I propose we keep |
a097da6
to
6a41403
Compare
6a41403
to
f342be6
Compare
cNACK. We already have a reactions NIP, we don't need six different ways of doing the same thing with slightly different methods (they won't be, they'll coalesce to have the same meaning). This is protocol bloat. |
@pablof7z thing is protocol bloat argument doesn't address these issues |
We are coming full circle. This spec just became a poll spec with random emoji associations. I find this proposal very confusing.
|
Those are non-issues; this central-planner approach to "fix" non-issues creates actual real issues and makes extra work for the people actually building stuff on nostr. Again. cNACK. |
i agree with @pablof7z here:
cnack. |
|
|
Majority of the kind7s we have today are NOT spam. So, I'd like to see how much space this actually saves.
That's why this became a poll spec with fixed voting options. You are trying to tally votes. And you want every user to map their emojis to a give vote. This is all too complicated. Plus, you must also remove muted/reported authors from that count. Different users might see different counts. |
Hard Nack. |
Still NACK |
lol, the mysterious nack with leading "c" was funny too. Ok this doesn't need to be merged, this is just a draft looking for exactly this: feedback and new ideas.
I still don't think that NIP-25 can perform well for things like reddit upvote/downvote. Maybe the best should really be separating emoji reactions from simple -/+ instead of overloading the event. Though it would touch a wider user base across more clients if using something like this PR was possible, I mean a spec that worked in a way that the UX for reacting positively or negatively with emojis could remain simple. |
Read here
kind:7/17
events from NIP-25 have many problems cause the NIP was conceived when nostr was too young.