Avatar
SHAcollision
652e2957b042ce6691b890c7fe9b363ec6d90489b3cc3985b8b5554ec31e2729

Yeah, it's WIP, but could still be FOSS. We debated about it, it doesn't matter much until it actually works.

Replying to Avatar vinney...axkl

My most charitable feedback - and I will be very happy if this turns out to be the case and I look like an asshole - is that you launched a public beta too early before all the "we mean what we say" items are in place.

I've been in - and leading - businesses like this before and I know how difficult the timing can be, but I've learned from my own mistakes and I think this is important: It's better to launch later than too early, leaving holes for disgruntled pains-in-the-asses like me to exploit. I'm pretty sure I'll regret my behavior later, so apologies in advance... But at the moment I'm pretty jaded and it has resulted in me drawing red lines around these sorts of things that need to be provided on day one, not as "promises for the future":

- Self-hosting as a first-class citizen. Maybe even above the alternative. More "you should self-host, and here's how. but if you simply cannot or don't want to, here's our alternative option" and less "We make it easy for you to not self-host, but if you want to for some reason, here's a link to some docs that may have been hard to find or not yet real".

- Client agnosticism from day one. If there exists only one client, and it comes with defaults that enshrine platform-sponsored indexers, "global" user lists, and other "easy onboarding" features, I'm going to be suspicious that the early choke-hold will ever loosen. I'm not saying this is malicious/intentional, just that network dynamics are what they are and this is how it works. The alternatives are painful and weird, but I believe they're necessary for ecosystem hygiene: attract early developers, incentivize them to build alternative clients; build the first "reference client" but cripple it a little so that it doesn't become dominant too quickly; provide SDKs that make it trivial for developers to build clients (and **foreground this** so that people see it before they see your client)... etc etc. These paths suck for user adoption - but that's kind of the point. User adoption is in conflict with the principles I'm describing.

- Decentralized from the outset. Use an existing social network (Nostr, etc.) to bootstrap users' experience - not your "platform"'s default network. how/why could there be something like "default global users" if a system is actually decentralized? I should start alone in a dark forest - which proves to me there is no central entity. From there let me discover peers in a manner commensurate with my interests and existing social graph: current social network peers who happen to use pubky, "follow suggestions" lists like following.space (ideally curated by not-you), etc. Again, this is bad for user adoption, but see above re: conflict.

That's a bit of a brain dump on what motivated my comments. You're right I could have been nicer and I'm sorry I wasn't. I've been on the receiving end of exactly this kind of feedback and it's frustrating when YOU know what your roadmap is and other people do not and misconstrue it. But because that's how this ecosystem works, its in **your best interest** to be so defensive that people simply cannot get the wrong idea.

---

Of course these are all my deranged opinions and you nor any pubky users need to care. that's the beauty of building your own thing.

Thanks for sharing. I appreciate the constructive feedback. I might come to Nostr more often if this is what I get to read :)

It's a bit discouraging to try to be helpful, then turn around to find someone use your words against you. I guess I am not use to social media and hate battles like this. I had left you a follow up reply with my view on why your concerns are overstated.

Anyway, I'm happy to hear, help, exchange ideas or re-draft as needed if there are no negative attitudes.

No te conozco, pero siento que estás siendo más destructivo/negativo de lo necesario. Dicho eso, tampoco sé cual es tu pasado con John, así que puede que la negatividad sea totalmente merecida 😂

Igualmente, yo apreciaría si en lugar de ser critica destructiva pura hubiese algo que agarrar para ir mejorando. A mi personalmente me encantaría montar un directorio `/pub/nostr` en los homeservers y forkear un cliente Nostr para demostrar como de potente sería si además de lanzar las notas a los relays, las pones en una URI `pubky://`. Tengo el tiempo limitadísimo y quizá no pueda ponerme con esto en varios meses.

I'm happy to help rebuild if anyone wants to.

It's kindda unfair, because I helped build it once already, so of course the whole protocol already exists in my head. In retrospect, there is 2 implementations of it already, one pure JS and another rust/wasm.

Anyway, I think it's easy enough I could rebuild it without looking into any docs. Prob I could have an MVP of the stack, from Pkarr to a CLI social media client written in python in ~2 or less weeks. Just a guess, of course.

Interesting. This works for me. Can you verify you are not also subsetting with other filters (left top button)?

@btcprague nostr:npub15xd2mmjnh3caykh77djsv73e0zkrp42jp5mwerx8f4m6su40wdvss7t3l3

