ExploreTrendingAnalytics
Nostr Archives
ExploreTrendingAnalytics
Freakoverse4d ago
The reason why I suggested having the pubkey in the d tag is because I'm following along with NIP-29's flow of having the relay as the enforcer/manager keypair, because without that (the pubkey in the d tag and doing a check) then a malicious user create a group a group event with the same d tag then have it everywhere, hogging relays wherever they can which prevents the normal users from having their created group be on other relays as a result of each of the other relays' keypair utilizing the same d tag by the malicious user, resulting in a centralization chocking attack (now that specific group is stuck in the relay or to a small few options, where the only solution now is to create a completely new group). I'm basically trying to push for increasing decentralization as much as I can with the benefits of control brought in by NIP-29's management goals. The desire to have multiple admins that are equal to each other without a creator/super-admin is more complex than having a creator/super-admin above those multiple admins, as that raises the question of who should the relays listen to when there's a dispute? We'd either end up having chaotic battles of constant back and forth changes, or there needs to be a voting system for consensus, and the other issue is if one admin wants to kick another admin, is that respected? what system should handle this? I hope I managed to explain well what the issues of not having a creator/super-admin that relays listen to as the final authority. It's not that there can't be equal admins, but that there must be a super admin (creator) above them to not have such complexities and potentials issues. If there's a desire to fork the group, then that can be done by just mentioning the original group id (d tag) under a new tag, when the new creator publishes their group, and the relay grabs the relavent events.
💬 2 replies

Thread context

Root: c85bd26f4119…

Replying to: 4cad980e94ea…

Replies (2)

fiatjaf4d ago
Thank you, I think I get it now. I think your scheme works, but I don't think it is better than the current NIP-29. I think it has one advantage, but sacrifices other things. Overall I'm glad we're pretty close to agreement here. I think you're approaching it from a perspective that the relays will all be running the exact same software and will be blind about who is creating groups in them. That can't be true: relays will have to authorize and monitor who has groups. If someone can spam all relays with groups with the same "d" tag those relays have serious problems and can't be trusted anyway. The market will select for relays that offer a nice service, that can't be easily spammed and therefore have more staying power, that can exclude bad actors and delete their squatted groups. A squatter won't have access to all relays in the first place, it won't even know what are all these relays. For example, just now there exists 10+ #pyramid relay instances out there with NIP-29 group support, but only a few members can host groups in them. Some people are members of more than one of these, so if one of these goes offline they can migrate the group to the other. (That brings me to another point I forgot to mention: that you can easily publish to more than one relay, as a backup, in the current NIP-29, we just need the tools to do it right, but should be doable in a few minutes once there is demand.) Your comments about there needing to be a voting system or stuff like that also reflect this idea that all relay will be the same: they don't have to be. There could be relays that are hardcoded to support multiple group owners, others that don't, others that do something else entirely; relays that charge for groups, others that don't; custom implementations done only to allow a certain group to have weird custom admin rules; and so on. The groups will have to pick and choose the relay that better suits them to host their group.
0000 sats
Niel Liesmons3d ago
Yup, final authority = keypair = identifier. Solutions are being built in any case for sharing a keypair, handing out allowances, etc... Because it is already needed for Company and Brand profiles in literally all other use cases of Nostr right now.
0000 sats