Sun, Dec 18, 2022
- mdangear12:32Would love to see this in action :-) when will it be possible to play with it?
- 12:32I applied for beta but never heard back, looking forward to see what it looks like
- whyrusleeping12:33We’re honestly running around with our hair on fire trying to get things ready to onboard everyone who signed up.
- 12:34The smelled of burnt hair is mildly distracting tho
- pfrazee12:35True. But we’re rockin and rolling. Not long now
- 12:36I’ve been BSing mr brightside memes to keep the vibe right
- mdangear12:36Genuine question from my side, not a complaint. I know what building a product involves. I'll be patient while eager to get my hands on it :-)
- pfrazee12:36Totally
- mdangear12:37And the Twitter mess is a huge opportunity. Mastodon grows by the minute from what I see, there is a wave to surf.
- Dean12:37Bluesky Twitteraccount should be more dev and feature related without directly linking to the platform I guess(edited)
- 12:37This really made me wish Bluesky was already live
- 12:38I don't want to use nostr and mastodon. I like bluesky and ATP 🔥
- pfrazee12:38Kind of solid that the future landscape will be multiple federated networks, is my take
- 12:38Wasn’t my 2022 bingo card prediction
- Dean12:40I learned about nostr a few days ago and it not tracking follower count is a dealbreaker for a lot of people I think
- 12:40Follower count and engagement == account authority
- 12:41Also no native way to support resolving URLs to account public keys (like ATP has), so discovering accounts is a real chore
- pfrazee12:43Yeah I share that view. I want to be coopetive (cooperative + competitive) about other values aligned projects so I’m always rooting for them, but I’m very glad we get to pursue the design we have
- Dean12:43Also every account making the same requests to multiple relays and handling duplicate data seems like so much waste of bandwidth
- pfrazee12:44But I agree with your observations
- Dean12:45I do kinda like a relay system to rely less on a single server (ie a single PDS or Indexer on ATP) and can see that working with load balancing systems and such for ATP in the future
- 12:45Without sacrificing any of ATP's core design
- 12:46It'll be more up to client apps and integrators than the protocol maybe, to achieve that
- pfrazee12:46Yeah with any such system the performance and economics become the question. If there’s a way we can make full backup nodes make sense that’d be superb
- Dean12:47One click installs and things like a dappnode package will help too
- 12:47Just for people who really care about their own data's availability and of those who they follow
- pfrazee12:48We may find the aggregation services naturally backup everything anyway, almost like how Google served cached pages
- Dean12:48Very excited for it! I immediately checked in on element after seeing the Twitter news
- pfrazee12:49What a couple of months eh?
- Dean12:49I hope we can still get lots of people on bsky with this new anti free speech wall. Who knows, maybe elons decision will have the opposite effect and get more people intrigued about ATP.(edited)
- 12:49zyolluax joined the room
- Dean12:50I can just imagine Elon at the world cup, thumb on the tweet button, the moment the last penalty is taken 😂
- pfrazee12:50Well it’s all certainly proving the point
- whyrusleeping12:51Bluesky isnt on the banned list lol
- Dean12:51Imagine a bsky app announcing they're blocking normal topics. People would just migrate their account to another app and not think twice about it 😂
- whyrusleeping12:52I actually imagine certain instances of bluesky being very restrictive in order to curate a specific experience. And thats a feature
- pfrazee12:52Routing around the damage, as they say
- 12:53Curational tooling is very key. If we DO have servers give opinions, we’ll index heavily on account portability to ensure that’s not oppressive
- Dean12:53An optional "topic" field in the bsky lexicon so niche apps can only index posts by topics?
- pfrazee12:54
In reply to this message
Another open question! We’re toying with approaches to communities which may be topical and be how such things get done - 12:55One of our big remaining pushes will be on these exact questions, curation and moderation, and finding something that properly distributes authority and has checks and balances
- Dean12:56I think with bsky apps specifically people will generally want to curate their own feeds simply by who they follow and not depend on an app to filter content for them (in a lot of cases, especially for Twitter refugees), but it's a different story for those apps' Discover tabs
- pfrazee12:57Yeah. Touches on the algorithmic choice story
- Dean12:57Spam is such a big topic as well. Nostr was getting spammed with random strings by the same accounts over and over yesterday. There was no regular discourse to be had.
- 12:57A language learning AI model could help with filtering that too
- 12:57"don't show this message if it's random gibberish or looks spammy"
- pfrazee12:57Yeah
- Dean12:58
In reply to this message
It's a good reason why bsky isn't live yet, because nostr doesn't have any of that considered and it kind of ruined the initial experience for me. - pfrazee
- Dean12:59Go to a nostr client, only see a bunch of public keys posting gibberish, no way to search for usernames on the same client, no way to only see natural human messages
- pfrazee13:00Yeah. That’s gotta be frustrating for them
- @numero6:codelutin.com13:03
In reply to this message
The acid test for any two competing socioeconomic systems is which side needs to build a wall to keep people from escaping? That’s the bad one!
@elonmusk https://nitter.lacontrevoie.fr/elonmusk/status/1533616384747442176
- 13:16Fomoing people on Twitter to gain Bluesky awareness before we get elongated
- mikuhl13:18Today would be a great day to release haha
- Dean13:20It'll be worth the wait though, given the things that are being ironed out now
- 13:23The biggest mastodon instance died on the initial influx, some people signed up to a bad actor and had their accounts and posts deleted, nostr clients became a spam dump with no way of blocking within 2 hours of Jack posting about it. From what I can tell from pfrazee the team is using all this information to streamline the protocol and launch.
- mikuhl13:24I hope Android client is on that list of stuff for launch lol.
- Christopher Rothert13:25Hello everyone. I haven't looked much into Bluesky/ATP and frankly not heard a lot about it until the whole Twitter/Elon situation. However, in the past, whenever I had debates around the topic of social media and their credibility, trustworthiness, etc., I had thought about similar approaches than what the AT protocol tries to achieve. For that matter, I have a question regarding contribution. Is this place fair to ask?
- pfrazee
- mikuhl
- mikuhl13:40I am so sad its not Flutter, I would literally quit my job to work on this. 😂
- George Antoniadis
- Dean
- pfrazee13:42Yes indeed
- Dean13:42That's what the protocol allows you to do
- 13:43And helps with data resilience/availability
- mikuhl13:44If there was some live test server I would whip something up.
- Dean13:44There's a dev environment package
- 13:44Dev-env dir in the atproto git repo
- 13:45Spin it up and you have a prepopulated indexer and PDS
- Christopher Rothert14:55
In reply to this message
Apart from the possibility of being hired or helping with issues on GitHub, is there any way someone like me (worked in IT, now almostB.Sc. graduate) can contribute directly with his passion and motivation for such a project? - pfrazee15:10
In reply to this message
we're having some conversations about this right now, can I get back to you this week? I want to be sure we respect contributors and dont let PRs sit, so we need to organize our process a bit - Christopher Rothert15:22
In reply to this message
Absolutely, I understand that. It will be some more days for me as well until I have more time to work on other things, anyway. Nonetheless, I appreciate your message. Thank you! - Aaron Goldman
- Christopher Rothert
- 17:06@astonishingriverboat:nitro.chat joined the room
- Christopher Rothert
- pfrazee17:24goodness
- George Antoniadis
- Dean
- pfrazee17:50good save, good save
- Dean17:50Does he really think people are so stupid they'd fall for the only technique people teach you in a psych intro class?
- 17:51If you want something you know people won't give you, ask for a lot more first, then the "real" request will sound more acceptable.
- pfrazee17:52I'm not sure it's even that thought-out. I think he's winging it(edited)
- Dean17:52I can see him reading business psychology for dummies on his flight tbh
- Christopher Rothert17:54I get the feeling that his initial thought was that the problems could be solved with money alone
- Dean17:54Even this new rule isn't acceptable, since people have the freedom to unfollow accounts they dislike. Deciding it for the people goes against the whole ethos of the platform. It only sounds more reasonable in comparison to the previous statement.
- 17:57The statement he made about "promotion shouldn't be free" in relation to this is worrying
- 17:57I mean, worrying for Twitter. It's great for bluesky and ATP 😂(edited)
- 17:58That's the same thought process that killed Facebook Pages. In 2015/16 I had 70k+ page likes on Facebook and my exposure went down 99% overnight and suddenly every post had a big blue "Boost this post to your followers" button taking you to Facebook ads checkout for $100+(edited)
- 17:59A lot of people started focusing on growing their Instagram after regretting focusing on Facebook so much. Then Facebook bought Instagram and the same thing happened there.
- Christopher Rothert18:00One might wonder why he makes such a ruckus in the last 24-48h and then comes up with this poll. Surely, the poll has garnered quite a few mean looks influenced by those actions. Did he change his mind and wants to step down? Really weird to me.
- George Antoniadis18:09
In reply to this message
I'm with you on this, but honestly bsky (and even more "mature" projects coughmastodoncough) have quite a bit way to go until they can replace pre-elon twitter.
Already getting PTSD from the gpt4-chat-bot-wars of spring 2023, the first complete net-split of the federation in early 2024, and the first hard fork of the second largest bsky PDS.
Spam, verification, protocols, client support, etc etc. Sigh. I'm too old for this shi*t. xD - 18:11And don't get me wrong, I have absolute faith in bsky to find novel and good solutions for all of these issues. But it will take time. IMO ofc.
- Christopher Rothert18:16
In reply to this message
I might be pulling hairs here. However, I'm pretty sure that a lot of passionate people did work, do work, and will work on this project. I don't wanna sound too corny, but I can't help but support what Jack said about at least one protocol succeeding in this area. 💪 - Dean18:26
In reply to this message
More PDS providers are a good thing no? As long as they follow the bsky lexicon it'll just offer more portability options and data resilience - 18:30There's some comfort in knowing that Twitter has also not solved the spam issue (seriously thinking AI spam detection might be the best option)
- George Antoniadis18:31
In reply to this message
I think more PDS providers are indeed a good thing, hopefully ATP's fundamental ability to allow the user to move around their identity will make admins think twice before pissing of their users. - Dean18:32Ideally everyone eventually runs their personal PDS in the background on their phones(edited)
- George Antoniadis18:33My main concern is that admins will want the option to outright ban specific PDSes as a moderation tool to reduce spam etc.
- Dean18:36I wonder if users could follow each others' self-hosted PDSs outright without indexers inbetween as an extra form of censorship resistance?(edited)
- George Antoniadis18:36
In reply to this message
Depends on what you wanna run on your phone I guess? If you want just to be pulling posts from your followers that should be fine.
Don't think you'll be able to run an indexer to suggest posts from people you don't follow or something.
My mastodon instance has around 10-20Gb of traffic (ingress+egress) per day and I only federate with handful of servers.(edited) - Dean
- 18:38Børlaag changed their profile picture
- Dean18:39I was thinking a phone PDS could just be for pushing data (but still using an indexer for the full experience), and maybe having a way to pull data from other PDSs. Like a self-hosted indexer that only deals with yourself and those you follow.
- George Antoniadis18:41
In reply to this message
The main issue I guess is when other PDSes need to talk to your PDS. Since ATP is over HTTP that might be a touch call. Especially if two phone PDSes are trying to talk to each other. - Dean18:44
In reply to this message
Another solution might be having a client app that treats indexers like relays and push/pull from multiple indexers at once. - 18:45If one indexer censors you you're still live on the others, like how nostr clients do it
- George Antoniadis
Mon, Dec 19, 2022
- 04:39@geoma:matrix.org left the room
- 05:53@rimuru:gentoo.chat changed their profile picture
- joelghill09:21
I have two questions/thought on the DID placeholder and I'm wondering if folks here could share a bit of insight.
-
Has there been discussion around how a user could be logged in to two different servers at the same time? For example a book club with a few friends and a general purpose micro-blogging service? It would be nice to have a single identity use two different networks and lexicons without having to "transfer" the account back and forth. Could the DID simply list several servers? I can imagine keeping records in sync might get tricky?
-
Is there a distributed ledger out there that might replace the DID:plc server? IOTA looks like it also has a DID implementation that looks like it could work: https://wiki.iota.org/identity.rs/concepts/decentralized_identifiers/overview/
I'm loving everything I've read about this project so far and I think I'm going to try and implement a server in Rust if I find free time 😃
-
- George Antoniadis09:31
In reply to this message
What's the benefit of the multiple servers? Is it just for having your data stored in multiple places or something else? - joelghill09:37
In reply to this message
If two different servers support two different lexicons that create two different social experiences I'd like to be able to log in and use both seamlessly with a single account, especially if they have overlap in the lexicons they support. For example:
Server A: BlueSky lexicon
Server B: Bluesky Lexicon + Book Club lexicon (5 star reviews, ISBN... stuff?)They would have two different client apps, but it would be nice to have one account that uses both? When I log in to book club I interact with book club feeds throught that client, but then I swap over to bluesky app and do micro-blogging with that community.
I just feel like there might be a use case for existing in two virtual communities as the same person.
- George Antoniadis09:47
In reply to this message
Owh I see, you're talking more ATP than Bsky. Yeah that makes absolute sense.
I've been thinking about how this would work for similar project and I was thinking of a way to specify which capabilities (lexicons in our case) each server (pds) supports.
Since the plc is a series of events, it should be fairly easy to propose aadd_atp_pds(did, lexicons)
. - mikestaub09:47
In reply to this message
From my understanding the reason the team is using the placeholder is exactly because this specific use-case is not possible yet with any of the current implementations. If the exact UX you described is not possible, then I would go so far as to say the protocol has failed as the whole point is to avoid having your identity being trapped by a single server. https://atproto.com/guides/identity#did-methods - 09:49Luckily this is a pure technical challenge with many possible solutions. They just need to be thought out very carefully before committing to one.
- pfrazee09:51Well so the placeholder refers more to the governance model. The PLC registry is currently run by us, and while it has some user protections it would be wiser to expand that governance by technical or social means
- 09:52Regarding the lexicon flexibility, that will need to be solved, how that will be solved is one of the big future projects
- 09:52But that’s not really a DID problem
- b0gg3r09:56What do you mean by PLC registry? Couldn't anyone implement a PLC server themselves? Apologies, I might be missing something
- Dean
- 09:57Given the how the application spec is summarized to be similar to OAuth2 I'd assume this is (or will be) possible(edited)
- 09:58A PDS could issue 2 separate access tokens for 2 apps and give them specific read/write access to the lexicons they need
- 09:59And if there is a shared lexicon that both apps use then simultaneous writes can be taken care of with auto merge conflict resolving based on e.g. post time/hash
- pfrazee10:01
In reply to this message
PLC is a global registry that has to reliably resolve lookup requests, so generally youre not expected to self-host a PLC server(edited) - Dean
- pfrazee10:02you can cache or proxy the information
- b0gg3r10:03Ah, so in practice, you're gonna have to query the "official" PLC server
- George Antoniadis10:04I guess a PLC DID is not bound to a single PLC server, so I can push / query multiple ones right?
- pfrazee
- 10:04
In reply to this message
you could but youre going to have consensus questions you cant resolve - b0gg3r10:05Because you can't compare timestamps from different servers?
- pfrazee10:05yeah you're trying to maintain a single history with the key issuance for auditing purposes
- 10:07(quick note: I'd have to rehydrate all the design requirements into my head to nail this conversation, but I remember how it resolved)
- Dean10:08I'm not quite sure I understand why a PLC is needed to make this system function. A PDS itself could return its history of signing keys for its own usernames?(edited)
- pfrazee10:08that's a possibility and I've raised a desire to have something like that (or even the simpler did:web) for people who self host and have high confidence in their ability to maintain the dids
- 10:09but for people using multi-user PDS services they don't operate, it's important to have the DID system operate outside their PDS' control or else youre vesting identity control in their hands and risk losing account portability
- Dean10:15
In reply to this message
So the purpose of it is to prevent a public PDS to return a wrong signing key for a user and take over their account that way - pfrazee10:15that's part of it, but it's also to ensure the PDS doesnt disappear or stop accepting changes and therefore prevent the user from migrating to a new host
- Dean10:17So it acts as an oracle that verifies the account data the PDS returns is correct, but also acts as a fallback in case the PDS dips out(edited)
- 10:19What if there's a node system where multiple DID "PLC" servers are queried for the same data by a user PDS/indexer/front-end and considers the majority consensus as valid?
- 10:20
In reply to this message
Oh you answered George Antoniadis on a similar question regarding history issues - Dean10:30
In reply to this message
Could multiple PLC servers perhaps reference e.g. Bitcoin block hashes for maintaining DID operations history rather than each of them maintaining their own timestamps, to solve some of those consensus issues? - 10:31I'm not sure of the SEA could help as well, but it does offer some nice features like a PoW anti-bruteforcing offline username/password system, and also multisig-like account recovery.
- mikestaub10:35
In reply to this message
The ion DID method does exactly this, the only downside is the slowness. Looking at all the methods, you can see the team was prudent to use a placeholder as none of them are perfect and just have different sets of tradeoffs. https://github.com/decentralized-identity/universal-resolver - Dean
- 10:38
In reply to this message
How slow? The DID PLC only returns signing keys/recovery keys belonging to an ID right? So it wouldn't need to be real-time to achieve its purpose? - mikestaub10:39
In reply to this message
You have to wait for a block confirmation so about 10 min to create a new DID. - Dean10:39What about using a faster established network? Ethereum blocks are consistently like 12 seconds now since the beacon update, and Arbitrum averages 2.5s.(edited)
- mikestaub
- pfrazee
- Dean10:44I don't think economics should play a core part in the functioning of this protocol. Especially since there will already be distributed independent PDS servers and indexers, the platform could do something with those instead of outsource the DID work to a public blockchain.(edited)
- pfrazee10:45Ethereum would be faster. We’re not against supporting some blockchain solutions but I don’t yet feel confident enough in blockchains to bet the network on them for our primary solution
- Dean10:46
In reply to this message
I didn't mean integrate it completely into its core, just reference the latest block hash in a time window to have a common point for consensus among multiple DID nodes. - pfrazee10:46
In reply to this message
My thinking is somewhat similar, but I’d like a custom closed-membership consensus chain for the operating members - Dean10:50
In reply to this message
I think people would prefer real decentralization over permissioned authorities - 10:51Otherwise people could get the impression that the platform risks being no different from a social network being operated by a board of insiders
- 10:53
In reply to this message
What is are the main downsides to having DID consensus be paired with public blockchain block data? Users will only have their accounts created/recovered after x minutes? - pfrazee10:53fair warning, if you say "real decentralization" youre risking me writing an essay
- b0gg3r10:54Subscribe
- Dean10:54I'm trying to speak from the pov of a twitter/mastodon refugee
- pfrazee10:54(https://medium.com/@paulfrazee/the-rules-to-make-the-rules-be0c3b9d92b6 and https://github.com/pfrazee/infocivics are some old related pieces on this)
- 10:57a shorthand of my broader argument is to say "sufficient decentralization." Ultimately what we're talking about is the authority model and how authority is either distributed, constrained, reversed, or exited. I personally see it as a tech equivalent of the kind of government designs that locke, montesque, and paine were all writing about
- 10:57so let's look at this particular system and the attributes we're looking for
- 10:58this is the DID system, meaning it's the provision of (essentially) UUIDs which securely map to a certificate (the DID Document). The certificate provides the users' public keys and active services, and nothing more. It's a highly constrained system with some analogues to DNS or TLS CAs
- 11:00now the interesting trick with decentralization is that it's simultaneously a civic and a technological practice. You have to satisfy the requirements of the system and create open governance
- 11:00so for DIDs, the tech requirements are things like reliable resolution of DID->DID Doc, speedy resolution, speedy updates, and multiple security properties
- 11:02the civic requirements are low costs for PDSes, low or no costs for end users, strong guarantees against censorship, strong guarantees on that cost structure, and the right to exit to alternative systems
- 11:02(we can debate these requirements)
- 11:03with that in mind, the two strongest candidate designs that I've found are did:web-style for users who are able to self host, and did:plc-style for non-self-hosters. And as I said, I'd like to see did:plc get re-engineered to a multi-operator consortium which requires consensus among the operators to change any policies, and which automates auditing between the operators
- 11:05that said, the did model is also designed for lost of methods to be produced, which also enables decentralization of design -- people other than us can present solutions and ATP's governance can bless the good methods. (And now we're into layered governance, hooray)
- 11:06did:plc in it's current form does not satisfy us, which is why we named it Placeholder (PLC = Placeholder). Once we've rebuilt it to have the right properties, we'll backronym it into something like Provable Lite Certificates or some nonsense
- 11:06or perhaps we'll all decide it's the wrong base model and migrate off of it
- 11:08and it's worth noting, part of the reason we decided to move forward with PLC is not just development expedience, but also because there's not a mature enough community to even form a consortium. We need to develop the stakeholders
- 11:10so this is the framework by which I examine these sorts of things. And to my mind, we're accomplishing sufficient decentralization at this stage, and have created the right pathways to decentralize further over time. It's a highly constrained authority, and there are mechanisms of choice/exit
- Dean
- pfrazee11:13then the regime has failed
- Dean11:14I mean, what happens to the apps building on ATP and the federation of bsky social apps
- pfrazee11:14it depends of course on how the vanishing is happening, but let's say that the whole PLC operating group fell off a cliff
- 11:15and the server blew up and nobody could recover the system
- 11:15PDSes cache their DID resolutions -- especially for their own users -- so they'll have local caches
- 11:15so the system will begin to degrade as cache misses occur
- 11:16the PLC server code is available so probably the community of PDSes would get together and put a new server up ASAP
- 11:16and they'd start rehydrating the PLC server from their caches
- 11:17depending on how successful that is, and the general vibe about what just went down, the network would then either continue with the new PLC operators, or they'd see this event as a change in the requirements: we now see that loss of service is more likely than expected and needs to be designed around
- 11:18and subsequently a new system would be designed and deployed that would solve the problem that PLC operators keep falling off cliffs
- Dean11:19
In reply to this message
Would this open up an opportunity for bad actor PDS providers to deliberately withhold DID data?(edited) - 11:19e.g. to reclaim usernames or get rid of users
- pfrazee11:20it could. The process would be chaotic. It would be a major ordeal
- b0gg3r
- pfrazee11:22
In reply to this message
1 there's a typo, that should say "lots of methods" not "lost of methods" - Dean11:22I personally would prefer batching DID operations together and executing them at an interval by using btc or eth block data for consensus on data updates (
Your account will be ready in ~8 seconds...
) rather than needing to trust a single point of failure which adds a risk factor of the entire ecosystem crumbling - 11:23There are also developers who might not want to even build an atp/bsky app simply because they don't want to risk their work being for nothing if a black swan happens and the DID service goes down(edited)
- pfrazee11:23
In reply to this message
regarding the "blessing of methods," there's a kind of social consensus element to the design of a protocol. If you design a new did method and start using it, but other ATP nodes dont implement the method, then they wont be able to resolve those DIDs. So there's a governance-of-ATP question about how you coordinate the adoption of new DID methods - Dean11:25
In reply to this message
Could a simpler (temporary) solution for the current DID PLC system be offering an open-source back-up node process that automatically clones every update? If the PLC server goes down then backup maintainers could agree on the latest hash and spin up a recovery server once its verified the new server data matches - pfrazee11:27
In reply to this message
for sure. Any number of protections against failure could get employed here - Dean11:27
In reply to this message
Something like that would make for a far more reassuring black swan situation than this - pfrazee11:27
In reply to this message
again, this is why it's an open discussion. Blockchain methods have downsides too. A lot more overhead as you sync chain state, higher cost per transaction, things like that - Dean11:28You could use IPFS Pubsub with publickey write auth to publish data updates from your DID service to automatically let backup nodes sync it
- pfrazee11:29might not even require IPFS Pubsub, just a public http endpoint
- Dean11:29
In reply to this message
I didn't mean applying blockchain logic, just referencing block data from RPC nodes to agree on a "commitment hash" periodically so operations can be synced across multiple services to make things relay-like - 11:30No transactions involved
- pfrazee11:30
In reply to this message
yeah totally open to design proposals like that, just ends up being very detail oriented - Dean11:30tldr "instead of timestamps which cause relay consensus issues use blockstamps"
- pfrazee11:31afaik that really is what ION is doing, but it's still pretty nuanced
- Dean11:32
In reply to this message
I do think that this hypothetical could be a dealbreaker for many people - 11:33The sheer possibility of it happening (even if only in the early stages) without a reasonable fallback in place to keep data alive could be one of the biggest arguments in a debate of "bsky vs others"
- pfrazee11:34you really think there's a high likelihood of PLC disappearing?
- Dean11:35I don't, but people who care about self-ownership and decentralization of data are trying to get away from anything that sounds like "just trust us"
- 11:40And given the recent events with FTX, I think a lot of people have become automatically more wary of where a single point of failure lies or what a black swan for a product would look like (rightly so), especially if the product is supposed to have the feature of personal data ownership/control/portability
- mikestaub11:41
In reply to this message
imo a better use of the core team's time would be to implement a "bring your own DID" to the PLC. Solving the global trust issue is out of scope for Bluesky at this phase of development. That way if a user was truly paranoid, they could use did:ion as it's unlikely the BTC network is going down anytime soon. - 11:42For what's its worth I am such a user. I will gladly test the beta and help contribute, but I wouldn't actually start using the system for real unless I could have full control over my DID.
- pfrazee11:44I gotta dip to a team meeting but "bring your own DID" needs some kind of universal resolver, solve that and youre set
- mikestaub
- Dean
- 11:54I also would prefer as a developer that any front-end client I build on bsky does not need to rely on a central authority knowing there's a risk of having my service being "brought down with it" in case something happens with it
- 11:54(referring to bsky as the lexicon)
- Aaron Goldman11:57
In reply to this message
thedid:plc:<hash>
is the hash of the origin document. Only a current account key or recovery key can sign the document mutation operations in the operation log. The PLC server's key only signs the timestamp operations in the operation log. Only the collusion of the PLC server and the account controller could "reclaim a DID". Even if they did collude if a PDS ever saw two conflicting operation logs that PDS would have cryptographic proof of the duplicity of the DID and could gossip around the DID as a dead duplicitous DID. They could also use this proof to campaign for the migration of the PLC server to a new organization. - Aaron Goldman12:16
The promise the PLC server makes is that it will return the complete operation log that it has including a timestamp operation at the end singed by the PLC server.
- If it ever returns a shorter log then one it returned earlier with a later timestamp
then the requester has prof of duplicity. - If it ever returns a log without the earlier as a prefix with a later timestamp
then the requester has prof of duplicity. - If it refuses to sign updates the DID controller can hand out the document mutation operation to PDSs. When they submit the mutation, request the log and don't see the update
then the PDS has prof of duplicity. - If the PLC server fails completely this will be obvious. The open source project, or a fork of it, would need to add code that said all timestamp operations before the failure must be signed by
old_key
and all the timestamp operations after the failure must be signed bynew_key
. Since every PDS should be storing a copy of the operations log they can upload the log to the new PLC server and get a timestamp operation signed by the new server. After that they could make document mutation operations again as they are on the new PLC server.
It is on the open source project to keep a list of PLC servers and the TID ranges that the are allowed to sign. This is probably how the transition from a PLC server run by Bluesky PBLLC will be transferred to a Raft/Paxos like consortium of PLC servers run by different organizations but also the threat that should keep any organization running the PLC server honest.
The main question is wether we want to allow a tombstone timestamp operation signed by the PLC server that says I have banned this PLC and refuse to take any future updates from it.
- If it ever returns a shorter log then one it returned earlier with a later timestamp
- Dean12:22
In reply to this message
An issue with Mastodon is some instances block other instances out of spite, creating clusters of instances (e.g. a bunch of Mastodon instances block cryptodon because the admins are anti-crypto). What would be the argument against a statement that this same issue can arise with atp/bsky, just "offloaded" to DID providers instead of instances? - George Antoniadis12:30
In reply to this message
Can def see PDS admins banning other PDSes that spam too much, but in the case you you don't agree with your PDS admin you can just pack your identity and move somewhere else.
I'm not sure what the Bsky PLC server functionality though. Does it just handle all PLC DIDs or will it have terms that allow it to remove DIDs they don't like, have been reported, etc?
ie. Will the Bsky PLC Server stop serving all DIDs that have a handle from a PDS that produces spam, or they just don't like? - Dean
- b0gg3r12:34
In reply to this message
I kinda presumed the reason we aren't creating a PLC driver for that was because it would somewhat undermine the "placeholder"ness - mikestaub12:35
In reply to this message
We can still use the plc driver for the main flow of signup, but use that library for the "bring your own DID" advanced feature, which I would not expect to exist in the beta. - 12:36
In reply to this message
From my understanding the PLC server should only handle DID logic, the spam is handled by the indexer. - George Antoniadis12:40
In reply to this message
I'm worried that this will come back to the PLC server at some point, if you get a couple of tens or hundreds of thousand new DIDs in a matter of hours/days, and subsequently many PDSes start asking about those DIDs I can see this being a bottleneck. - 12:40Considering that spam bots are now in matrix, won't take them long to dig into bsky once it's up.
- mikestaub12:44
In reply to this message
DDoSing the PLC can be managed by standard rate-limiting and captchas. Dean was raising the concern of censorship which is an orthogonal issue. Freedom of speech = DID resolving, freedom of reach = indexer moderation. PLC can't stop users from publishing to their PDS, but it can choose not to surface that content. - 12:45If the PLC stops resolving DIDs correctly, like Aaron Goldman mentioned it will be obvious to all.
- whyrusleeping13:34While I do think we will do a good job running a very simple and performant DID server, i'm a huge advocate for us adding new DID method resolvers to the PDS software to allow more 'BYODID' solutions
- 13:35its definitely on the TODO list, just a question of priorities at this point, so much to do D:
- mikestaub13:37
In reply to this message
The fact that the team has not worked on this feature is a very positive sign and demonstrates rigorous focus. - whyrusleeping13:37heh, appreciate that
- 13:38the team is generally very well aligned, and pretty good at ignoring shiny things
- mikestaub
- arcalinea14:20There really is just an insane amount of work to do. We're constantly torn between the dilemma of "launch without X" or "delay launch", and it's simply a matter of gambling on the least-bad option...
- 14:24Currently asking "what can people forgive us for launching without, if we have a roadmap for building it?" and "what does 'launch' mean -- can we bring in a group of users who will be happy if pieces are still being developed as they start using it?"
- @neilalexander:matrix.org14:26
In reply to this message
Features missing/in-development indeed did not really stop people from trying out ActivityPub or Matrix(edited) - mikestaub14:34
In reply to this message
I agree. The early adopters are the most forgiving, especially if you listen to their feedback and include them in the process. Obviously its not useful to ship anything that is broken, but I would encourage you to reframe the term 'launch'. Ideally there should be many small launches happening on a regular cadence. I highly recommend this book. Its an easy read ( 4 hours ) and cuts right to the heart of it. https://smile.amazon.com/gp/product/B00VDHRFWU - 14:38Relevant thread that is likely applicable: https://old.reddit.com/r/startups/comments/xudzel/cant_understand_if_youre_not_embarrassed_you/
- 15:17@vera:fairydust.space left the room
- arcalinea15:57Yep -- the biggest pieces I think need to not be broken are moderation and federation. There's a lot more to implement beyond what we'll start out with, but we need to get the basic foundations in there.
- 16:00The initial pieces sketch out what's to come, so I think we should take the first steps in code, and communicate where we're going with the rest.
- 18:47Siddharth Singhal joined the room
- bnewbold20:10IMO there is not much existential to worry about in the DID and DID:PLC situation because of the self-certifying design. the big trust and governance concerns are mostly around withholding information, and I think the ecosystem would have a lot of tech options and precedent for routing around a bad actor PLC service. I do worry about the UX around the recovery key setup for most humans, but I would guess folks most worried about centralized service trust are equipped to hold their own keys and do their own crypto
- 20:12doing bulk public dumps of PLC service state (eg, daily/monthly torrent files of current state for all operation logs), or embedding operations in atproto repos (as a copy), could be low-cost ways to increase resilience
- Dean20:55Another thing came to mind regarding the centralized DID provider: an app that competes with Bluesky may not trust that their PDS's DID operations won't be artificially throttled by the Bluesky DID PLC server to worsen its performance (thus moving users from competing app to Bluesky). Is there a way to completely negate that as a possibility with the current system?(edited)
- Dean21:00Message deleted
- Dean21:05
In reply to this message
This would be a way for a centralized DID service to be a bad actor without provably manipulating PDS data (it still ends up on the DID server, just slower and after several attempts) - Aaron Goldman22:09
In reply to this message
Personally I would just put them in a atproto repo but then I like repositories as a way to make data subscribe-able. 😛 - mikestaub22:16
In reply to this message
This is a non-issue as there already seems to be a plan to implement a "bring your own DID" feature for power users. Tue, Dec 20, 2022
- 03:08mdangear set a profile picture
- Dean06:40
In reply to this message
So other PDS providers can use their own DID service and be completely independent from the Bluesky PLC? - @govbotdotnet:matrix.org08:42
In reply to this message
chronological list of posts in either direction by a)all followed b) subset groups c)publicly curated lists d) using a specific word or set of words ... you get the point. so long as there is user choice and it's open for innovation - @govbotdotnet:matrix.org
- mikestaub11:26
In reply to this message
whyrusleeping: mentioned that eventually this is what they want to implement. Makes no sense to work on it before the beta is out. - 11:35Thib changed their display name to Thib (away, back on Jan 3)
- Dean12:09
In reply to this message
Yeah I think it's pretty much a requirement for third party PDSs, also to ensure more data resilience. - whyrusleeping12:58The PLC DID method is intended to be run by a consortium in the future, to further reduce its dependence on us. It's designed in a fairly trustless way, definitely trying to mitigate these sorts of concerns as much as possible
- 12:59but yes, people will be able to use other DID implementations and be completely free from everything we're building here
- 13:01the ethos of the project is ownership over your social data, having a hardcoded single point of failure like PLC would be silly
- bnewbold14:53
In reply to this message
I think it is worth being skeptical of the long-term identity mechanism being coupled/controlled by a specific PDS server provider (in this case bluesky PBLLC). The claimed benefit of the identity mechanism is an independent account migration path; if the provider themself controls the migration mechanism that is a problem. the concern you mention (artificial update throttling) is a possibility, and there are a bunch of other bad behaviors possible
The trust required in the short term is that bluesky will actually find a neutral party to run the PLC service (I think of letsencrypt as a role model). The need for this trust is hedged by:
- the technical details of did:plc which would enable the ecosystem to do a disruptive hard fork away from a single bluesky PLC service on their own (in the hypothetical case of bluesky going sour and not following through on migration, others could start an alternative PLC service copying most existing identities over);
- tech details of did:plc making it relatively easy for third parties to detect and prove bad behavior on the part of a PLC service provider;
- the use of DID as a format at all, providing a clear evolution path for the protocol/ecosystem away from PLC specifically (aka, if PLC ends up being a bad idea, ecosystem can still keep the rest of the atproto tech; eg time spend developing clients wouldn't be wasted)
a nice-to-have 4) would be early support for a handful of specific alternative DID mechanisms; that is a prioritization question and seems reasonable to punt on
- 15:15
app/bsky/feed/post.json
is invalid - Aaron Goldman
- Dean16:05
What's wrong with this request? Used to work a few weeks ago:
GET http://localhost:2583/xrpc/app.bsky.feed.getTimeline?limit=1&before=2022-12-20T21:34:54.359Z`Now getting
Error: Malformed cursor
- 16:05Looks to be related to date formatting, does it use timestamps now instead of ISO strings?
- 16:08Looks like date formatting is different across different objects in the lexicon, some use unix timestamps and others use ISO
- Dean16:19Timestamps return the same error
- b0gg3r
- arcalinea16:48I'm hearing that it's important to this channel that we implement a secondary DID method, and the current discussion is how much that should factor into launch
- arcalinea17:01It's not currently at the top of what I'm most worried about getting done. So we already face a conundrum within this channel of "ship now" vs "ship features".
- Dean
- Aaron Goldman
- mikestaub18:30
In reply to this message
I recommend having a design proposal for implementing at least one other DID method at the time of the first release. It is definitely not worth implementing this early on, and the decision for a placeholder method was very prudent. - Daniel Holmgren18:40worth pointing out that we already have resolution code for did:web: https://github.com/bluesky-social/atproto/blob/main/packages/did-resolver/src/web-resolver.ts
- 18:43also i think using universal resolution is a non-starter. did methods are too different: consistency guarantees, resolution time, propagation time, etc. universal resolver abstracts over too much imo. also the current universal resolver implementation is a collection of like 50 docker containers which is just heavy & cumbersome to run
- arcalinea18:44
In reply to this message
this might be a reasonable compromise -- to map out the path to ship another DID method without implementing it. - 19:30@grumbulon:schizo.cafe joined the room
- Dean20:15I noticed avatars use cids so they have to be uploaded to the PDS. I can imagine apps wanting to use ipfs or an external image hosting api for avatars and image uploads, rather than hosting it on their own server. Will there be some native support for that?
- 20:16(Alternatively one could modify their PDS to redirect an avatar cid to an external image, but that would still cause extra traffic to the PDS)(edited)
- 20:42@amar:matrix.org left the room
- 22:00@gulci:halogen.city joined the room
Wed, Dec 21, 2022
- dgn02:11If you want to build a decentralized social media that the whole world expects, you should release the closed beta immediately and get people to help you. With the closed beta, bugs and solutions can be found faster and we don't have to accept the commitment of a group. You should keep the concept of decentralization alive with us. Bluesky is a social media that should contribute to us. Please grant me access to the closed beta so I can discover bugs and help you. arcalinea @pfrazee Aaron Goldman
- Dean09:07
In reply to this message
Accepting either a pds cid, a full url string, or an ipfs cid (maybe with something likeipfs://
prepended) in theavatar
field might be a good solution to accept different avatar types instead of "locking it in" to a PDS(edited) - 09:08I'm looking for ways a smaller community PDS can save on bandwidth in case it gains a sudden influx of users
- 09:10Imagine you get 100k users overnight, a free PDS provider would definitely benefit from IPFS or URL based avatars and image uploads rather than having their server's space filled up with avatars (or a sudden cloud storage bill)
- mikestaub09:37
In reply to this message
"If you want to go fast, go alone. If you want to go far, go together." I have been watching the team's progress from the beginning and can confidently say there is no way they would have reached this milestone so quickly if they accepted open source community PRs from the start. There will be a time when we can rally around the core team and help Bluesky scale into what will likely be a tsunami of user demand. Now is not yet the time. I trust them to let us know when they are ready. - 09:46@olu:memoryandthought.me joined the room
- arcalinea
- 11:58Technically, you don't need to even see the client to be able to build on an open protocol that's already on Github. Several people have built small client demos already. Us building a front-end will make it a lot easier for people to understand and use, but it's not strictly a requirement.
- Daniel Holmgren13:08
In reply to this message
part of the lexicon blob system is the constraints that you can put on blobs (ie "less than 300kb" or "less than 500x500"). if we leave this unconstrained, you're moving the burden to the client. And suddenly my client may be burdened with downloading the avatar of some troll that decided to upload a 10MB high res pic.
your PDS is your agent in the network. so to prevent bombarding small PDSs for avatars, the expectation is that each PDS will cache the avatars they come in contact with. to illustrate: if my PDS has 100k users and they all follow you on a self-hosted instance. You should only have to serve the image to my PDS once not multiple times to all 100k users - 13:10
In reply to this message
I don't think that issue is particular to images. it's also relevant to repo storage, follow subscriptions (in & out), indexing content, etc. scaling challenges exist & we can't just offload them by moving avatars somewhere else. a small free PDS would likely want an invite system (or a cap on signups) - Aaron Goldman15:05Not a plan currently but might be interesting once there are a number of PDSs that your PDS is connected to run BitSwap. When one of the repo's on your pds subscribes to a repo on another PDS your PDS subscribes to the other. But it only needs to be pushed the latest commit from the other PDS. It could use BitSwap from there to get the rest of the repo from whichever PDS it is best connected to.
- Dean16:16
In reply to this message
Interesting. I'm curious what the PDS and indexer specs will be for x amount of active users.(edited) Thu, Dec 22, 2022
- 02:55@erdlanax:matrix.org joined the room
- 03:43@npettiaux:matrix.org joined the room
- 04:06@erdlanax:matrix.org left the room
- Dean09:42Will NSIDs use custom headers (like
ATP-User: ...
) for resolving a domain to an ATP DID? - Daniel Holmgren10:08
In reply to this message
we're working to build this for multiple levels of scale through plugins for different services. take for example blob storage & img processing: we use on-disk storage + an npm library (sharp) in the small PDS case, but s3 + imgProxy for our deployment
I'm also curious to see how exactly resource cost will shake out & what the scaling limits are for diff hardware + diff plugin sets - 10:10
In reply to this message
resolving a handle to a DID is just an XRPC query (which is just a normal HTTP req underneath)
and to clarify terminology: NSIDs are the reverse domain name identifiers for lexicon schemas (app.bsky.feed.post
for instance) and don't resolve to a DID. Handles are the federated usernames@daniel.bsky.social
that resolve to a DID - 10:10no strict requirement that NSIDs are resolvable over HTTP
- @miker2049:groupchattt.page10:59Rethis: Do you guys think that non-technical/non-nerdy people care about account portability enough to adopt this over activitypub? I have found that most people relatively don't mind manual migrations (although I fully acknowledge this as spurious/anecdotal), but more importantly, the whole enterprise seems at odds with the old internet principle where "nobody has to know you're a dog", so to speak.
- 11:00In that, there is something nice/liberating about being able to spin off a new account if you want. All this just seems to encourage you to give up this liberty.
- 11:02I get that nothing about atproto forces you to use one account, but its hard for me to see the true value add of account portability, when there are equal benefits to maybe not having one single identity for everything, if that makes sense.(edited)
- 11:17Seve(rino) Zeni joined the room
- @npettiaux:matrix.org11:24Why would this social network be interesting for someone who likes the fediverse ?
- whyrusleeping11:39“Non-nerdy people” like big world indexing
- 11:41I also find lots of non-tech people i talk to really care about account portability, especially being able to retain their social connections if they move to a new platform
- 11:42Yeah it’s sometimes nice to start over, but most people i talk to dont want that. And the general internet sentiment seems to care a lot about account portability(edited)
- @miker2049:groupchattt.page11:44huh, got it
- @miker2049:groupchattt.page11:49I guess I'm just thinking about how a strong sentiment around mastodon is that it is "complicated", and there is so much friction around onboarding people because they just don't care about federation, just want to log in and be with people. And I'm trying to imagine pitching all this stuff to someone whose maybe finally gotten on board with mastodon despite that friction, and having to be like "ok, but now you should do bluesky because its like mastodon, but better because of X,Y,Z". I can just picture their eyes glazing over about it.
- 11:51People are migrating to mastodon despite all the friction simply because of the calamity at twitter, and I can't imagine there will be an analogous incentive in acitivitypub to spur a similar migration to bluesky(edited)
- 11:52because by design, there wont ever be some single event there that affects everyone(edited)
- Adam Lake12:23Why not just make BlueSky compatible with Activity Pub?
- @npettiaux:matrix.org12:47I advertise as much as possible that #mastodon and the fediverse are today the best social networks
- 12:48Because they are linked thanks to activitypub, are free software and are decentralized
- 12:48What has bluesky to offer that may surpass this ?
- George Antoniadis
- Adam Lake12:52
In reply to this message
There already is account portability for the Fediverse. Granted, server hose can screw users over if they want to and so yes we need to store our data outside of the server that hosts our account. As I understand it, nothing about the activity pub protocol prevents account portability or the use of DIDs or anything like that. - @miker2049:groupchattt.page12:54I am referring to that very same FAQ
- 12:55oh sorry I thought that was a reply to me!
- George Antoniadis12:59
In reply to this message
The fact that a server can "screw you over" is pretty bad on it's own, the fact that posts and identities are not cryptographically signed is probably the biggest concern for me. I think there was a suggestion to add signatures to activity pub but don't think it went anywhere right? - Adam Lake13:03
In reply to this message
Sure, we need those improvements, but why abandon Activity Pub simply because implementers haven't created the features of the next phase of the Fediverse? The social web interest community group has opened back up at the W3C. Issues around data portability can certainly be discussed there. We need open standards and transparent governance to foster a true public good for decentralized social media. It's hard to believe that Blue Sky can serve that function, even if I agree with the direction and many ways from a technical perspective. Again, There is no reason that activity pub can't be extended to support decentralized identity and data ownership. - George Antoniadis13:16
In reply to this message
I don't speak on behalf of the bsky team, but they are a pretty small team and they are trying to make this protocol the best they can. Trying to shoehorn an incompatible piece of tech doesn't sound like the right thing to do at this point in time. I don't think anything is stopping people from trying to extend activity pub to support atp/bsky and certainly don't believe that it's something that will never happen. - Adam Lake13:21I wish that Blue Sky was more transparent and had more open governance. The questionable ties to Jack Dorsey give me pause. I do hear really good things about the Blue Sky tram and have no reason to question their good intentions. Unfortunately funding streams don't often come without strings attached. We will see how it all pans out. Is Atprotocol truly open source, so that others can leverage what is being developed?
- 13:21Team*
- @miker2049:groupchattt.page13:23AAdam Lake: atproto isopen source, the spec is public
- @gulci:halogen.city13:24is the source code being on github and MIT licensed somehow not being “truly open source”?
- @miker2049:groupchattt.page13:26but without being maybe as forceful, I agree with the general feeling that... from a global view, its just exciting activitypub is growing, news organizations are starting to think about making their own instances, and people are catching on to it. and its hard to think about making yet another, somewhat similar thing and going through all this again.
- 13:27neither of these things are for-profit companies, nobody should feel threatened or competing
- Adam Lake13:27The MIT license looks very permissive. Awesome
- @miker2049:groupchattt.page13:27I think we all want the same things
- Adam Lake13:30
In reply to this message
Most of us want something very similar. I don't trust the Oligarchs to do the right thing. - @miker2049:groupchattt.page13:40Sure, but neither bluesky or mastodon is going to stop or change the power/influence of those kinds of people. There is always going to be people with enough resources and incentive to adapt to new specs and networks in order exploit them for money and attention.(edited)
- 13:41We can just do the best we can!
- whyrusleeping13:58AAdam Lake: theres a lot of public comms on this https://twitter.com/bluesky/status/1518707597532024832?s=46&t=4jNyavJWljGWx9h9fwA1xw
- 14:00Also read the blog posts from February here: https://blueskyweb.xyz/blog
- 14:02The company is quite transparent about funding and governance, and the code is on github and permissively licensed
- 14:14Karl Abbott changed their display name to Karl Abbott (Away Until 4-January-2023)
- @sterence:sleeby.cafe16:51i dont know why bluesky needs to be compatible with activity pub, i've been hosting a pleroma instance for 2 years and i'd rather get away from it instead of drag everything back to activity pub. activity pub isn't built for resilience and i know someone who lost a domain and it took a lot of work from a few smart people to try and move accounts to a new instance and even then it barely federated the changes properly. nobody is stopping people from still using activity pub, if you value an established community then stick with it, but at protocol looks like it fixes so many problems of the current fediverse and i'd say we're insanely lucky that we're getting something done well from experienced devs who have the funding to build it properly.
- mkpal20211717:06Me too a little
- @miker2049:groupchattt.page17:32yes. to be clear, for my part, I'm really really not trying to poopoo anything! I am very enthusiastic about all this work. any careful, well-supported labor around a pure protocol is exciting and rare in a world where most things tend to become vulgar commodities. I am really just trying to think through what adoption will look like here, in part, precisely because of the non-commercial aspect of the venture. and either way, bsky has been funded millions of dollars to do precisely the thing that was in their original pitch, so its probably out of the question to like tell them "maybe you dont need to all this?". In reality, the proof will be in pudding. If bluesky doesn't catch on, and mastodon keeps growing in popularity, they will probably be somewhat forced to create compatibility with activity pub. alternatively, if its a huge success in terms of adoption, it will probably be mastodon who will have the burden of becoming compatible with bluesky!
- whyrusleeping17:53Yeah, we're really focused on building the right thing. We've been given a crazy opportunity here to build something foundational, and we're not about to blow that. The gravity of the situation is very front and center to all of us.
Fri, Dec 23, 2022
- @govbotdotnet:matrix.org04:25
In reply to this message
I agree in a sense for individuals, and would go so far as to entertain brainstorms about a network that allowed a new random number attached to each post, (or nothing public at all), rather than an account... perhaps in some way that all can see that post, but in a way that only voluntary agreements would allow that post to be linked to a) any number of other posts, proving they are the same identity b) any series of characters that make up a handle of poster's choice ... and then, that or those posts only to be linked together that way by any other user who can provide the proper credential defined by the poster (password, captcha, iq test, woke litmus) But... for corps and brands portability is huge and failsafes for account preservation are needed I would think.(edited) - 04:27
In reply to this message
... aaaand none of what I said addresses this key point. i imagine the onboarding to be driven more by adoption. early stages are to bring in the techs to build, who suffer alone in wait of normie herd - Aaron Goldman09:59
In reply to this message
The onboarding problem is almost never about the tech. It is about bootstrapping the network. I will jump through hoops to get to a network that has my friends and information I care deeply about but the network starts empty.
Wikipedia.orgis hard to edit with most changes reverted immediately. I could post to a social network far more easily but it is worth the time because Wikipedia has a significant audience. If you have a significant publisher base you draw a significant audience. If you have a significant audience you draw a significant publisher base.So why does account portability help? It helps with small communities of value. Lets say there was a conference that used a atproto PDS and the
bsky.appLexicons. An attendee gets a DID and uses the PDS for the one conference. When the conference ends they turn off the PDS. Now the attendee can just migrate if they want to keep using the network. You don't make people use an identifier from outside but no one is the person that can't fully participate at the conference because they happened to be banned from Discord.Who's bourdon is it to preserve the conversations from the event? The organizers don't have to maintain a PDS for all time to keep the conversations anyone that wants to could pin the content. It is all signed and all in repositories. Just crawl the content and keep a CAR file. You can decide to serve the data later it will all still be valid.
- @miker2049:groupchattt.page10:51What is the benefit of creating a dedicated PDS for this conference?(edited)
- 10:53Maybe just that the hypothetical conference is not attached to a larger context/organization? But still needs something persistent after its over?
- 10:55Just trying to think of a good example. Conferences typically want to preserve a network anyway, and are annual anyway.
- @miker2049:groupchattt.page11:10Like, if a conference has whatever reason to ban somebody one year, why is it better to use a system where you start over every year after and make the same decision?(edited)
- 14:33Mehrdad joined the room
- 14:40Mehrdad Senobari changed their display name to Mehrdad
- 16:20FledgeShiu joined the room
- 22:05Interesting Chinese joined the room
Sat, Dec 24, 2022
- 13:52Børlaag changed their profile picture
Sun, Dec 25, 2022
- tessitore16:04I'm hoping to get an invite to the Discord ... the link I found was broken
- Aaron Goldman16:34
In reply to this message
Do you mean the dSocialCommons discord?
There is no bluesky discord anymore just this matrix room. - 16:35https://discord.gg/dHfuwAJN may be what you are looking for
- @gulci:halogen.city16:39ooh didn’t know about this server. thanks for the share.
- tessitore16:46That is better than I was hoping for. Thank you! @Aaron Goldman
- Matthew18:16happy holidays, blueskiers
- 18:30@michael31:matrix.org joined the room
- 18:30@michael31:matrix.org left the room
Mon, Dec 26, 2022
- 02:43@gulci:halogen.city left the room
- 07:20hsoc joined the room
- i9998817:20Message deleted
Tue, Dec 27, 2022
- 08:11zekarlos changed their profile picture
- 21:57panchowray joined the room
Wed, Dec 28, 2022
- 06:33taosheng shi joined the room
- 15:45omasanori changed their display name to Masanori Ogino
- 16:31@truethomas7:matrix.org joined the room
- 16:46@sijvert:matrix.org joined the room
Thu, Dec 29, 2022
- 03:35candeniz joined the room
- 07:57pragboss_666_88 joined the room
- @miker2049:groupchattt.page08:51
Sorry if my last questions were dumb. Still trying to figure out "small communities of value" qua ephemeral networks, and why they are good/desirable, and also, why people would choose them.
One other thing: in a scheme which focuses on this decoupling of identity from a particular network, I feel like there will be natural inclination to leverage this feature/aspect around things like moderation and user curation, such that there are public blacklists/whitelists of accounts to combat things like the future horde of chatgpt bots and such. And that seems great/needed, but won't the inevitable false positives in these lists/filters be extra disastrous for a given individual? Suddenly, their whole identity will be person non grata, and there wont be any single place to appeal. One day, they are filtered from the public on bluesky, but also find they can't log into their family's group chat, or their university's network. The greater they have relied on the portability of their account, the more different appeals they have to make and fires they have to put out.
We see already today how ruinous it can be to be flagged by some Google bot and suddenly lose access forever to documents you stored in drive. Wont this spec encourage a world where these problems are greater and even more impersonal? I understand, by design, ATP itself cant deal with with these problems other than dividing "speech" and "reach" layers, and making it possible in principle to control your own moderation/filters. But in practice, surely most people will just rely on the filters and the moderation they are given with the service they choose, whether bluesky or something else, right? The character of the problem of being "locked out", blacklisted, etc, wont be really different than today, or will it?
(edited) - 08:52There are just some aspects of being encouraged to put all your eggs in one identity basket, so to speak, that are potentially kinda scary/dystopian.
- Aaron Goldman10:59This is a symmetric win and loss. Yeah a negative reputation could follow you from one network to another but the same is true of a positive one. A service might start out new users with a very restricted account. Can't post until you have met some threshold. If you can bring a good reputation with you then you can start with rights you would otherwise have to earn.
- 11:01An account that was created this morning. No credit score. An account that was created this morning and is in good standing with Google, LinkedIn, Eve Online pretty good credit score.
- @miker2049:groupchattt.page11:13Ill be honest that's not helping it feel any less scary, but definitely see that there are wins here too
- 12:40@npettiaux:matrix.org left the room
- snarfed16:03hi all! I'm hitting some semantics questions about app.bsky objects here and there. is this a good time/place to ask those? totally ok if it's too early!
- 16:05for example: in
app.bsky.feed.feedViewPost
, it looks like a normal post would go in thepost
field. for a reply, is that still true, and the original post goes in thereply
field? or vice versa?(edited) - snarfed16:11oh nm, I assume the latter, since
reply
is areplyRef
, which hasroot
andparent
- 17:25justfahad joined the room
- mikestaub20:23This could be a useful tool to let users self-host their PDS: https://github.com/microfeed/microfeed
- snarfed20:54another small one: in
app.bsky.feed.post#view
,record
's type isunknown
. from looking through the code, it seems to usually beapp.bsky.feed.post
. is it sometimes something else? or was there another reason to not make it a typed ref, or a union? https://github.com/bluesky-social/atproto/blob/03c6c140fa1e44f55e64424e423f918c16d10f48/lexicons/app/bsky/feed/post.json#L59(edited) Fri, Dec 30, 2022
- 11:13@sky0n3:matrix.org joined the room
- Daniel Holmgren12:39
In reply to this message
the naming is maybe misleading there, and we may be updating it cause that's caused confusion for a couple folks. Think ofreply
asreplyTo
. So a given post (that is a reply to some post) would be inpost
and then you'd include it's parent & root of the thread inreply\
(edited) - 12:43
In reply to this message
unknown
is the same as an open union with no refs in it. In both cases, you need to check the subobject's$type
to determine what you're looking at. This could probably be an open union withapp.bsky.feed.post
made explicit. will need to run it by Paul to make sure im not missing something 🤔 - Daniel Holmgren12:56
In reply to this message
Unfortunately questions like this will always be an issue in an open network where you have to separate signal from noise . One important consideration is to handle moderation/filters at the proper level of resolution. Server bans should be thought of as a last resort escalation, and we're building tools for emergent community-led moderation that sits atop ATP & spans servers. These filters can be context specific. If you post a bunch of micro-blogging spam, these moderation zones will likely start to filter out your content. But this shouldn't affect your family's group chat Sat, Dec 31, 2022
- 01:48Michael joined the room
- 11:29-nicb- changed their profile picture
- Michael14:47
so i've been kinda reading the identity "guide" in the
atproto.comdocs, and there's something i'm still not clear about: suppose you decide to publish to multiple PDS's, because maybe for example you're trying to switch hosts. how do you then invalidate the one you want to switch off of, since you're trying to use the new one? people should not still be able to query the old one since it might return outdated information.i'm also not really clear on the entire DID -> DID document resolution process either; is this like DHT-based or something? how do you know which server to ask the DID document from?
- Aaron Goldman15:12
In reply to this message
Sounds like you are on the correct track.
When you switch PDSs you update the DID document to point to the new PDS location and rotate the account key. Now the old PDS can't sign an update for yourdid:plc:
. It can still serve the old repo. If you upload a newer version repo to the old PDS I could serve that, it just can't mutate it since it does not have the needed key.
This is authenticated data. Anyone could chouse to host any repo for any reason. - Michael15:16thanks for the answer, it's very clear. what does the process of "updating the DID document" look like? more specifically, how does observer A trying to resolve my did:plc:abc one minute before my update, and observer B resolving the same DID one minute after my update, know that the document has changed in the process? is it immediate, or more like an eventually consistent system?
- Aaron Goldman15:16The DID -> DID document resolution will initially be a server run by Bluesky PBLLC but will someday be replaced with a small number of servers run by an identity consortium.
- Michael15:17oh wait DID document resolution is centralized?
- Aaron Goldman15:23
In reply to this message
I think the best analogy is certificates stapling. A PDS will want to return a signed statement from identity server in the last say 300 seconds. The PDS needs to call the identity server but can send that same cached statement with responses after that.
For your case of having migrated the old PDS will either give you the new document pointing you to the new PDS or a stale document. If the stale document is old enough your client will go ask the identity server for itself and see the new PDS.
- Michael15:33so am i understanding correctly that just like in PKI, there's an authoritative identity server that clients inherently trust, and DID resolution would be analogous to querying the revocation status of a TLS cert. having such an identity server answers a lot of my doubts about the protocol, but just raises another: do you know if it's a goal of the bluesky project to support other identity servers, the same way devices can have multiple trusted root CA's? i still see the merit of having centralized identity while still allowing users to migrate data stores, but it seems kind of counter to the goal of decentralization to still have all identities pinned to an authoritative server controlled by a single organization or even the consortium
- Aaron Goldman15:57
In reply to this message
So Yes and No.
In the CA system the CA is asserting the binding between names and keys. In thedid:plc:<hash>
the hash is the hash of the first version of the did document. Each update must be signed by a key in the document already. So you can't have something like the DigiNotar hack as a update to your DID must be a collusion between you and the identity server - 16:01The identity server serves two roles. It orders/timestamps the updates making it possible to recover
did:plc:234
with its recovery key and since it needs to sign the updates it can keep a copy of all the Documents so that it can guaranty resolution. - Aaron Goldman16:08If you were to decentralize the identity server you would need to specify the identity consortium that you wanted to trust in the original DID Document and a DHT to find the original DID Document. Not going there yet, better to just have 7ish member identity consortium letting you update with any 5 of them. Query from any 3. much simpler to guaranty performance and reliability.
- 16:11I would rather trust a system like that then the CA system. I get that there are people in the community that see a selected 7ish organizations providing a high availability service a scary level of centralization for such a system. Such an identity consortium can update much faster than Bitcoin or Ethereum.
- Michael16:27i see. the idea of having hashes be signed to protect updates makes sense and produces a high level of integrity, and i'm certainly not looking to introduce something like blockchain which is just centralization but with more steps. i'm just worried that designing a system around a centralized core identity system would require yet another large discussion and redesign of the protocol, forcing backwards-incompatible changes if/when we do decide that it's important to have separate identity servers. for now i guess all my questions are answered, so thanks for the help!
- joelghill16:49
I have a kind of high level question regarding the Lexicons. Assuming the protocol catches on and people start developing new Lexicons for specific use cases, has there been much discussion on how different Lexicons should reference or depend on each other?
For example, if I wanted to make a GoodReads competitor, and I wanted to leverage the current BlueSky lexicon (getting feeds, graphs, etc) how would one go about adding new functionality like 5 star book reviews and book collections? Some would be independent of the BlueSky lexicon, but reviews and reading updates could be something returned in a BlueSky actor's timeline as well.
Is there a way to specify that lexicons are dependent on each other? Like, if you implement A, you must also implement B?
Sun, Jan 1, 2023
- snarfed00:24Message deleted
- snarfed00:32joelghill: yes! the current lexicon design, which has evolved from what's documented on https://atproto.com/docs, includes a
ref
type that can point to another lexicon's type - 00:33https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/feed/post.json has a few examples of refs that point both internally, within that file, and outside it(edited)
- 07:21@toranosora:matrix.org set their display name to hellstabber (kullanmıyorum)
- 08:30@rimuru:gentoo.chat changed their profile picture
- joelghill
- snarfed11:37joelghill: definitely other differences, it's a pretty significant overhaul. I'm doing the same thing as you. there are pretty complete examples in the repo, but afaik no docs yet. here's the most useful commit I've found: https://github.com/bluesky-social/atproto/commit/63b9873bb1699b6bce54e7a8d3db2fcbd2cfc5ab(edited)
- 13:29zxfsee joined the room
- snarfed14:37minor interpretation note: I'm assuming
text
inapp.bsky.feed.post
is plain text, not HTML. feel free to correct me! - 18:34zrezzed joined the room
Mon, Jan 2, 2023
- 11:01@sijvert:matrix.org left the room
- snarfed15:50afternoon all! my second small building block is up on https://granary.io/ ; it converts Bluesky
app.bsky.*
objects to/from a wide variety of formats, including HTML with microformats, ActivityStreams 1 and 2 (ie ActivityPub), RSS and Atom, etc - 15:50a couple examples: https://granary.io/?input=html&output=bluesky&submit&url=https://snarfed.org/ converts the latest posts on my web site https://snarfed.org/ to
app.bsky.feed.feedViewPost
s - 15:50likewise, https://granary.io/?input=bluesky&output=as2&submit&url=https://snarfed.org/getTimeline.bsky.json does the opposite, starting with the synthetic toy
app.bsky.feed.feedViewPost
s in https://snarfed.org/getTimeline.bsky.json - 15:51feedback is welcome!
- Aaron Goldman15:59Sounds cool 😎
- pfrazee16:18
In reply to this message
I just pushed a site update that gets the docs back to latest in terms of definitions. I still very much need to write up docs on the design of lexicon - 16:19very cool stuff with granary!
- snarfed18:49thanks guys!
- bnewbold19:14snarfed: awesome! reminds me of pandoc (https://en.m.wikipedia.org/wiki/Pandoc)
- snarfed19:25yes! good comparison, among others
- @govbotdotnet:matrix.org19:34
In reply to this message
The tradeoff should at minimum be clear and up front - showing that it was consciously, and hopefully wisely made. - 19:35
In reply to this message
The choice should be on the user side forever though. You might think it is spam, while I think it's an interesting study into how that person is marketing themselves these days. - 19:37I see no reason for centralized filters / moderation decisions. User side filters are more ethical, more elegant, more useful, more scalable, more wise to liability
- whyrusleeping19:38If you dont like how your PDS is filtering content, switch to a new PDS. The servers job is to keep the lights on, which includes removing illegal content and spam
- 19:39More subjective moderation decisions will be left to another layer, but the choice of which “governance” to be subject to will always be the users choice
- b0gg3r21:22How does the PDS filter content? It seems from the spec like a binary "follow DID and pull their repo or ignore their existence" I kinda thought anything more granular than that was being left up to indexing/moderation services
Tue, Jan 3, 2023
- pfrazee08:25
In reply to this message
a PDS has to deal with resource abuse and legal issues. There's no way around it. On resource abuse, if somebody creates 1k accounts and starts sending garbage writes to them constantly, theyre going to take down the PDS and create cost issues. On legal issues, if somebody publishes copyrighted material and the PDS doesn't respond to DMCA requests, they'll get sued and shut down. - 08:28the counterbalance to PDS control is a collection of technical constraints and then norms enforced by account portability
- 08:28technical constraints are things like what can a PDS literally not do. It can't change a repo it doesnt have signing keys for, for instance
- 08:29and norms are things that the culture expects the PDS not to do, enforced by the fact people will leave if they do(edited)
- 08:30we do want granular control around curation and moderation to happen in other systems, so we're designing for that, but a PDS does have to defend itself
- 08:51Thib (away, back on Jan 3) changed their display name to Thib
- 19:48m3t4m0rph0s3s joined the room
Wed, Jan 4, 2023
- 03:46Louis Grasset joined the room
- 04:22grin joined the room
- 07:23Karl Abbott (Away Until 4-January-2023) changed their display name to Karl Abbott
- FledgeShiu14:55Is there anyway to play the PDS right now? For example create a user, send a post, follow a user, things like these.
- 14:56I tried package Dev Env, but I don't know how to do these operations.
- jmcasey
- 15:11^ great quickstart guide for the reference implementation of the PDS
- FledgeShiu
- 16:57networkException changed their profile picture
- FledgeShiu18:11Is it possible to know the http type form a Lexicon schema?
- jmcasey18:16query === GET, procedure === POST
- 18:16If I understand your question correctly
- FledgeShiu
- 18:26Yes, that's what I want to know
- jmcasey18:26Defined here: https://atproto.com/specs/xrpc
- FledgeShiu18:27I see.
Thu, Jan 5, 2023
- 16:59lakee_ joined the room
- 20:42Louis Grasset changed their profile picture
Fri, Jan 6, 2023
- FledgeShiu20:27I'm playing the AT protocol, but I found there is a confusing aspect of lexicon. I can not found the definition of type in lexicon.
For example, inapp.bsky.actor.updateProfile
There is no definition of"type": "image"
in the lexicon json files.
And In thecom.atproto.repo.createRecord
, record type isunkown
.
For now, I can only found these definitions in the code. Will these definitions be added to the lexicon json files in the future?(edited) - whyrusleeping20:29Image is a builtin type, like string or integer
- 20:30The unknown record type thing bothers me too. Its special cased there in a kinda weird way
Sat, Jan 7, 2023
- 07:07Carnoval 15 joined the room
- mikuhl16:03so hows it going
- whyrusleeping16:08Pretty good, you?
- mikuhl16:10good. just waiting for bluesky :P
- mikestaub17:25all good things come with time :)
Sun, Jan 8, 2023
- MightySpaceman (OLD -> m_spaceman:matrix.org)
- 05:39coop_riccm joined the room
- 06:06@halfor:matrix.org left the room
- mikestaub09:38whyrusleeping: this could be a useful reference once its time to run load tests and scalability experiments for the protocol https://thume.ca/2023/01/02/one-machine-twitter/
- whyrusleeping11:31Yeah i was reading through that yesterday, i love his calculations
- Aaron Goldman17:32I do sometimes think about the notification server problem. If there are a lot of devices all trying to get notifications a PDS could end up with lots of simultaneous tcp connections. The hyper scale companies increase the connections by modifying the kernel. There are good reasons to want to run pds on a standard kernel
Mon, Jan 9, 2023
- 07:04Karl Abbott changed their display name to Karl Abbott (AFK)
- 08:44Karl Abbott (AFK) changed their display name to Karl Abbott
- 13:55magicofazi set a profile picture
- 17:11jwjjwswmfq joined the room
Tue, Jan 10, 2023
- 02:59lepras set a profile picture
- 08:43Paul joined the room
- 09:05Paul set a profile picture
- 15:43jaymudholkar joined the room
Wed, Jan 11, 2023
- 01:54Thib changed their display name to Thib (🤒)
- 08:04@mrhacking:matrix.org left the room
- 09:07wedg changed their display name to Sam
- @miker2049:groupchattt.page09:46Any thoughts/plans on having a json schema available for generic lexicon files? It looks like it would besomewhat trivialwith zod, and would help alot with implementation in other languages
- 09:47I get that it would be a kinda confusing schema of a schema, but it would provide a quick avenue for validation in a lot of places
- @miker2049:groupchattt.page10:29Not sure if yall are open to PRs, but just a quick draft here of this: https://github.com/bluesky-social/atproto/pull/468
- 12:33@dk:effektio.org left the room
- 16:5313flaws joined the room
- 13flaws16:55gm. question about gunDB -- my understanding is it can replace our mongodb cluster. But the program logic will need to continue running on aws (elastic beanstalk)?? Or, does gun replace this also
- George Antoniadis
- 13flaws
- George Antoniadis16:57
In reply to this message
This channel is for the development of Bluesky / ATProto, https://atproto.com
Last time I checked gun was using gitter, https://gitter.im/amark/gun -- you can probably find more on their github readme - 13flaws16:58ya, mark was in the bluesky Disc back in the day. I've been on their Gitter, they aren't responsive. Was wondering if someone in this community is knowledgable about the tech.
- 17:00I built a fairly popular anonymous social app, and im interested in migrating the technology to a decentralized architecture. Gun seems like a reasonable place to start.
- 17:00If you've other input / suggestions, open to that also :)
- 17:00Thanks again for your quick replies :)
- Steven Franssen17:02113flaws: considerholepunch.toand nostr
- 17:03nice podcast episode on nostr https://bitcoin.review/podcast/episode-18/
- 17:03the twitter feeds for keet and holepunch are great too
- George Antoniadis17:04
In reply to this message
Do check out ATProto, it's pretty extensible but whether it fits will greatly depend on your usecase.
OrbitDB is also a good one to check out if you haven't already, much closer to gun than ATP. - Steven Franssen
- 13flaws17:04ty frens.
- Steven Franssen17:05np
- 17:05113flaws: holepunch is offering grants for new apps soon https://twitter.com/Holepunch_to/status/1613131480246673408
- 19:43@lexx:nitro.chat joined the room
- 19:43@lexx:nitro.chat joined the room
- 20:33EtherTyper changed their display name to 3therTyper
- 20:343therTyper changed their display name to EtherTyer
- 20:34EtherTyer changed their display name to EtherTyper
Thu, Jan 12, 2023
- dgn
- 10:10@jasondavies:matrix.org set their display name to jasondavies
Fri, Jan 13, 2023
- 07:37Thib (🤒) changed their display name to Thib
Sun, Jan 15, 2023
- 05:22arnobchak joined the room
- snarfed10:59Hi again all! I've put up another building block for bridging IndieWeb and Bluesky: https://fed.brid.gy/ now implements most of the
app.bsky
read XPRC methods, based on parsing profiles, posts, reply threads, etc out of HTML with microformats. Here are a few examples:
https://fed.brid.gy/xrpc/app.bsky.actor.getProfile?actor=snarfed.org
https://fed.brid.gy/xrpc/app.bsky.feed.getAuthorFeed?author=snarfed.org
https://fed.brid.gy/xrpc/app.bsky.graph.getFollowers?user=snarfed.org - 10:59This isn't a full fledged PDS, it's just a bridge between data formats and app.bsky XRPC methods. One big open question is how federation/data sync works. I still don't fully understand how Bluesky does that, how much of it is at the PDS repo sync vs Bluesky app logic levels, etc.
- 11:00I know everything here is still early, so I'm not pushing on all that. Feedback is welcome otherwise!
- whyrusleeping11:12More on federation quite soon, we worked out a number of the hard problems this week at the company offsite. This bridging work is really cool, im excited to see it all up and working
- snarfed12:02awesome, can't wait to hear more whenever you all are ready!
- joelghill12:07
I'm really looking forward to reading about how you're tackling federation, especially how it compares to ActivityPub!
I'm curious, do people think there is room for both protocols? I could imagine a server being compatible with both... But would it be worth it?
- snarfed12:08very subjective questions, but for at least some servers, yes. eg Bridgy Fed supported both OStatus and ActivityPub for a long time, and I expect to make it also support Bluesky/ATP
- joelghill12:10Mastodon needs the AT Protocol in my (uninformed) opinion. I really hope they consider implementing it in the future, we need account portability at minimum.
- snarfed12:11you mean, beyond their current migration support?
- joelghill12:12Yeah, I don't think the migration support is good enough. You lose data and there's nothing you can do if your server disappears.
- 12:14
ATP/BlueSky appears to be taking a more reasonable approach to algorithms and feed curation. Mastodon uses "no algorithms" as a feature... But we need them? I want some intelligence in my timeline keeping it clean and relevant. The issue with Twitter was not that there was an algorithm, but what the algorithm was doing and the lack of transparency.
I'm sure I'm preaching to the choir here though.
- sylphrenetic12:54
In reply to this message
some people want algorithms, some don't, some want specific ones. we should be able to plug and play any moderation algorithm for our feed, just send the data you were going to display to the service and it sends back a curated subset after moderation is done. when it comes to content algorithms though, like for which places you source content from, that needs to be application-specific but have protocol support. if possible it'd be cool to have it so that applications can tailor the user's content sources per their own algorithms, and the protocol just serves whatever subset the application asks for. - b0gg3r
- whyrusleeping13:52“Offsite” implying we all went somewhere else, but yes we’re all remote
- 17:45@toranosora:matrix.org removed their display name (hellstabber (kullanmıyorum))
- FledgeShiu18:14
In reply to this message
That's awesome. I was just wondering why Github was so quiet this week😂. - 19:57@xentra:foss.wtf left the room
- b0gg3r20:45Message deleted
- 21:32meri set a profile picture
Mon, Jan 16, 2023
- Hilary Baumann12:49
In reply to this message
"if possible it'd be cool to have it so that applications can tailor the user's content sources per their own algorithms, and the protocol just serves whatever subset the application asks for."
THIS. So very much this.
I had intended to stay a lurker here but this concept is so very important for any social media platform to be better than everything else out there to date. I thought tiktok had figured it out but technically the following tab is algorithmic (just less intrusive about being so on the followed tab.)
There is a reason that algorithms have worked with Twitter and Facebook and anything that has grown. At the same time there are a number of us that want to see chronological from time to time. But chronological can be too much of a fire hose of information. I remember early days of social media and then the loss of google reader where "the fire hose of information" was a more common discussion. It's why chronological doesn't take off as well for the masses.
Being able to have BOTH chronological and algorithmic and then also a choice, whether via different interfaces or an easy to access toggle or tab would be a game changer. I very much want this to be the new way developers think about social media. Choice. Options.
Just wanted to get in and emphasize allowing that particular flexibility. 😎
- Aaron Goldman16:54
In reply to this message
Yup, this is why authenticated data exchange is so important. That is how we make the economics of the ranking living outside the publisher's computers work. - 16:55At least without a Google level crawling infrastructure and reputation for honesty about what was crawled.
- b0gg3r17:22I'm really curious to see what types of indexing emerges. Also whether users will prefer google style "read everything and form a profile" or the product of an indexer being a specific algorithm and users subscribing to one or many of them.
- whyrusleeping22:31Same
- 22:32I love that we are building in the flexibility for choice, and really allowing for the global “tik tok” style feed, and at the same time letting people have the closed scuttlebutt style experience
- 22:32Chose your own damn adventure
- 22:32Live your life, own your data
- b0gg3r22:58Seen some new lexicon definitions pop up the last few weeks, can anyone shed light on `myState`, `withInfo` and `viewerState`? `withInfo` seems to be part of the Declaration token system. Is that for badges and whatnot that you might see on reddit posts, or mastodons profile metadata?
Tue, Jan 17, 2023
- snarfed
- 10:19@neoazubal:matrix.org joined the room
- mikuhl11:35does jack have any relation to the development of bluesky? he seems to be researching nostr very hard.
- Aaron Goldman
- mikuhl11:44yeah I knew he was a part of it, but does he do any developing or anything? or give you guys feedback?
- 15:16@jpeg07:matrix.org left the room
- 16:08@neoazubal:matrix.org left the room
- Daniel Holmgren20:29
In reply to this message
yeah as snarfed said, it's just plumbing relevant info for views. declaration is unrelated to badges. Think of it as an integrity check on references to an actor in a record. When referencing a record, we use uri + cid (mutable & immutable references). When referencing an actor, we use did + declarationCid. Declaration just declares what type of actor a repo represents: user/scene/forum/etc - 20:30& yup jack is on the board. he's not involved in the day to day, but he does give some high level feedback
Wed, Jan 18, 2023
- 05:58ॐPablo joined the room
- 13:28mikuhl set a profile picture
- jmcasey15:47Re: federation, I noticed that did:plc allows 32^24 possible IDs. Kademlia (https://en.wikipedia.org/wiki/Kademlia) allows for 2^160 nodes which would fit. I'm sure there are similar schemes that would work, but I think that would allow the network get going on discovery Is that a direction ye explored? I'm sure there are other considerations
- whyrusleeping16:33Having built and run a rather large DHT for the past decade im actually not super inclined to reach for it as a solution here
- Aaron Goldman19:28
In reply to this message
The problem isn't fitting the 120 bit did PLCs into the 160 bit Kademlia key space. The problem is the DHT is a best effort eventually consistent data structure.
We want an identity service that can give an authoritative latest version of the DID document.As for the contents of the repo's someone has to store the objects. You could publish to a DHT but the nodes come, go, and clear cache out side of your control. What is the insensitive to store data for others on your DHT node.
We end up better off with an authoritative identity service and PDSs that are accountable to their customers and only relying on the DHT to be a cache to improve latency and robustness
- 19:28With the identity service and the PDSs as the content servers of last resort.
- 19:33When two PDSs open a connection to sync they have to first discover the set intersection of the repos they follow and then who has the newer version of each repo and send over all the blocks.(edited)
Thu, Jan 19, 2023
- 05:52Steven Vandevelde joined the room
- 05:54Steven Vandevelde set a profile picture
- 11:59@jordanreger:matrix.org joined the room
- 11:59@jordanreger:matrix.org joined the room
- 11:59@jordanreger:matrix.org left the room
- 12:58Erik Mccleary joined the room
- 14:35-=h0p3=- joined the room
Sat, Jan 21, 2023
- 09:57Ben Parizek joined the room
- 10:01Ben Parizek set a profile picture
- mikestaub10:42Thanks again to arcalinea for anticipating this change in direction. If Bluesky was not independent, funding surely would have been pulled. https://arstechnica.com/tech-policy/2023/01/twitter-retroactively-changes-developer-agreement-to-ban-third-party-clients/
- 10:44It seems very unlikely now that Twitter will adopt the ATprotocol. Which means a bridge will need to be created and maintained. Any early thoughts on how this can be done at scale?
- 13:12@truethomas7:matrix.org left the room
- mikuhl13:29Make it so good that they NEED to implement it.
- snarfed13:32bridge(s) will definitely be doable, and will happen organically assuming bluesky gets enough adoption, but they generally won't need any special support in the core protocol(s), and probably shouldn't be an immediate priority
- 13:32(I have experience with bridges from building and running https://brid.gy/ and https://fed.brid.gy/ 😎)
- Aaron Goldman14:18
In reply to this message
It is funny the way
Hedge fund Elliott Management Corp is responsible for Jack's motive for Bluesky back in December 2019https://www.cnn.com/2020/02/29/tech/elliott-twitter-jack-dorsey-replace/index.html
How do you protect Twitter from an activist investor who might buy Twitter and shut down the API?
Like this:
https://twitter.com/jack/status/1204766078468911106?t=nddAB0WEUCkqwMgXlN4juA&s=19 - 14:26@truethomas7:matrix.org joined the room
- Aaron Goldman14:29But yeah you have to find the right team 🙂
- 15:43Nostr be looking good these days.
- 15:56@astonishingriverboat:nitro.chat left the room
- FledgeShiu16:13What is the Indigo? https://github.com/bluesky-social/indigo
- Matthew
- jmcasey
- whyrusleeping16:38Indigo is our go codebase
- 16:39Theres a mostly functional pds there as well as a cli client tool
- 16:39But bigsky is the big world indexer we are working on
- 16:39Thats the federation secret sauce
- jmcasey16:39Well that's very exciting
- whyrusleeping16:40Indeed :)
- 16:42Ive also been hacking on some bots using the api: https://github.com/whyrusleeping/bskybots
- jmcasey16:43Yeah! Kinda reminds me of reddit's bootstrap tricks. Easy way to prompt genuine user activity is repost HN, podcast episodes, etc, automatically
- mikuhl
- 17:20the designer is https://twitter.com/robertoagreda__ but the developer is https://twitter.com/0xtlt
- Matthew18:57
In reply to this message
it bugs me that nobody has built an indexer for matrix yet. reminds me a bit of wais & gopher failing ‘cos nobody built a search engine for them - whyrusleeping19:13Yeah, the big indexer service seems to be pretty important to mainstream success
- 19:13People dont want to sacrifice discoverability
- Aaron Goldman19:17Lucene you served my father in the web search engine wars you are my only hope.
Sun, Jan 22, 2023
- 18:53bigtestaccount joined the room
- 21:22moved to @shreyan:beeper.com (@shreyanjain:matrix.org) joined the room
Mon, Jan 23, 2023
- 09:41Сергей Брага joined the room
- mikuhl21:38One problem Nostr has is the crazy amount of data it uses, the more relays you have the more redundant data you are receiving. Hope Bluesky is designed in a way that reduces this.
- whyrusleeping21:43Heh, thats been a big topic for us, hoping to have a writeout soon on the direction we are going with
- 21:44But basically we’re building from the start the shape of network that most p2p systems end up turning into, supernodes star mesh patterns
- 21:44Where most “leaves” interact through a supernode
- 21:44And supernodes are fairly dumb and permissionless
- Aaron Goldman23:12
In reply to this message
Do you know if Nostr has tried Set Reconciliation? https://arxiv.org/abs/2212.13567
How do you currently download what you don't know about but ignore what you have? - Aaron Goldman23:27You want search to be fast. If you had a dataset like all the tweets, somewhere in the order of 1PiB, and you want to query the index it makes sense to have a large node. That could be indexed several ways 5x ing the size of the data and still fit in a single rack. With 1ms latencies between the storage nodes. A distributed index spread across many PDSs with 50-100ms latencies between will not be able to compete for search quality at anywhere close to the delays as dedicated indexer would give you. Also, if there are a number of PDSs that are all customers of the same indexer they can amortize the cost of that large node. We can have lots of tiny PDSs with just a few thousand users that don't cost much to run and then a few big indexers that are expensive but well amortized.
Tue, Jan 24, 2023
- mikestaub13:11
In reply to this message
My intuition tells me this is going to end up being a single beefy elasticsearch cluster in the end :) - Aaron Goldman
- 16:28wolix set a profile picture
Thu, Jan 26, 2023
- 13:39@oliver.falvai:oliverfalvai.xyz joined the room
Fri, Jan 27, 2023
- jmcasey17:18Noticed that the atproto repo fails to build on fresh installs due to version 0.14.54 of esbuild being unavailable now. That version seems to have been pulled from their releases page: https://github.com/evanw/esbuild/releases Submitted a pull request here with a fix that works for me, in case anyone else is experiencing the same issue: https://github.com/bluesky-social/atproto/pull/499 Just swaps in 0.14.50 (latest available 0.14.x) instead
Sat, Jan 28, 2023
- 03:04playback2396 joined the room
- 09:01@samme:schizo.cafe joined the room
Sun, Jan 29, 2023
- 00:46@queixo:matrix.org joined the room
- 08:01@toranosora:matrix.org set their display name to Eren Kaplan
- 09:03@toranosora:matrix.org changed their profile picture
Mon, Jan 30, 2023
- 16:30tuxk joined the room
Tue, Jan 31, 2023
- 05:40@anonymous.nothing:matrix.org joined the room
- 19:32micwaul joined the room
Wed, Feb 1, 2023
- Steven Franssen08:06nostr's growth is astounding, how is bluesky feeling about it?
- 08:07all the relays are being cooked currently
- sylphrenetic09:17I assumed nostr's popularity has been because of Jack's public support, which I assume he'll also provide to bluesky once the time comes
- 09:19testman changed their display name to testman42
- mikestaub10:08I think it is great. Though it seems its almost all Bitcoiners at the moment.
- arnobchak10:09Is nostr will come to android
- mikestaub10:09The projects actually pair nicely, nostr is just about data redundancy. It has no opinion on what the body of the messages are, so it will be easy to put any Lexicon schemas in there. The protocol is at a lower-level of abstraction than ATproto
- arnobchak10:15To be honest decentralised architecture should properly adopt
- Joanna10:23Message deleted by whyrusleeping
- arnobchak10:23I agree
- mikestaub10:24If you really want to unite the unification of BTC with crypto you should advocate for https://www.drivechain.info
- 10:24arnobchak set a profile picture
- @numero6:codelutin.com10:28fyi there is a #nostr-lobby:matrix.org matrix room to not flood here (and many others listed in #decentralised-social-networks:codelutin.com)(edited)
- Joanna10:31
In reply to this message
Agree,
I’m Data Scientist, seeking other devs to implement the new design architecture.
New models of trust and governance.
New OS for the planet (s)Please Dm me on Nostr or GitHub
- 10:35
In reply to this message
Rabbit hole
Which one is the official?We need to verify all the channels
Me working to solve Global ID on the entire internet. - mikuhl20:52plot twist, none of them are official, and there is no official one.
- mikuhl21:45nostr is super spammed rn with chinese bots ;(
- 21:48will be interesting to see how bluesky solves spam
- 21:58@queixo:matrix.org left the room
Thu, Feb 2, 2023
- 04:34testman42 changed their display name to testman
- mikestaub08:46
In reply to this message
Are you sure they are bots? Might actually be real users that are trying to avoid censorship - mikuhl
- mikestaub09:17
In reply to this message
relays will likely have to integrate with BTC Lightning and charge per post to fight spam - mikuhl10:07I even wish Twitter would use a captcha, yes captcha solutions can be bought but that at least increases bots cost and the cost for humans stay 0
- 10:08That way correctly automated bot accounts can tweet without captcha because twitters spam detection for ACTUAL bots is pretty good.
- @planetoryd:matrix.org11:16TLSNotary, anonymous reputation, proof of personhood
- 11:17and thisappliedzkp.org/
- 11:18it's even possible to import reputation from chinese national KYC system without their cooperation through TLSNotary
- 13:17Emil J joined the room
- Joanna18:02Who deleted my message and WHY ?