Both. There is full content indexers and light-weight. But currently on beta what you see is full content: it serves content to you directly and then the client can verify with homeserver. On currently release beta prototype the client does not perform the verification with the homeserver, but this is comming (it's a must, obviously).

It doesn't really "use 12 words", but it's an available recovery method. I think backup file + password is the way to go and also the best way to load up and restore your key on Pubky Ring signer.

Messages could be signed, but then you would be posting from Pubky Ring, this will be eventually implemented. There are many use cases for signing individual items, but the protocol does not enfoce signing because homeservers are the authority for your data, so it really doesn't need to be signed: you will only be protecting from a malicious homeserver provider and there are other better ways to protect from that.

I think it is probably very easy to build a service that send to your homeserver all of your notes (for permanent storage and discoverability). It will also be pretty easy to send as notes events from a homeserver. Difficulty will vary for each app.

Given that both protocols are open and neither has internal walled gardens, I'd be surprise if these "conversion" tools don't exist by mid next year.

Replying to Avatar fiatjaf

I haven't looked too deeply into it yet, so I may be talking complete bullshit here, but so far my impression is that Pubky is 3 things:

1. signed entries published on a DHT that associate a pubkey with an HTTP server

2. HTTP servers that can host any file

3. a superstructure for reading content from these HTTP servers and turning them into a global social network

It's a very elegant structure that sound very compelling to me, but ultimately I don't see how it improves much upon anything Nostr has, and it has significant downsides and unsolved (hidden) problems that Nostr either solves or is trying to solve right now.

2 is cool, but not a very hard problem to solve once you have a way to find these user servers (and, also importantly, someone to host these servers mostly for free). Blossom is doing a similar job with files as first-class citizens.

2 is also not very useful by itself. To make a social network you need a way to efficiently pull content from user servers and display them to users. There is where they came up with 3, which sounds very similar to Bluesky's central big server which they call "Relay". It's a centralized system that cannot possibly become decentralized. It looks like Pubky has accepted that as the only way to do things, and they seem to be planning on hosting one such big server.

1 is trying to be the most decentralized, censorship-resistant system ever for putting out information about public keys -- and we may discuss if it achieves that or not (I am personally very skeptical that DHTs can scale, even though nostr:npub1jvxvaufrwtwj79s90n79fuxmm9pntk94rd8zwderdvqv4dcclnvs9s7yqzis going to boldly claim that this is not a topic worth discussing because "Mainline has already proven itself with its bazillion nodes and centuries of existence" truth remains that Torrents do not work without trackers, and no one knows what will happen with the DHT if it has to store billions of records from people all over the world -- https://newsletter.squishy.computer/p/natures-many-attempts-to-evolve-a is one scenario), but all of this mega-decentralization is completely useless if you don't have a decentralized way to load content from people you follow and have to rely on a giant central server hosted by one big corporation.

Pubky's idea seems to be that centralization on content distribution is unavoidable, so they aren't even trying. The idea of Nostr is that such thing isn't unavoidable, so we are trying.

> Pubky's idea seems to be that centralization content distribution is unavoidable, so they aren't even trying. The idea of Nostr is that such thing isn't unavoidable, so we are trying.

This is a fair assessment, though some nuances are worth highlighting.

Firstly, indexer centralization primarily becomes necessary in Pubky if your application requires a comprehensive, network-wide view of all homeservers—this is in fact something essential for pubky.app’s social functionalities. Features like search, semantic social graph inferences, and others inherently demand centralization due to the resource intensity of crawling the entire Pubky ecosystem, much like Google indexing the internet. I'm not uptodate on Nostr developments, but I believe it might face similar challenges in this regard, although I may stand corrected.

Importantly, an indexer in Pubky doesn’t necessarily need to handle content distribution; it only needs to guide users to content locations. The verification of content provenance still happens at the homeserver level. Indexers cloning data and serving directly, however, can enhance user experience by improving responsiveness, and I anticipate the emergence of both lightweight and full-content indexers. We are building Pubky Nexus, a full-content indexer, but it can be strip down to become lightweight as well.

We envision multiple competing indexers evolving, akin to the variety seen in web search engines today, despite Google’s dominance. While fully decentralized content distribution may have limitations, I envision (and want to dedicate effort to it) niche users with sufficient resources and interests could potentially run their own indexers, though they naturally only index a partial view of the network. For what is worth, I would like to run one at home.