11 ms·
ATProto and the ownership of identity
- bryanrasmussen 2y agosounds like XRI and XDI and all the associated layers of standards that never went anywhere but produced a lot of architectural spacefaring https://www.oasis-open.org/committees/xdi/charter.php https://www.oasis-open.org/committees/xdi/charter.php on edit: some things just bring out my cynical side.
- verdverm 2y agoThis concept of multiple applications and companies sharing the same social graph is what makes ATProto and the adoption exciting. ATProto brings real competition to social media and removes the switching cost for users. As OAuth matures, it will become even easier, and that the money is now interested adds another point of legitimacy.
- xeonmc 2y agoAnd I hope alternative lexicon for chat apps built atop ATproto will be able to challenge Discord by leveraging the network effect of transferable identities.
- verdverm 2y ago100%, the main challenge will be privacy and e2e encryption. There is prior art we can draw on. Similar if we want something akin to FB groups with private membership, events, and content
- pythonaut_16 2y agoPrivate posts/feeds/groups is one of the biggest things missing from ATProto at this point. Once they solve that it will really take off beyond just a better Twitter.
- verdverm 2y agoAnother effort that could help is the lexicon-community. The goal is to create a number of lexicon that can be reused across apps. https://github.com/lexicon-community/lexicon https://github.com/lexicon-community/lexicon Calendar, locations, and events is one of the first they are considering https://github.com/lexicon-community/lexicon/pull/23 https://github.com/lexicon-community/lexicon/pull/23
- oDot 2y agoIs ATProto fully implementable by third parties? I last read there were still closed source parts
- verdverm 2y agoGenerally, the core components are open source. There are a few things like private DMs and mutes that do not get saved to your PDS, but are accessible with an authenticated client. The open source PDS implementation is still beta auiu. There is a limit of 10 accounts per server while it gets tested in the wild, last I saw One thing to consider is that you do not have to reimplement the entire spec if you are only interested in building a feed or recommendation system. ATproto makes the core components plug-n-play, so users can use the Bluesky app while picking 3rd party providers for moderation and algo feeds There is also an independent group with their own governance working to define a number of common lexicons for shared usage across applications https://github.com/lexicon-community/lexicon https://github.com/lexicon-community/lexicon
- xeonmc 2y agoIs it possible to implement a functional subset of just serving one’s own DID identities using serverless functions? Then that would enable every average Joe to make their own with Cloudflare Pages Workers
- verdverm 2y agoYou shouldn't need that much for a single DID. If you want to serve an org DID, like a bunch of users under the same domain, you need to do something like this. https://atproto.com/guides/identity https://atproto.com/guides/identity
- xeonmc 2y agowhere are you supposed to put the DID document on your domain? All documentation describes putting the .well-known/atproto-did file but not the actual DID document.
- shrink 2y agoI like the domain name identity model used by AT (so much so I built handles.net[1] for managing domain name based handles) but during my time reading opinions on Bluesky it has become apparent there's a lot more confusion about and distrust towards domain names amongst non-technical people than I previously thought. I thought that people generally understood that domain names are owned and that their provenance can be independently verified (which is why they're valuable for identity) but there's a fairly large and vocal contingent of Bluesky users that are frustrated by domain names, so much so there are multiple efforts to establish a private verification system on Bluesky like verified.quest[2]. A lot of people do not want to look at and understand domain names, instead they want to see a name and a check mark. They want a central authority to tell them who is trustworthy and who is not. Domain names are a great solution for technology-adjacent people and I hope that they become more widely accepted, but I'm not too optimistic. I am optimistic and hopeful that AT has a bright future ahead of it. I think AT has a lot going for it... but I do not think that identity will be a part of that. I suspect many apps built on AT will not bother with handles and will just use local display names. [1] https://handles.net https://handles.net [2] https://verified.quest https://verified.quest
- verdverm 2y agoThere is an amount of legitimacy to the domain issue, at least to me if one considers how certain phishing attempts leverage human (lack of) observation patterns. Like if someone had a bunch of identities under goog1e.com I see having independent, from Bluesky, and multiple methods of verification as a strength of the network and architecture.
- spencerflem 2y agofor sure- or for someone less famous than one of the hundred domains we all memorize - is philjamesson.com or pjamesson.com or philjamessoncomedy.com or philjamesson.net the real one etc.
- xp84 2y agoYeah. One of the most pervasive problems I’d argue of the “web” era is the conflicting needs for canonicalism (e.g. I want to know when I see a “Jack Nicholson” account that it’s that Jack Nicholson) with the fact that very few people have unique names or other obvious identifiers. And half of companies don’t either (e.g. the Beatles’ record label Apple Corps vs Apple, Inc. — which owns Apple.co.uk? Whoever grabbed it first, of course!) Every service with handles is just another microcosm of the DNS system’s same problem, just usually with even fewer affordances for disambiguating (the DNS’s country codes and things like .org vs .com offer a single crude sorting system, but we’ve seen it solve very little since the move is to “buy ‘em all” if you’re big, witness how WWF the charity couldn’t peaceably coexist with WWF, now WWE just by using .org and .com)
- Almondsetat 2y agoIf the fediverse's structure is like email, what's atproto's structure?
- input_sh 2y agoBy default: @user.bsky.social If you verify your domain: @yourdomain.tld
- davexunit 2y agoGmail.
- grishka 2y agoIt's a "shared heap". There are relays that collect and pass the entire firehose of events through themselves to interested parties, there are PDSes that store each user's data, and there are AppViews that users interact with. It's not very decentralized and not at all self-hosting-friendly. In-depth article: https://dustycloud.org/blog/how-decentralized-is-bluesky/ https://dustycloud.org/blog/how-decentralized-is-bluesky/
- jchw 2y agoTo be honest, I hope that the Fediverse can be expanded to support W3C DID for identities. It's challenging to pick a set of tradeoffs that make the most sense for this sort of thing, but other than that I don't think it's impossible. For example, if you just wanted DIDs for verification, I reckon you could go the route of having DIDs be represented as [DID]@[ActivityPub service domain] and treat each ActivityPub service as a different type of PDS. I don't think AT Proto/Bluesky will wind up killing the Fediverse, at least not any time soon, so I think it would make sense to try to figure out ways to take some of the more interesting applicable ideas and try to figure out how they could work.
- lxgr 2y ago> I don't think AT Proto/Bluesky will wind up killing the Fediverse I think it might just, if the Fediverse can't find a way to detach identities from instances/servers. It's baffling to me how people have been flocking away from Twitter, to at least some extent because they are unhappy about how the new owner runs things, to a system that gives exactly the same power to the people running each individual instance.
- solarkraft 2y agoI used to dismiss this argument entirely because you’re free to choose who gets these power’s through your choice of instance! But I do realize that it’s important to be able to change your mind. Currently this means having to create a new identity, which does suck.
- jchw 2y agoAlthough it sucks, I think the reason why it won't kill the Fediverse is because there is a large part of the Fediverse that is not really an alternative to what Twitter was or is, and is not really being competed on by Bluesky. These are smaller websites and smaller communities, at least in scope if not also members. They may be more or less strict, but either way they will have more thorough (and specific) moderation in general. That said, I also expect that some people will remain on Mastodon.social using it basically as a Twitter alternative, too, for the same reason that some people will basically never leave Twitter either, until it goes offline.
- dom96 2y agoI've dived head first into Bluesky and AT Proto in the last 2 months. The platform is amazing and I was able to grow an app from 0 to 30k users in that time[1]. I have also been long pondering what puts me off social media and how I could fix it. Often times it is the ease by which anyone can create new anonymous accounts, those accounts can be used to easily brew up a Firestorm of Falsehood[2]. Identity is a strong part of this and domain name verification isn't enough to solve this. One potentially radical idea I've had is to form a social network of verified humans. Where each human is only allowed a single account. This is possible, while remaining anonymous to other users. I think the only way in which this can be done is by relying on passport (and other government IDs) verification. I have actually built a prototype of this (still very much a WIP)[3]. Of course, the barrier to entry is tough, if anyone has thoughts/concerns and suggestions on how I can make this happen I'd love to hear them. Edit: To those downvoting I'd love to hear why, please :) 1 - https://listifications.app https://listifications.app 2 - https://en.wikipedia.org/wiki/Firehose_of_falsehood https://en.wikipedia.org/wiki/Firehose_of_falsehood 3 - https://onlyhumanhub.com https://onlyhumanhub.com
- lxgr 2y agoHow do you verify identity in that prototype? (Not providing my data to a signup form before I know at least the rough idea.) > I think the only way in which this can be done is by relying on passport (and other government IDs) verification. Given that most national IDs currently can't anonymously certify personhood to third parties, this seems like it puts unreasonable trust into the "identity broker" preserving both anonymity and not certifying sockpuppets. I don't see a scenario in which any even moderately successful solution would not eventually crumble under these two types of pressure.
- dom96 2y ago> How do you verify identity in that prototype? By using a third party service to read your passport's NFC chip, we then generate a strong crypto hash of the concatenation of your name, DoB, and last 4 digits of your passport and we also encrypt that hash for good measure. I agree that it sounds invasive, but there is no better way to verify uniqueness of a passport (and by proxy a human's uniqueness). And yes, I am aware that a single human can have more than one passport. It's certainly not perfect. But it reduces the possibility of sock puppet accounts significantly. If you register (just with your email and password), you'll get a little explanation of all the data collected (and don't have to move forward if you don't want to). > this seems like it puts unreasonable trust into the "identity broker" preserving both anonymity and not certifying sockpuppets True, but with enough resources onlyhumanhub itself can become the identity broker, no need for a third party.
- apitman 2y ago> Ownership of identity This isn't currently a reality with ATProto, though they're making important progress over the status quo. Your identity in atproto is your DID. Your domain (if you use one) is just a handle. Currently all DID resolution goes through https://plc.directory https://plc.directory, which is completely controlled by Bluesky. Their plan is to eventually have this run more like the DNS by something like a nonprofit, but AFAIK that process hasn't started. The question is if Bluesky turned completely evil today, what recourse would users and app developers have? All the other apps could form a coop for a new DID directory and switch their users over. That might work, but I would like to see something like this in place running alongside Bluesky's directory since the logistics of running such a thing are not obvious. Also, it's not entirely clear to me that running an alternative pseudo-DNS is really better than just using DNS like the fediverse does. One really nice thing about it is that DIDs are opaque values, so squatting should essentially go away. And there's not really any good reason for DIDs to expire like domains do. This is nice for account recovert, since in the worst case if you couldn't prove your identity to the DID registrar your account would just go stale, rather than potentially being taken over by a bad actor[0]. [0]: https://news.ycombinator.com/item?id=42699099 https://news.ycombinator.com/item?id=42699099
- Retr0id 2y ago> Currently all DID resolution goes through https://plc.directory https://plc.directory almost all. You can use did:web if you want to be more independent (but since 99.99% of people don't it's almost completely irrelevant in the big picture). > The question is if Bluesky turned completely evil today, what recourse would users and app developers have? With sufficient developer consensus, we could all agree to switch to "plc2.directory". It'd be a shitshow, but hopefully not completely fatal. > One really nice thing about it is that DIDs are opaque values, so squatting should essentially go away Zooko's triangle strikes again! https://en.wikipedia.org/wiki/Zooko%27s_triangle https://en.wikipedia.org/wiki/Zooko%27s_triangle (often expressed as a problem, but in this context it's mostly an advantage)
- xeonmc 2y agodo you know how did:web works? Documentation only describes that .well-known/atproto-did should be the DID value, but no instruction at all on where the DID document should be.
- xrisk 2y agoCaveat: You own your identity only as long as you use did:web, and did:web is not much different from webfinger, which is what activitypub uses. To clarify, the alternative (and default) is to use did:plc, which utilizes Bluesky (the company’s) centralized identity server. It isn’t possible to use other plc servers with any of the Bluesky clients either. Therefore, if you use did:plc it’s simple to get kicked off of.
- icy 2y agoYeah, that's definitely a downside but there are plans to spin off did:plc into one that's managed by a neutral ICANN-like organization.
- rglullis 2y agoI know I am comparing Bluesky's reality vs ActivityPub potential, but there are extensions that give identity and data portability to ActivityPub, all they need is to be adopted by the likes of Mastodon and PixelFed. Also, there is a whole spec for client-to-server ActivityPub which has been largely unexplored by developers and would allow end-users to be in full control of their whole experience (i.e, no "instance" between you and the rest of the social web.
- quantadev 2y agoThe problem with atproto is that it's rediculously complicated. Every detail in the spec done in the most difficult and stilted way possible. They could've made something much more like Nostr be at the core of it all, so that the barrier to entry is small for people wanting to write their own implementations, but the developers/designers of atproto put very little value in simplicity. They wanted everything to be as powerful as possible at every single layer, which means far too many levels of abstraction, super heavy-weight implementations, and stacks upon stacks of specs that are hard to unravel, etc. Anyone can learn Nostr in minutes. To learn atproto you need weeks.
- aintly 2y agoIt's not so bad. I managed to create a minimal implementation of a PDS for a Bluesky bot that can make simple text-based posts, and it only took a couple of days. Kind of lost interest in it after that but it was reasonably straightforward to iterate on. The trickiest bit was getting the subscribeRepos websocket to work, mostly because the documentation was unclear.
- quantadev 2y agoMaybe so but I bet you 90% of the code you were running was already written because it was in a library right? So you didn't really have to understand it. You were just running someone elses code. With Nostr, for example (or even RSS), you can fully understand it from end to end, in minutes. As a former IPFS deloper myself I can assure you in just 2 days you didn't even understand the CAR format of a repo, unless you had prior experience.
- jazzyjackson 2y agoI don’t know, as an IPFS developer you might be discounting what prerequisite knowledge you possessed while hammering out a nostr implementation. I looked at nostr but lost interest when I noticed there was no provision for key rollover. I guess that’s fine but ephemeral identities. Is there a concept of using a domain name as a handle like bluesky? It’s been a few years so maybe it’s worth a second look.
- aintly 2y agoATProto is an interesting technology but the Bluesky app itself is seriously flawed as a Twitter/X competitor. Probably the worst feature is the "nuclear block" which allows a single user to completely disrupt a conversation: if one user blocks any other user in the thread, this removes the blocked user's replies for everyone else reading the thread, and severs the connection between posts so that even if you go directly to a post from the blocked user you can't see what post they were replying to or any of the rest of the thread above that. There are partial workarounds to this with third-party websites that attempt to piece together the thread from various other API calls, but these aren't perfect and it's annoying to have to do this to understand the context of a conversation full of blocked posts.
- jazzyjackson 2y agoUgh, reading that gave my flashbacks to clubhouse moderation, how one person blocking you would prevent you from seeing any room they were speaking in, how you get silently kicked from a room if someone who blocked you is upgraded from audience to speaker, and if someone who has you blocked joins a room you’re already in, cue Fred Armison, believe it or not, straight to jail! Worst of all this was all opaque to the user on both ends, manifesting as merely glitchy behavior, but I was causal in blocking people who annoyed me because I didn’t think there were any consequences besides not being able to follow/DM me, and this guy I didn’t know ended up contacting a mutual friend begging me to unblock them because I had suddenly excluded them from all the rooms that we were both spending time in! Maybe there needs to be more nuance in the block button, like, what kind of restraining order are you looking for here, don’t call me? Or don’t ever interact with me or my friends ever again? Platform needs to make consequences of hitting that button clear tho.
- add-sub-mul-div 2y agoStay on Twitter I guess if comments sections of people yelling at each other is what you think the good content is?
- consumer451 2y agoThis is an interesting feature. Basically, it allows OP to be a dang, or reddit-style mod of their own thread. Negative: If OP is not interested in opposing views, they can shut that down. Plus: the option to kill trolls, dead. These types of design decisions all have plusses and minuses, but I am in favor of killing trolls given that if someone is militantly not into hearing opposing views, I can just not follow them.
- deleted 2y ago[deleted]