Mon, Apr 24, 2023
- @planetoryd:matrix.org09:57absolute blasphemy of dweb
- rawkode09:58ActivityPub has its challenges, of course. I don’t believe it sucks snd such discourse doesnt really provide any value
- @planetoryd:matrix.org10:04activitypub has no routing, no (modern) cryptography.
- damon/10:10Blanket statements don’t help anyone. It’s imperfect, but there is not perfect. Stacking your preferences for comparison what do you find to be better in every way? Since it “sucks”
- 10:12Mehmet Ali joined the room
- George Antoniadis10:15
In reply to this message
Not sure how that could be done without these services to support atproto's plc did.
Maybe through a series of "verification" providers/services? Similar to how they plan on dealing with moderation and content discovery.(edited) - 10:17@saleh9:matrix.org left the room
- @planetoryd:matrix.org
- @planetoryd:matrix.org
- 10:34beeman joined the room
- beeman10:36Hello all 👋 just started looking into ATP and I love it so far
- rawkode10:36
In reply to this message
This seems like a challenge the protocol may need to solve for wider adoption. The narrative of people owning their data is great, but if it cant be expanded it may miss the mark - beeman10:36Can't wait to implement it in my apps
- rawkode10:36Like why would people build their own apps on it with a rather narrow lexicon?
- 10:38I’ll open an issue with my ideas. Maybe we can get a conversation going 😀
- 10:52UnownPlain joined the room
- @planetoryd:matrix.org
- George Antoniadis11:18
In reply to this message
The lexicon is really open, anyone can create their own schemas.
Yes, it's currently narrow, but that doesn't stop anyone from introducing new schemas to it. - 11:21beeman set a profile picture
- snarfed11:26
In reply to this message
right, and they've actually thought a fair amount about this, eg hoping to see a de facto standard clearinghouse/repo emerge for community schemas. thought I might have captured that in https://github.com/bluesky-social/atproto/discussions/855 , guess not, may be in this channel's history - @planetoryd:matrix.org11:31just wrote a short criticism on activitypub https://reddit.com/r/Rad_Decentralization/comments/12v4v98/can_activitypub_save_the_internet/jhgjntr?context=3
- rawkode11:37
In reply to this message
Yes, but if bsky doesnt merge them and they cant be supported dynamically, then people need a PDS and identity for each type of content? - 11:37Maybe I don’t understand how this should work yet
- snarfed11:39there's no need for the bluesky team to merge them anywhere. your PDS can just start using them, and other PDSes can adopt them and federate with you
- George Antoniadis11:43
In reply to this message
Right now the only PDS is the bsky one which most likely doesn't support random schemas as it's designed as a micro blogging service.
That doesn't mean people won't be spinning up PDSes that are general purpose in the future. Think of it like dropbox.
You register, pay for storage, and you can hold any schemas you want.The main issue right now with this ^ is that right now from what I understand the server implementation is both a PDS as-well-as a bsky-server that is needed for the client to work. I think that these will eventually need to be decoupled to two distinct servers/services for what we're discussing to work nicely.
- @planetoryd:matrix.org
- rawkode
- snarfed11:44
In reply to this message
PDSes and app servers are decoupled logically and semantically, but I think you're right that right now it's implicitly expected that they're generally colocated in the same service. I don't think that's a strict req't though - George Antoniadis11:47
In reply to this message
The main issue right now that I see is that you can't use bksy as a client with another PDS.
You will soon be able to federate with another PDS, but you won't be able to provide your credentials to another PDS and use it from the bsky client. -- This is specifically a restriction of the current bsky implementation though and nothing stopping other clients from not behaving this way, or bsky to allow you to connect to third party PDSes. - snarfed11:47
In reply to this message
hmm, that doesn't sound right? I think at least the current mobile apps explicitly include a "choose your server" step in onboarding - George Antoniadis11:48
In reply to this message
I think it's pretty much "Choose your bsky server", not "Choose your PDS" - 11:48Unless PDS == "bsky server"
- 11:48in which case my previous points were very wrong :D
- snarfed11:49no, true, you're right. the line btw app server and PDS is currently fuzzy at best, and I don't think they currently allow explicit decoupling. maybe eventually! as with most of the current design, it's not "this is a permanent, deliberate decision" as much as it's "one of many good ideas that we'll get to eventually"
- George Antoniadis11:50
In reply to this message
Yeah 100% agree, what they are doing is the best thing they could have done as it allows them to move fast. - George Antoniadis11:55I'm trying to find the available routes in the atproto server and I'm struggling :P If there is anyone here that speaks nodejs I'd appreaciate some pointers :D
- 11:58Hm I guess the client also talks XRPC, so there are no additional routes and it's just the lexicon stuff.
- 12:00Weckzen joined the room
- 12:00ilcergio joined the room
- ilcergio12:00Need Bluesky invite code maildiscapacidad5@gmail.com
- 12:01We are an organization for people with disabilities I visualize two blindness and we would like to be able to test the application
- 12:02see the accessibility options that you can have unfortunately since Twitter was sold the twblue application was disabled, which was with which people with disabilities could access Twitter people with deafblindness
- 12:03people with deafblindness And we are currently looking for an alternative that we can use(edited)
- 12:21Bryan Cinman joined the room
- 12:33bdimcheff joined the room
- 13:03Harshal Nandigramwar joined the room
- 13:11Uğur Korkmaz joined the room
- 13:13Uğur Korkmaz set a profile picture
- 13:21retr0id joined the room
- retr0id
- retr0id13:34
RE: placeholder did https://github.com/bluesky-social/did-method-plc
The DID itself is derived from the sha256 hash of the first operation in the log. It is then base32 encoded and truncated to 24 chars.
According to my calculations, it is computationally feasible (on the order of "a few thousand dollars") to generate a hash collision of this truncated length. i.e. to generate a pair of new identities with the same ID string - but not to match with a chosen existing ID (aka a preimage attack). I don't yet have a very solid understanding of the rest of the protocol, so I'm asking here, would there be any security implications of generating such a collision?
(edited) - George Antoniadis13:36
In reply to this message
Well at least you can ban people out for just having agreed to the rules :P - George Antoniadis13:43
In reply to this message
Main challenge in terms of compute would be that in order to do anything meaningful with this attack you'd still need to have generated a valid create operation for that did. - retr0id13:44generating a valid create op can be done offline, right?
- George Antoniadis13:45
In reply to this message
yeah, it's something like
12345678910
{ type: 'create', signingKey: 'did:key:zDnaejYFhgFiVF89LhJ4UipACLKuqo6PteZf8eKDVKeExXUPk', recoveryKey: 'did:key:zDnaeSezF2TgCD71b5DiiFyhHQwKAfsBVqTTHRMvP597Z5Ztn', username: 'alice.example.com', service: 'https://example.com', prev: null, sig: 'vi6JAl5W4FfyViD5_BKL9p0rbI3MxTWuh0g_egTFAjtf7gwoSfSe1O3qMOEUPX6QH3H0Q9M4y7gOLGblWkEwfQ' } ``` (from the docs)
- 13:46so you'd need to create a valid struct like this of which the truncated hash collides
- 13:47it's probably just much harder to find a collision in such a strict payload than what it would be on a pdf/png/mp4 that allows you to just attach arbitrary data at the end
- retr0id13:47you don't need to be able to append arbitrary data to generate a collision
- 13:48anything that you can tweak (such as the username field) is enough
- 13:48however, updating the signature would be relatively expensive, granted
- 13:48but it does not affect the big-O cost of calculating a collision
- 13:48
In reply to this message
what is the signature algorithm btw? I can't see it mentioned anywhere obvious - George Antoniadis13:49
In reply to this message
correct, but I just assume it will be much more expensive if you're limited to the ut8 space for usernames, given length, and then you need to also calculate a signature - retr0id13:49being valid utf8 does not affect difficulty
- 13:50
here's a collision with 24 matching hex digits (not base32!) that I generated in ~hours of GPU time the other day
1234
$ echo -n retr0id_662d970782071aa7a038dce6 | sha256sum 307e0e71a409d2bf67e76c676d81bd0ff87ee228cd8f991714589d0564e6ea9a - $ echo -n retr0id_430d19a6c51814d895666635 | sha256sum 307e0e71a4098e7fb7d72c86cd041a006181c6d8e29882b581d69d0564e6ea9a -
- 13:50both inputs are printable ascii
- 13:52the signature calculations would make the attack more expensive, but I'd still put it in the "feasible" ballpark
- 14:02orphanblock joined the room
- retr0id14:02but anyway, if we assume that you can calculate such a collision, what would the implications be? On the surface level my guess is "not much" (since you "own" both accounts to begin with), but I could see this breaking assumptions made in other places
- 14:13@germain:souquet.com joined the room
- rawkode14:27The bsky server isnt OSS, right?
- whyrusleeping14:36It is
- 14:36Its in the atproto repo
- rawkode14:41Oh. Thanks.
- 14:43@ritsu:fx45.in left the room
- rawkode14:45Awesome. That will serve as a great reference as i build my own PDS 🙌
- 14:45sheopedia joined the room
- 14:47jbouvier joined the room
- 14:48noobdy joined the room
- 14:53achuvyas joined the room
- jamanfredi15:11Maybe Im missing it, but is there a way to codegen interfaces from lexicon schemas or something similar? Basically if I get a response from the bsky api Im trying to figure out the optimal way of decoding that into a usable collection....(edited)
- 15:22necmi joined the room
- 15:23necmi set a profile picture
- 15:25s462 changed their display name to serdar
- 15:27@leon:vmst.io joined the room
- 15:29@ishan:m.ishanjain.me joined the room
- 15:39pablo_clueless joined the room
- 16:08Kjartan joined the room
- Kjartan16:20Hello everyone! The
did
of a handle can be fetched via dns. But how does one know to which pds this handle/did
belongs? - @dream:envs.net16:26Hi guys. I, still, don’t receive any invitation. If there any spare invites that you can share with me, I’d be thankful.
- panji.bsky.social16:33
In reply to this message
<
@alrozzi:matrix.org> Anyone got an invite for me?This is a developer room, please don't ask for invite codes here
- snarfed
- Kjartan
- snarfed16:36
In reply to this message
https://github.com/bluesky/atproto/blob/main/packages/lexicon/ has the team's code for doing it in typescript, or you can just decode the JSON directly(edited) - 16:37
In reply to this message
the response gives you the PDS's DID. right now the server will pretty much always bebsky.social. you can check that for a given did:plc with https://plc.directory/did:plc:... - George Antoniadis16:37
In reply to this message
There is a notion of a plc directory (https://plc.directory), not sure if there is documentation around it though yet. - 16:38Indigo for example gets a PLC registry as an argument, so I can only assume there will be a bunch of available registries with the first/main one beingplc.directory. https://github.com/bluesky-social/indigo/blob/f1f2480888ab5d0ac1e03bd9b7de090a3d26cd13/cmd/gosky/admin.go#L37
- Kjartan16:38Ok, thanks!
- snarfed16:44(also minor clarification, did:plc registries and ATP PDSes are separate things 😀)
- 16:49Brian Austin joined the room
- 16:50brianwaustin changed their display name to Brian Austin
- 16:50Brian Austin set a profile picture
- rawkode16:55Im assuming that we can also grab rhe did:plc:string from the TXT record and search for its hash on IPFS Explorer?
- George Antoniadis
- rawkode16:58Damn, this is earlier than I thought. That means theres no federation atm?
- 16:59@tayyabrazin:matrix.org joined the room
- George Antoniadis17:00
In reply to this message
Sorry by "currently" I meant that I'm not sure what the future holds.
As far as we know there isn't a plan to use ipfs for atproto.
It is using XRPC over HTTP. Federation is currently being worked on, but will also be over XRPC, -- again, AFAIK.(edited) - @tayyabrazin:matrix.org17:00Request for Invited Code for Bluesky I am writing to express my interest in joining Bluesky, the new social media platform that is creating a decentralized protocol. I believe that Bluesky has the potential to transform the way that we interact with each other online and I am excited to be a part of this initiative. I have heard that Bluesky is currently invite-only, and I would be grateful if you would be able to provide me with an invite code to join the platform. I am confident that I would be able to contribute to the community on Bluesky and provide valuable insights and perspectives.
- rawkode17:03
In reply to this message
OK. I’ll try and find some issues on GitHub for federation. Ive made too many assumptions. - 17:05Quinn Comendant joined the room
- snarfed17:08
In reply to this message
it's definitely early! they haven't fully published the technical details of their federation plans yet. sounds like they're imminent though. George Antoniadis is right, we have an educated guess at the relatively complete picture, it's probably based on thecom.atproto.sync.*
methods for data transfer and the commit hash chain and MST for data model synchronization and merging. no IPFS involved - rawkode17:09That does explain the chat i seen about rebasing
- 17:10Which Im not sure is possible with IPFS, but if the MST is stored in postgres and shared with xrpc then i understand it better
- achuvyas17:11is ATProtocol at a place where I can build my own front end for the bluesky? sorry if this is a stupid question
- rawkode
- achuvyas
- whyrusleeping
- 17:13We’re working on deploying a test environment this week
- snarfed17:13oops we woke the dragons 😆
- whyrusleeping17:14lol
- 17:14Achu Vyas changed their display name to achuvyas
- whyrusleeping17:14Happy to answer questions tho
- snarfed17:16does god exist
- 17:17oops I mean, um...think of something relevant quick...when are stale CIDs acceptable, if ever
- 17:17(phew)
- George Antoniadis17:17
In reply to this message
whyrusleeping since you're around, ^ this one is an interesting one that we really don't seem to know much, do you know if there are any docs or notes on how plc directories/registries are going to work? - 17:19ie Are they just registries that people decide were to submit their dids, or are they talking to each other as well?
- 17:19anericzhang joined the room
- snarfed17:35https://atproto.com/specs/did-plc is decently descriptive, even if it doesn't enumerate API endpoints. my guess is, they don't want did:plc to get so entrenched or formalized that it syncs across registries or otherwise provides long-lived guarantees, Certificate Transparency style, but I don't know for sure
- @tayyabrazin:matrix.org17:39Invited Code please?
- 17:39Emergency Needed
- George Antoniadis17:39
In reply to this message
considering that the plc did seems to be chain of operations that an arbitrary/malicious did registry could fake or stop accepting updates, I'm kind of expecting pdses to be asking more than one plc registry. -- KERI does something similar and it basically considers each registry a "witness" so they keep each other honest. - retr0id
- snarfed17:41yup, definitely sounds similar to how the CT ecosystem has evolved
- 17:41Carlos Moraes changed their display name to Carls Freitas
- 17:41Carls Freitas changed their profile picture
- 17:44sirperez joined the room
- @tayyabrazin:matrix.org17:44One invited Code please for Bulesky
- sirperez17:44I need one too please
- @tayyabrazin:matrix.org17:46One invited Code please please please please please please
To this email addresstayyabhussin988@gmail.com - George Antoniadis17:47The invite request spam is kind of starting to get to me :/ It’s been getting worse by the day it seems.
- @tayyabrazin:matrix.org17:48Just one invited Code please please please
- 17:48Emergency Needed
- George Antoniadis
- damon/17:48Bsky is closed
- @tayyabrazin:matrix.org17:48Okay
- damon/17:49Please dial 119 or 911 for emergency services
- @tayyabrazin:matrix.org
- Naadir Jeewa17:50This is for discussion of the AT Protocol, not invite codes.
- @tayyabrazin:matrix.org17:52I will get invited Code
- 17:52Where I will get invited Code I need Emargncy?
- @00c:matrix.org17:56
In reply to this message
I don't have an invite code and I want it. But this room was not created for that purpose, so please don't ask invite code in this room. - @tayyabrazin:matrix.org18:05Thank you soooo much For Not giving invited Code!
- 18:14@novacosmos:matrix.org left the room
- 18:15Laura Langdon joined the room
- 18:17Laura Langdon set a profile picture
- 18:20wd joined the room
- 18:25douganderson444 joined the room
- douganderson444
- @planetoryd:matrix.org
- George Antoniadis
- @planetoryd:matrix.org
- wd18:33probably a repeat question -- if I'm interested in self-hosting an instance, is that something I could do today while interacting w/ the rest of the ecosystem? or is it still a bit experimental? for context I have azure credits to light on fire as well as capability of home-hosting and a plethora of experience running daemons (I did a bit of searching of the chat and was hoping for a pinned 'RTFM' for this but failed to find anything obvious so now I'm being lazy :) sorry!)
- snarfed
- wd18:34terrific, is there a channel/mechanism to receive updates? (listserv/rss/? or just keep an eye out here?)(edited)
- Chris Lace18:45Hi everyone … are the invite codes working? Because mines don’t
Thank You!(edited) - 18:46Winter (she/her) joined the room
- 19:06Agusti joined the room
- 19:09virtugrowee joined the room
- virtugrowee19:09hello good night
- 19:10Is there a way to check user pages in the staging.bsky ?
- 19:11i mean without invite code
- virtugrowee19:20i mean just to visualize, to see the interface how is it...(edited)
- 19:20i'm not asking for invite code.
- 19:46Ksix joined the room
- 19:46Matt Moya changed their display name to Ksix
- 19:53bankrose joined the room
- 20:39Jonathan Gamble joined the room
- 20:45bankrose set a profile picture
- 20:48Xe Iaso joined the room
- 20:56Shiddiq Azis joined the room
- Shiddiq Azis20:57really cool
- 21:37ghostbar joined the room
- 21:55ZPerretta joined the room
- 22:02Sherif Abdalla joined the room
- 22:07thebennyboy joined the room
- thebennyboy22:09Hey Guys. New here! I'm a bit of a programmer, but just here to give suggestions. If you want BlueSky to go big, your gonna have to do something different - something BIG.
- 22:11I guess it depends what kind of site you're going for, but, a FB marketplace-type feature would be very sought after.
- 22:50nipperinshorts joined the room
- 22:56nipperinshorts set a profile picture
- nipperinshorts23:27Hey, I'm Nipper and new here. Saw some blog posts about the decision to work in public. Any chance the React Native app is public, or semi-public, and looking for help? Couldn't find much about it in Github or via search.
- 23:33@horiehitoki:matrix.org joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org23:44
In reply to this message
rn the frontend isnt public code but the protocol code, typescript PDS + API is all on github - nipperinshorts23:45
In reply to this message
Thanks! I wasn't sure if it was the case of it wasn't there yet, we're taking help to get there, or if it would ever be public. - moved to @shreyan:beeper.com@shreyanjain:matrix.org23:45I think they plan to, but just havent yet
- lamrongol23:47In this time, about 3000 posts per hour and 50% is English, 20% is Portuguese and 10% is Japanese according to https://github.com/pemistahl/lingua .
Tue, Apr 25, 2023
- Chris Lace
- 00:05Yeah I’ll take an invite, but the ones I have aren’t working 🤔
- snarfed00:25saw enough questions and assumptions about Jack and Bluesky's ownership and structure here that I ended up collecting everything I'd heard so far: https://snarfed.org/bluesky-corporate-ownership-and-structure
- lamrongol00:28Bluesky uses DID, but people who don't know it can't distinguish whether an account is real, so how about displaying accounts that have DID with some kind of mark, and vice versa for accounts that don't have with another mark?
- moved to @shreyan:beeper.com@shreyanjain:matrix.org00:30well every account ("repo") on atproto has to have a DID. it's not really used for verification so much as it actually is your identity on atproto
- lamrongol00:37Sorry, I mean "accounts that don't have DID" is default domain("bsky.social").
- moved to @shreyan:beeper.com@shreyanjain:matrix.org00:38so if I understand you right what you mean is profiles that use a custom domain?
- lamrongol00:41
In reply to this message
Yes, I think it is desirable to display some kinds of mark for accounts that have custom domain. - 00:44
In reply to this message
In addition, I think it is also needed a reminder message of a domain itself is real. - @10allday:matrix.org00:45Message deleted
- moved to @shreyan:beeper.com@shreyanjain:matrix.org00:47
In reply to this message
I dont know if this would actually be helpful because as Paul said on BlueSky earlier, custom domain doesnt necessarily mean authentic. e.g. anyone can just buypfrazee.xyzand then verify that and pretend to be him if we assume some sort of "verification" from that - 00:48and while by "some kind of mark" you may not necessarily mean a "verification" symbol, to most people it will probably look that way.
- wd00:48I would assume that when I can host my domain etc that the simple indicator of a domain-specific account is enough -- it removes any concern about, e.g., "verified" users fromwashingtonpost.comor whatever -- if you're posting from the domain you clearly are authorized.
- Mark Foster SSI: @mfoster.io00:53
Verifiable Credentials would be interesting to add to the mix
- 00:59pizzaknight joined the room
- lamrongol01:01We are developers and have some knowledge, however, common people may not check an account has custom domain. and if an evil person have "washingtnpost.info"('o' is removed and "com" is replaced "info") domain, people may think the account is real because it have "custom domain".
- wd01:05at some point you have to stop meeting the lowest common denominator and just lean into (e.g.) the padlock for https and other common, well-understood iconography. 🤷
- pizzaknight01:06
In reply to this message
These offer a solid solution path around the issue wd has brought yp. Ultimately clients will also have to play their part by signaling/highlighting accounts based on their own registry of identifiers and verifiable credential checks. The onus will be on casual end-users to use the most appropriate/recommended clients(edited) - 01:06高槻みの(Minovski) joined the room
- wd01:07it's also an opportunity for 3P clients to differentiate / add additional trust and certification. nothing about the protocol as I read it precludes high quaity verification / authentication. curation appears to be an "over the top" addon for clients or aggregators, which is good.
- 01:07高槻みの changed their display name to 高槻みの(Minovski)
- 01:08高槻みの(Minovski) set a profile picture
- pizzaknight01:08
In reply to this message
exactly. this will require the creation of client-level standards and conventions. - snarfed
- 01:13高槻みの(Minovski) changed their profile picture
- lamrongol01:17I may not be able to understand conversations because my English or skill level is low, only thing I want to say is a way to prevent identity theft is needed. Bluesky team also prevent impersonation https://staging.bsky.app/profile/bnewbold.bsky.team/post/3ju3rgczmfl2h https://staging.bsky.app/profile/bnewbold.bsky.team/post/3ju3rhsie7322(edited)
- 01:26igz0 joined the room
- pizzaknight01:27About Verifiable Credentials, recommend checking out: https://atalaprism.io
- 02:30Peter Fritz joined the room
- 03:24İlker Çakır joined the room
- 03:54きのこ種類 joined the room
- Kjartan03:58A probably very stupid question, but without asking, I might never know: Why isn't there just another TXT record pointing to the used PLC directory (assuming there will be more than just https://plc.directory in the future)? Or the already existing record could just have the plc directory added (like
did:blablabla;pd:plc.directory
). I'm sure the idea isn't new and that it was simply decided against it - I'm just curious for the reasons - 03:59Tom Atkins joined the room
- 04:01tamakiii joined the room
- 04:02tamakiii set a profile picture
- 04:03Siddhartha Golu joined the room
- 05:28Maza Fard joined the room
- 05:31Maza Fard set a profile picture
- 05:32@toranosora:matrix.org changed their profile picture
- 06:07@vinicius:chat.rios.org.br joined the room
- 06:09@vinicius:chat.rios.org.br left the room
- 06:09@germain:souquet.com left the room
- 06:44@dev_dude:matrix.org joined the room
- 06:57@nobodyu:matrix.org joined the room
- 06:58François Arbour joined the room
- 07:15Aakash Bhadu joined the room
- Aakash Bhadu07:18hey everyone, is there any guide to run own pds for bluesky because i've been waiting for invitation code and didn't get yet.
- Xe Iaso08:07you can't yet
- superirale08:18So what can we do as a developer?
- @planetoryd:matrix.org
- Aakash Bhadu
- @planetoryd:matrix.org
- Aakash Bhadu08:27why? bluesky given an option for that in app
- Xe Iaso
- Aakash Bhadu08:29but as now we have partially running atp. does it not support all those connecting to app things.
- 08:33isfastspeed joined the room
- superirale08:36😂😂😂
- 08:36Phil Buckley joined the room
- George Antoniadis09:02
In reply to this message
You can run a pds, but the uses on that pds will one see each other and their posts.
Your users can use the official bsky app to connect to your pds.
Once federation is done and deployed your pds should also be able to communicate with the bsky and other ones as well.
The pds server is available on the gothub repo.
- Agusti09:04hi
- George Antoniadis09:04There are no guides but with some messing about it should be doable
- Agusti09:04which client do u guys use, tried fluffychat and is really broken, the convo is empty I see the notis on the sidebar lol
- pablo_clueless09:08
In reply to this message
I beg to differ on the matter of authenticity. If left to clients to verify and manage, then there's still room for fakers to gain ground. The onus is on bsky, or other PDS, to issue this icon/mark of authenticity. - 09:15robertvh joined the room
- robertvh
- 09:51Soli joined the room
- Soli09:53Hi everyone, I have been trying to get an invite for a while and thought I might get lucky on here. This is my personal website: https://soliman.life/#/. I have been an early adopter and most social media apps and would love to see what bluesky has to offer. I will probably host on my domain too undersoli.blueonce I get access (If I understand this correctly). Would really appreciate an invite.
- 10:04nemumu joined the room
- Aakash Bhadu
- 10:47@cubixle:matrix.org joined the room
- 11:00waittest joined the room
- 12:13@hiroh:matrix.org joined the room
- 12:14@hiroh:matrix.org left the room
- 12:55Roj joined the room
- Roj12:56Hey there, this PR is ready for review now. Sorry about the the title edit spams. https://github.com/bluesky-social/atproto/pull/894
- 12:57I also have a doubt. Wouldn't using something else other than Express for xrpc-server be more convenient?(edited)
- 12:58For example, Koa. I think it handles asynchronous middlewares much better.(edited)
- pizzaknight13:13
In reply to this message
then what you're asking is for providers to become the root of trust/source of truth, at that point you don't need bluesky or anything else, facebook and twitter do this just fine. it's essentially antithetical to everything being built here
clients utilising a registry or parsing verified credentials from the protocol for the purpose of indicating authenticity is merely an abstraction to streamline general UX.
users won't and don't have to depend on their providers as they can self-certify and verify these same facts at the protocol level independently.
(edited) - snarfed13:31kind of. there's value to both the technical solution of bottom up self certifying and the social solution of trusted authorities verifying identity out of band
- 13:31the canonical example is, say I want to follow Taylor Swift. there are multiple accounts that seem like her, and multiple have self certified (say) their DNS domains, but I don't know which is her real web site. Is ittaylorswift.com?tayswift.com? something else?
- 13:33organizations that verify identities manually can help solve this. bluesky's approach of https://blueskyweb.xyz/blog/4-13-2023-moderation is nice in that there can be multiple to choose from, with different processes etc, ie no single forced authority like facebook or twitter
- 13:33we don't have to choose between technical and social identity verification, we can use both
- pizzaknight13:34exactly so 💯
- snarfed13:49has anyone figured out how to sign repo commits yet? specifically, the
sig
field here: https://atproto.com/specs/atp#repo-data-layout - 13:50if not I can go dumpster dive in the TS code
- whyrusleeping13:53You might find the go code easier to read
- 13:53Lemme get a GitHub link
- 13:54^ gets the bytes to be signed
- 13:55Then the actual signing is done here: https://github.com/whyrusleeping/go-did/blob/master/key.go#L67-L91
- 13:56That code isnt used in prod and is mildly jank though, we only verify signatures on the go side for now
- snarfed13:56whyrusleeping: ah thanks! I found https://github.com/bluesky-social/atproto/blob/main/packages/repo/src/util.ts#L238-L248 and the crypto package too, but wasn't sure if the current sigs are secp256k1 or P-256
- 13:56looking at the go now
- whyrusleeping13:56We support both keytypes
- snarfed13:56ok!
- 13:57and based on the TS, looks like the plaintext is just DAG-CBOR unsigned commit
- whyrusleeping13:58Hashed, but yes
- 13:58We sha256 it before signing
- snarfed13:59interesting that there specifically it's sha256 and not CID
- 13:59no matter
- @10allday:matrix.org14:03Is it possible to contact the root name servers by default, just so the domain is registered?
- @tayyabrazin:matrix.org
- 14:05Begging from you all ! Anyone please
- 14:06Begging from you all ! Anyone please just one invited Code
- 14:07Invited Code please anyone please?
- snarfed14:16whyrusleeping: have you all settled on the supported ciphers? eg Ed25519 seems to be in Go but not TS. should I stick with, say, P-256 for safety?
- @tayyabrazin:matrix.org
- nipperinshorts14:20
In reply to this message
Not gonna happen in here. This is for engineering discussions.
Also, try not to spam repeatedly. - @tayyabrazin:matrix.org
- 14:26kiwy joined the room
- 14:43md-bm joined the room
- 14:47Ugurkan H joined the room
- 15:47fredoric joined the room
- naim15:54Shouldn't the protocol/api also have live updates using server-sent events or websocket? Edit: I'm asking this because I see all opensource web clients are fetching nonstop(edited)
- 15:57wija joined the room
- 16:01arcdigital joined the room
- 16:08pfrazee removed @tayyabrazin:matrix.org: invite code spam
- pfrazee16:08removed
- 16:08pfrazee banned @tayyabrazin:matrix.org: invite code spam
- pfrazee
- 16:14stienman joined the room
- stienman16:38https://atproto.com/guides/overview#speech-reach-and-moderation - seems to imply that indexing services (reach) are probably closed endeavors and there's very little information on what a "good" (in all senses of that word) indexing service should implement, nor any examples, discussion, or code towards that end. Is discussing and defining this relatively important part of the puzzle being left for later, or happening now but not openly, or happening somewhere I just haven't found yet?
- 16:40mrkishi joined the room
- Aaron Goldman17:08
In reply to this message
This may end up split. With a server push informing your client that a repo they follow has a new head. Then the client can fetch at it's convenience. - 17:10sakana9590 joined the room
- snarfed18:06
In reply to this message
apart from moderation tools, https://blueskyweb.xyz/blog/4-13-2023-moderation , other work around global indexing services seems left for later so far - 18:08search on the current official PDS is using Elastic afaik, but I'd guess more as a one-off so far, maybe not deeply integrated with the future "big world" indexing plans(edited)
- 18:37ichi moku joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org18:39
In reply to this message
LinkedIn recently added this, using Verifiable Credentials, surprisingly enough. - snarfed18:41true! that's a good example of combining both. eg the email domain verification with Entra is technical, CLEAR is more social
- 18:42codynhat joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org18:43Yeah. I think it might work for BlueSky because from what I understand I think Verifiable Credentials and DIDs are related
- snarfed18:44could happen at multiple levels too. eg a third party could generate a "verified" label that's propagated with their composable moderation, entirely separate from DIDs
- moved to @shreyan:beeper.com@shreyanjain:matrix.org18:45for sure! organizations verifying others' affiliation with them is my favorite solution so far
- 19:12Logandev_ joined the room
- 19:19Mert (@sataniat:matrix.org) joined the room
- 19:21Mert (@sataniat:matrix.org) set a profile picture
- Aaron Goldman
- 19:30Trevor joined the room
- 19:52Yoav Caspi joined the room
- 20:09MOUSAsan joined the room
- 20:24@tareqanati:matrix.org joined the room
- 20:25@tareqanati:matrix.org left the room
- 20:28seasonHxy joined the room
- 21:12James B-T joined the room
- 21:20yoavca changed their display name to Yoav Caspi
- mikuhl23:07Ready to start implementing zaps when you guys allow creating records in unknown collections. https://cdn.discordapp.com/attachments/1100630242852352031/1100630411870216274/image.png
- moved to @shreyan:beeper.com@shreyanjain:matrix.org23:13cool, i wanna see how you implement that
- 23:38jamwal joined the room
Wed, Apr 26, 2023
- 00:05@enomoto_r02:matrix.org joined the room
- 00:16Soli set a profile picture
- 00:19Justin B. Watson joined the room
- 00:21Justin B. Watson set a profile picture
- 00:40@enomoto_r02:matrix.org left the room
- George Antoniadis02:24
In reply to this message
Would they be a different collection/repo/whatever or just additional attributes on posts? - 02:34@vagabond0312:matrix.org left the room
- 03:10ifeeltiredboss joined the room
- ifeeltiredboss
- 03:16this is how decentralization will work on atproto/bsky? XDz(edited)
- jesopo03:20you dont understand how rooms work
- ifeeltiredboss03:21I know.
- jesopo03:21rooms exist on every server that participates in the room. no one server has control over the event graph
- ifeeltiredboss03:21You dont understand how servers work
- jesopo03:21this room isnt "on"matrix.org; the room's alias is
- ifeeltiredboss03:21lulz.matrix.orggoes down and the room is gone as well
- jesopo03:21no
- 03:21that's not how it works
- 03:24that's how xmpp works, that's not how matrix works
- @neilalexander:matrix.org03:27
In reply to this message
No, the alias to the room might be onmatrix.orgbut the room will continue to exist on all other participating servers - jesopo03:27aliases can also change
- ifeeltiredboss
- 03:28decentralization?
- @neilalexander:matrix.org03:28You can lead a horse to water, etc
- jesopo
- ifeeltiredboss03:29I am not a company founded by a multimilionaire XD(edited)
- 03:36naz joined the room
- naz03:40Hey-hey Bluesky people! 👋 I was looking for invites but found the dev chat, which is even a bigger win 😂
- panji.bsky.social03:59
In reply to this message
This is a developer room, please don't ask for invite codes here. You can personally DM @whyrusleeping on twitter. - 03:59edouard joined the room
- naz04:01no worries. not asking for anything :) I'm an OSS contributor myself - https://github.com/naz
- George Antoniadis
- 04:14naz set a profile picture
- panji.bsky.social
- 04:35what happened?
- 05:15しゃち joined the room
- 05:21mars_awas joined the room
- 05:28Tommi joined the room
- @planetoryd:matrix.org
- 06:27rickymw joined the room
- 08:20Deceptio left the room
- 08:20Deceptio joined the room
- 08:28Sam "Therapy" Bulon changed their display name to Nobody
- 08:30beedee joined the room
- 08:40justenwalker joined the room
- 08:49soshiharami joined the room
- mikuhl09:01
In reply to this message
They said that adding fields to schemas that aren't yours is frowned upon, so I would use new schemas / collections - 09:02So the server would not know it's format, but it shouldn't stop it from being able to be added and removed from
- 09:02And probably the query could fall back to just filtering by any records with any matching query parameters
- 09:06Or perhaps there should be like a com.atproto.repo.filterRecords so you can do that in all collections
- 09:10Pedro Renato Mello joined the room
- Aaron Goldman09:17
In reply to this message
Some times I want to point people back to old-school SQL many-to-many relationships. You can link to tables you don't have permission to add collums to by making a table that foreign keys off to both of them. If you want to add a field to a lexicon you don't own Make one you do own and reference the other record - 09:18Foreign key joins were/are a very powerful distraction
- 09:18Abstraction
- @10allday:matrix.org09:19Is it possible to get ICANN and IETF (Internet Corporation for Assigned Names and Numbers, and Internet Engineering Task Force) to grant Bluesky an unrevokeable ipv4 and ipv6 addess?(edited)
- @10allday:matrix.org09:25
In reply to this message
This would ensure that everything is truly decentralized and cannot be taken away without approval from IETF. - 09:28
In reply to this message
Because you only need one unrevokeable ip address to then send incoming traffic to another ip address run by other users. (The IPs used by users would be the only revokeable ones used.)In reply to1@10allday:matrix.org
This would ensure that everything is truly decentralized and cannot be taken away without approval from IETF.(edited) - Justyn Temme09:36Can someone drop the repo url I would love to look at contributing to Bluesky 🫶
- @10allday:matrix.org09:39
In reply to this message
Who is the CEO of Bluesky, PBLLC. Are they able to respond to these messages as they are in charge of the organization? - mikuhl09:43Jay apparently is CEO she said in a weird post about Jack lol
- 10:32paobl joined the room
- 11:03jun kubotamai joined the room
- @10allday:matrix.org11:08Let's say ipv4 33.87.150.174 is permanently unrevokeablly mandated by IETF to be used to let people connect and receive a list of all servers running atproto, these servers would be connected to the root zone of atproto. (If it were to exist) This is what would further decentralization as the ip address would always be used to let clients search for servers.
- @neilalexander:matrix.org11:10
In reply to this message
And absolutely nothing would stop any network or ISP from directing traffic to that IP to something they control instead, so it is still a very bad discovery mechanism - @10allday:matrix.org
- @planetoryd:matrix.org
- 11:19stypr joined the room
- @10allday:matrix.org11:21
In reply to this message
This is the only option that can be put in a configuration file and still have it work forever as long as ICANN and IETF honner standards. - @neilalexander:matrix.org11:22It isn't any better and it's possibly worse than just using normal DNS Service Discovery
- @planetoryd:matrix.org
- @10allday:matrix.org11:25Message deleted
- 11:27stypr changed their profile picture
- @10allday:matrix.org11:28
In reply to this message
The only option in that case would be using radio communication for peer discovery. - @planetoryd:matrix.org
- 11:37Anselm Schumacher (@dm:spree.monster) joined the room
- Kjartan12:04I'm not sure about this: Are the records ofplc.directoryto be trusted? Or would a client, pds server, etc, still have to verify the information of the directory?
- 12:07Because: if the information is supposed to be reliable, it seems to me, that it is not (yet); and if it's not supposed to be reliable and needs verification, then I'm not sure if I understand the point of the plc directory, as the information could be probably gathered at the same spot where it would get verified - or am I missing something?
- Aaron Goldman12:13plc.directoryis being trusted to provide ordering. Imagine you have a did:plc and have added the two keys. One is in your laptop's TPM the other is in your phone's TPM. They each attempt to revoke the others key. Who's update is successful in revoking the other and who's is rejected. One of the updates needs to be first and one second. This ordering is the value ofplc.directoryas an append only log.
- 12:15
In reply to this message
The server is not trusted with updates to DID Documents just with ordering the updates. - 12:16Including special cases of order like rejecting your update which is equivalent to ordering your update at the end of time.
- Kjartan12:17Okay, thanks 👍️
- @10allday:matrix.org
- 12:20An attacker could reject all updates?
- @10allday:matrix.org12:25ICANN needs to make this domain always renew every 10 years automatically for free, because Bluesky probably won't be around in 100 years.
- 12:30ICANN needs to make this domain always renew every 10 years automatically for free, because Bluesky probably won't be around in 100 years. (The team behind .directory must also ensure that the domain does not expire.)
- snarfed12:30nothing's written in stone. auto renewing DNS domains depends on registrars, IP addresses depend on IANA and BGP from tier 1 carriers, private keys depend on memorizing passwords or otherwise keeping them safe, without any recourse if you forget them. protocols depend on standards bodies, implementors, organizations that all have governance in some form.(edited)
- 12:30removing all dependencies and being 100% independent is arguably both impossible and undesirable. your devices will still need electricity, networks, hardware, etc. you're unlikely to make all of those yourself from scratch. and so on.(edited)
- 12:31the best and maybe most famous description of this is Loop Etiquette: I thought using loops was cheating, so I programmed my own using samples. I then thought using samples was cheating, so I recorded real drums. I then thought that programming it was cheating, so I learned to play drums for real. I then thought using bought drums was cheating, so I learned to make my own. I then thought using premade skins was cheating, so I killed a goat and skinned it. I then thought that that was cheating too, so I grew my own goat from a baby goat. I also think that is cheating, but I'm not sure where to go from here. I haven't made any music lately, what with the goat farming and all. https://www.mnml.nl/phpBB3/viewtopic.php?f=17&t=62658&hilit=goat&start=16(edited)
- @10allday:matrix.org12:39
In reply to this message
The internet engineering task force sets things into stone, can't the v1 standards of atproto be submitted as international standards? - snarfed12:40sure, but that doesn't set IP addresses in stone. BGP hijacking, traffic shaping, state firewalls etc exist
- @10allday:matrix.org
- Aaron Goldman12:41
In reply to this message
I would hope the immutable legger moves to something more decentralized before 100 years.
Yeah now the legger is
plc.directorybut in the long run it is whatever the PDSs decide to trust. - elmustachio12:42I'm seeing a lot of questions here I answered in this feature about Bluesky: https://www.forbes.com/sites/digital-assets/2023/04/25/twitter-hatchling-bluesky-emerges-from-its-shell/?sh=ffbece5c21a7 Hopefully it's helpful!
- snarfed12:42embrace evolution, flow like water, that's more likely to keep things alive than trying to harden them into bunkers. ASCII text and HTML documents will survive for a long time, but only because we keep copying onto new hard drives, LOCKSS style, not because we back them up on tape and put that in a vault underground(edited)
- 12:42I wish you luck getting China to obey that requirement if they don't want to
- 12:42yes! great example. change is the only constant
- @10allday:matrix.org12:45
In reply to this message
Can you explain here as Forbes requires a subscription to view articles? - Kjartan12:47If your browser has such a reader mode - you can just enable it and read the article, it seems
- snarfed12:48(also, those things happen despite requirements of various kinds. even laws get broken and bent, countries have sovereignty, etc)
- 12:49elmustachio++ awesome thanks! also https://snarfed.org/bluesky-corporate-ownership-and-structure
- 12:59behnam changed their profile picture
- @10allday:matrix.org13:00Can Google register on Bluesky using the .google tld?
- Kjartan13:02I would guess so. IF they have an invite code, ofc(edited)
- 13:04Kjartan set a profile picture
- Kjartan14:01As some of you might work on some web clients - it would be nice if there was also a client working on Mojave's Safari 😞
- 14:05salmoon joined the room
- 14:22bangerrang joined the room
- bangerrang14:35Sorry, but where do i go for general disscussion and questions about blusky?
- snarfed14:36bluesky if you're on it, twitter if you're not? 🤷
- bangerrang14:36mhm can i have a invite pls 🙏
- George Antoniadis14:37Pretty sure there is/was a general bsky channel on matrix at some point
- snarfed
- bangerrang14:39thankyou if thats it 😮
- Aaron Goldman
- Kjartan15:35Are there any news on federation? (I'm not on bsky, so I wouldnt know if anything was discussed there)
- wd15:36"next week ish" apparently
- Kjartan
- bangerrang
- Kjartan15:41I know that the official clients aren't open source - but is there anyway some place to file bugs? Or is there only the support form? (which is itself a bug, because I can't reach it on the iPhone)
- 16:02isitaboat joined the room
- Kjartan17:10Let's say a pds registers a did with a handle, and then a different pds wants to change a handle to the already registered handle - is it possible that this is currently not possible? If so - shouldn't this be changed? Pds servers might disappear or domains' owners might change
- snarfed17:12you'd use the recovery key to change your DID doc: https://atproto.com/guides/overview#account-portability
- Kjartan17:13What if the handle was registered by someone else?
- 17:14Likegates.microsoft.com🤭
- snarfed17:16I think the DNS-based domain handle verification in the current app isn't actually part of the protocol, at least not as documented so far. did:web DIDs are, somewhat, but they're not using those (yet)(edited)
- Aaron Goldman17:18
In reply to this message
Think of it as mutual auth.
If I have the DID in the DNS text record I have half a binding.
If I have the domain name in the DID Document I have half a binding.
If I have both then I have bound a DID to a DNS name. - Kjartan17:19I have registeredgates.microsoft.comwith theplc.directory. I have neither control over the dns, nor the pds it was officially registered with.
- Aaron Goldman17:19To bind a name you must collaborate between the domain controller and the DID controller
- snarfed17:19amusingly they were loose with that ^ at the beginning, so people added DNS records with other people's DIDs and they were able to mention them with those domains. team considered it a bug
- Kjartan17:21
In reply to this message
But if that means that Mr Gates cant getgates.microsoft.comthis would be bad.
But yeah, another case, even if everything gets checked properly, is that I can get a domain which was already used on a plc. The handle shouldn't stay any longer in the control of the old did holder - 17:22Also just for the record: this happened today, so was done quite recently and probably needs further fixing
- snarfed17:25^ you registeringgates.microsoft.comdoesn't necessarily prevent him from using it. its DNS TXT record doesn't point to your DID, so no complete binding has happened
- 17:25anyway, they're actively working through all this, eg the issue above, https://github.com/bluesky-social/atproto/issues/837 , etc
- Kjartan17:25
In reply to this message
But as far as I see it, this prevents now any other did from changing to this handle on the plc - snarfed17:26why do you think that?
- Aaron Goldman17:26My preference would be to treat a one sided domain assertion as a tag. The "real" repo for the handle should be the first result but a failed assertion should show up lower down on the search results just as if you had that string in your profile
- Kjartan17:26Because I get now an error from the plc if I try to use an already used handle (the pds is fine with it though)
- 17:27I mean the pds is fine with it, except that it complains that the plc returns a 400
- snarfed17:27ah ok. 🤷 could just be a bug. it's very early, moving fast, not set in stone
- Kjartan
- Aaron Goldman17:29🤔 should the directory reject half bound DID Document deltas? Not immediately clear.
- 17:29Certainly it shouldn't change the history
- Kjartan17:30
In reply to this message
I would say accept it. But release it when someone else tries to "claim" it legitimately - Aaron Goldman17:30My instinct is to have the PDSs do the verification rather than the directory. That gives the PDSs the freedom to play games like .ETH domains.
- snarfed17:31right. two different things, PLC registry log history vs PDS logic
- Kjartan17:31Probably remove the handle completely from the earlier one (as it wouldn't hold it any longer anyway, as soon as the new one has a legit claim on it - as there cant be two txt records)
- snarfed17:31there can be two TXT records 😀 https://github.com/bluesky-social/atproto/issues/837
- Kjartan17:31Pds, could probably stick with it, as it might not be aware of it anyway
- snarfed17:32the internet is the wild west
- 17:32separate problem though
- Kjartan17:33As we spoke about the recovery key earlier: where does one find it in the staging web client? I hope it's there 😮
- Kjartan17:35I hoped this issue would be just GUI related. But can't find it in the stored data either. So probably wasn't meant just GUI related :/
- 17:36Oh well, there goes my handle. I guess I will just stick with gates... then
- 17:59Jesse Dorsey joined the room
- Aaron Goldman18:00You miss the biggest advantage over mastodon if you don't have your recovery key. That said I think some users want to have a recovery key but let the PDS also have one in case they lose it
- 18:01Or put the recovery key in some password manager
- naim18:11Wouldn't the ability to read the recovery key from the PDS defeat it's purpose?
- snarfed18:12if the PDS stored it in plain text, arguably yes
- 18:24Ycaro Gabriel joined the room
- 18:41hasslehoff joined the room
- 21:12Mingina joined the room
- 21:27omi joined the room
- 22:26@willian:willian.wang left the room
- 22:40kusurix joined the room
- 22:47nouo joined the room
- mikuhl22:50I was having trouble parsing the timeline json this morning because the union key "$type" was null on something, and now I change absolutely no code many hours later and it runs perfectly ._.
- 22:57Wes joined the room
- Wes22:58Wow... I swear I'm not a bot y'all
- 22:58Let me change my username...
- 22:58fy2xwx7wyw changed their display name to Wes
- Wes22:59There we go...
- 23:00I initially joined this platform seeking to achieve a code, but honestly I'm glad I ended up here... I really want to follow the BTS of this crazy project
- mikuhl
- 23:23this EmbedView just has "record" key and no "$type"
- 23:24its embedding a post fromillumi.bsky.social
- 23:26this is the offending post
- 23:28Oh false alarm, my parsing was trying to parse a RecordView and not a Record :P
- 23:31Oh wait no. I am right
- 23:33yeah something seems wrong with this double record
- 23:34because the first record should be a union of "#viewRecord" and "#viewNotFound"
- 23:37Ehh no, that is right according to the schema, but just a bit redundant.
- 23:37Anyways thanks for coming to my TED talk. lol
- 23:39recordWithMedia#view basically does not match the other 3 embed views, they are one level deep and recordWithMedia#view is two levels deep.
- snarfed23:41I definitely feel your pain 😀
- mikuhl
- 23:45ugly name :(
- mikuhl23:51Sounding like a broken record. :P
Thu, Apr 27, 2023
- 00:01joshlacal joined the room
- 00:27Nicholas Molnar joined the room
- 01:08ephemeral joined the room
- 01:17@hkobayashi:matrix.org joined the room
- 01:19@hkobayashi:matrix.org left the room
- 01:47Sangam 🐼 joined the room
- 02:00@toshiw:matrix.org joined the room
- 02:04Duo joined the room
- 02:17@ogawa0071:matrix.org joined the room
- 02:19bignutty joined the room
- Roj02:26Hey, I have a question. Authorization is currently managed by JWT tokens, right?
- 02:26What if in the future ATProto had a feature to revoke other sessions from a session, what would happen to those JWT?
- 03:20@sarangbaloch:matrix.org joined the room
- @sarangbaloch:matrix.org03:21how can i join blueksy? i need a invite code
- 03:32@ogawa0071:matrix.org left the room
- Peter Fritz04:22
In reply to this message
Hi, you probably don't need an invite nor access to Bluesky right now. Soon everyone will be able to join without an invite.
Furthermore, this channel is intended for developers interested in the AT Protocol and Bluesky, so it's not the best place to ask for invites. - 04:40@valentin:keks.club joined the room
- 04:50@valentin:keks.club left the room
- 05:36theshawe joined the room
- syui06:28Do you know how to do app.bsky.graph.follow.delete?
- 06:51@atika12939:matrix.org joined the room
- syui06:30unfollow from app.bsky.graph.follow
- 07:41Nobody changed their display name to Sam
- 07:530528 Omega joined the room
- 0528 Omega07:55i want blue sky invitation code
- 08:24Brent Anderson joined the room
- 09:21Matt Drollette joined the room
- syui08:39ok deleteRecord
- 09:36@r_ob:matrix.org joined the room
- @r_ob:matrix.org09:37Same I'm awaiting for an invite to contribute to the protocol otherwise I'll stay with Activity Pub.
- 09:43atomdmac joined the room
- atomdmac09:43Hi everyone - can anyone tell me where I can find out more about how Bluesky is funded right now?
- @r_ob:matrix.org09:44I'll try to scrap the web for a code before giving up.
- Kjartan
- snarfed
- @r_ob:matrix.org09:45It's gonna turn in another https://damus.io/ I guess.
- damon/
- atomdmac09:46
In reply to this message
Based on this, it sounds like they received initial funding from Twitter but it's not clear to me how they currently keep the lights on. - @r_ob:matrix.org09:47Jack Dorsey apparently.
- snarfed09:47it's only been a few years, it's a small team, $13M is a lot
- 09:47they have eventual revenue ideas but not a focus yet
- damon/09:47Jack Dorsey is 1/3 board members.
- atomdmac09:47It sounds like the answer is possibly "we don't know"
- snarfed09:48they currently keep the lights on with the initial grant. we're pretty sure they've done no other fundraising, definitely none that resulted in cap table or board changes
- atomdmac09:48Gotcha 👍️
- 09:51I'm currently a Mastodon proponent but I'd like to understand why this model is better, especially with regard to eventual capture by say, for example, a billionaire with grand ambitions and a habit of making quick, sweeping and possibly uninformed decisions.
- @r_ob:matrix.org
- 09:52AWS...
- 09:52Seems pretty centralized to me.
- snarfed09:52hosting is separate from federation model
- damon/09:52He’s not the CEO. Also there’s benefits to their protocol over ActivityPub
- 09:53Mastodon is a good tool but there’s others out there that offer more than Mastodon they just aren’t as user friendly
- snarfed09:54
atomdmac: "
jack doesn’t have unilateral power. he has 1/3 influence on the board. i’m the CEO...i have the most control over this endeavor, and i’m grateful for everyone who’s trusted me with it." https://blue.amazingca.dev/?username=jay.bsky.team&postid=3ju6gsfeyda2j
- 09:55re how ATP differs from AP, a couple notable ones: 1) true account portability, even if your server goes offline or malicious. 2) support for centralized indexing, moderation, and feed algorithms by third parties. more: https://atproto.com/guides/overview
- atomdmac09:56
In reply to this message
To be clear, I'm not blaming Jack for anything here :) I'm just saying that the centralized nature of the hosting makes me wonder if a "take-over" could happen again. - snarfed09:56("centralized" isn't the best word there ^, more like "universal," which the fediverse currently strongly resists)
- atomdmac09:56this is very likely my own ignorance talking haha. I'm looking to learn
- @r_ob:matrix.org09:56Being the CEO of a "decentralized" protocol.
- snarfed09:56AWS ("centralized") hosting is not a meaningful part of the federation design
- Brad Brown
- snarfed09:57
In reply to this message
https://blue.amazingca.dev/?username=snarfed.org&postid=3ju7hcjsana2o (click on "More replies") - atomdmac09:58
In reply to this message
Ah OK - so right now Bluesky is the only "instance" (to borrow a federation term) but others will be able to spin up instances later? - snarfed09:59right. more on https://atproto.com/guides/overview
- Brad Brown09:59yeah, they're working to support federation (I think soon-ish) to the point that technically-minded individuals could pretty easily host their own instances
- snarfed09:59(I'm in the middle of building one myself)
- @r_ob:matrix.org09:59
In reply to this message
Thanks but you're just making me even more bullish to try this out. I'm coming from AP where I have an instance where I heard about AT. - snarfed10:00
In reply to this message
I felt the same! I've implemented AP too, https://fed.brid.gy/ , I like both. fediverse can be big tent - 10:01anil dash has advocated for "big tent" (ie multi protocol) fediverse for a long time, eg https://blue.amazingca.dev/?username=anildash.com&postid=3juea365ir72c
- damon/10:01That would be ideal
- atomdmac10:02I feel like the difference between what BS is trying to do and "federation" still isn't very clear to me... sounds like I need to do some more reading.
- damon/10:02Which part is confusing?
- atomdmac10:02I mean, they sound like they're the same thing
- 10:03You talk to an instance, instances talk to each other
- 10:03but there is obviously a difference I'm missing
- damon/10:03The experience is largely the same. They are more alike than not. But there are important differences
- Brad Brown10:04yeah, this is more "Ford vs Dodge" than "boat vs plane" of a comparison
- damon/10:04Exactly
- atomdmac10:05If that's the case, why choose BS over Mastodon?
- damon/10:05re how ATP differs from AP, a couple notable ones: 1) true account portability, even if your server goes offline or malicious. 2) support for centralized indexing, moderation, and feed algorithms by third parties. more: https://atproto.com/guides/overview
- 10:05See point 1 & point 2
- Brad Brown10:06I think the biggest take-home from an end-user perspective is that in ActivityPub, you can migrate to a new server but your old content doesn't move with you. In ATProto, you can move your content and account/follows/etc between servers.
- snarfed10:07^ yup, and also, your identity changes. you go from user@domain1 to user@domain2, and there's a funny redirect at user@domain1, but it's hacky, and only if domain1 stays up
- 10:07in ATP, your identity stays the same
- Kjartan10:07
In reply to this message
In my case: I absolutely hate a few design decisions of mastodon (one example: the finger'ing instead of using dns records, like other protocols do). So I'm happy if there will be an alternative which fits more to my liking - atomdmac10:08That's very nice to hear - I did an account migration recently and it wasn't hard but it did leave a lot to be desired
- 10:08namely, my content doesn't follow me
- snarfed10:09it actually can if you export and import, but that's Mastodon-specific, and also a bit awkward
- damon/10:09There’s also custom algorithms which are selectable
- 10:09On top of using DNS as a potential verification method
- atomdmac
- snarfed10:11interestingly, as far as it's documented right now, the protocol is DID-based. allows for did:web, which is an alternate way to prove you own a domain/site, but the DNS thing is outside ATP
- Kjartan10:11I also like that there is no need to use port 443 for your server (443 might be reserved for something "more important" on many hosts)
- atomdmac10:15Another question I've had bouncing around in my head is, "is this different from nostr?"
- 10:15My initial hunch was that BS is an implementation of nostr
- 10:16or something to that affect
- damon/10:16Very different
- atomdmac10:16(also, thank you all for entertaining so many questions :P )
- 10:18agentofuser joined the room
- Aaron Goldman10:20
In reply to this message
Nostr has individual notes as it's core objects where atproto has repositories. The relays are not tied to any particular publisher in the way that the PDS is expected to have all the content a DID published.
I generally think about the difference as a best effort distribution vs a completeness distribution.
- atomdmac
- snarfed10:22Aaron Goldman someday I need to talk you into this as a side project 😀 https://github.com/snarfed/bridgy-fed/issues/446
- 10:29Rémi Baudchon joined the room
- Aaron Goldman10:38
In reply to this message
Should this page include?
"
Company Name: BLUESKY, PBLLC,
File Number: 6282898,
Filing State: Delaware (DE),
Filing Date: October 4, 2021
" - @r_ob:matrix.org10:40intext:"bsky-social-"
- Aaron Goldman
- Kjartan10:55If one created an account via one of the official clients (staging.bsky.appor the apps for iOS or Android) - is there a chance to still get the recoveryKey or is this opportunity just lost forever?
- snarfed11:00
In reply to this message
hah, maybe? I'm not really trying to reproduce DE Secretary of State or D&B records, but you're welcome to add it in a comment! - snarfed11:20
In reply to this message
probably in the future. https://github.com/bluesky-social/atproto/issues/884 - 11:21Kinsay - joined the room
- Kjartan11:21Oh, so the pds still has it?
- 11:21loudermachine joined the room
- Kjartan11:22Or did you mean "in the future" as in - "for accounts which get created in the future"?
- snarfed11:25hopefully the clients have them, not necessarily the PDS, and we'll get access to them in the future. hopefully
- 11:33nchntmnt joined the room
- 11:43..-_-.. joined the room
- @r_ob:matrix.org12:59been coding a whole script to generate invite codes using python + selenium but I give up lol
- 12:59I'll have to wait I guess.
- @r_ob:matrix.org13:00Message deleted
- @r_ob:matrix.org13:01Sorry.
- 13:03It's a shame cause I could have invested this time into AT instead of trying to brute force the front page...(edited)
- 13:04Bastian joined the room
- @r_ob:matrix.org13:06
from
selenium.webdriver.common.byimport By
fromselenium.webdriver.support.ui import WebDriverWait
fromselenium.webdriver.supportimport expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
import random
import stringdef generate_code():
return ''.join(random.choices(string.ascii_lowercase + string.digits, k=7))driver =
webdriver.Chrome()driver.get("https://staging.bsky.app")
time.sleep(3)wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.XPATH, "//div[@data-testid='createAccountButton']")))create_account_button = driver.find_element(By.XPATH, "//div[@data-testid='createAccountButton']")
create_account_button.click()
time.sleep(3)bluesky = driver.find_element(By.XPATH, "//div[contains(text(),'Bluesky')]")
bluesky.click()
time.sleep(3)next_button = driver.find_element(By.XPATH, '//div[@data-testid="nextBtn"]')
next_button.click()
time.sleep(3)invite_code_input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "input[data-testid='inviteCodeInput']")))
email_input = driver.find_element(By.CSS_SELECTOR, "[data-testid='emailInput']")
password_input = driver.find_element(By.CSS_SELECTOR, "[data-testid='passwordInput']")
legal_check = driver.find_element(By.CSS_SELECTOR, ".css-175oi2r")
next_button = driver.find_element(By.XPATH, "//div[contains(text(),'Next') and contains(@class, 'css-1rynq56')]")next_
button.click()
time.sleep(3)wait.until(EC.presence_of_element_located((By.XPATH, "//input[@data-testid='phoneNumberInput']")))
while True:
invite_code = "bsky-social-" + generate_code()
ActionChains(driver).move_to_element(invite_code_input).click().perform()1234567891011121314151617181920212223242526272829303132
invite_code_input.send_keys(invite_code) email_input = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "[data-testid='emailInput']"))) email_input.send_keys("exemple@domain.com") password_input = driver.find_element(By.CSS_SELECTOR, "[data-testid='passwordInput']") password_input.send_keys("password") legal_check.click() time.sleep(3) next_button.click() time.sleep(3) try: wait.until(EC.presence_of_element_located((By.XPATH, "//div[@data-testid='someElementOnNextPage']"))) next_button = driver.find_element(By.XPATH, "//div[contains(text(),'Next') and contains(@class, 'css-1rynq56')]") next_button.click() time.sleep(1) except: pass error_messages = driver.find_elements(By.XPATH, "//div[contains(text(),'Invite code not accepted.')]") if not error_messages: print("Invite code accepted:", invite_code) break invite_code_input.clear() email_input.clear() password_input.clear() legal_check.click() time.sleep(1)
- 13:06The code formatting sucks on matrix.
- Bastian13:10https://atproto.com/lexicons/com-atproto-session is a 404, can I read the docs somewhere else?
- @r_ob:matrix.org
- Bastian13:11oh yeah good idea thanks!
- @r_ob:matrix.org13:12:)
- 13:25@hiire:matrix.org joined the room
- 13:27mmarzex joined the room
- 13:30nocha1n joined the room
- 14:02neall joined the room
- snarfed
- 14:32stashxyz joined the room
- 14:33@dead10ck:dead10ck.com joined the room
- @10allday:matrix.org14:35Does atprotocol allow Decentralized Autonomous Organizations to interact with smart contracts that can manage bot accounts?
- 14:36DAOs are the future of organizations.
- @10allday:matrix.org14:48Could DAOs be built on atprotocol, instead of blockchains?
- 14:49lukebouch joined the room
- @10allday:matrix.org14:51
In reply to this message
If it's possible it should be part of version two of atprotocol, along with virtual items as those are the future. - damon/14:53You could just create your own protocol
- @10allday:matrix.org
- damon/
- @10allday:matrix.org
- Bastian14:59resistance is futile
- 15:04fred blauer joined the room
- @10allday:matrix.org15:07We need a decentralized "everything *app*".
- 15:10It should be so good, nobody would want to switch to another platform. 🙏(edited)
- nocha1n15:16i feel like this is verging on being off-topic, but the point as i see it is to have a great underlying social protocol and then let people build whatever apps and experiences they want on top of it. an "everything app" sounds extremely vague and... pointless? though i suppose atp's lexicons and such will enable better data interoperability and maybe embedding more things into social feeds?
- 15:17boudinie joined the room
- boudinie15:17hi, is there a web client. thx in advance
- 15:18ok there is https://staging.bsky.app/ this and this https://callmearta.github.io/kite/#/login
- 15:18should have googled first before sk
- @r_ob:matrix.org15:20Can I run your github repo on my own server if you aren't willing to invite people to make them fomo?
- @10allday:matrix.org15:21
In reply to this message
There needs to be a commonly understood programming language known to every client.In reply tonocha1n
i feel like this is verging on being off-topic, but the point as i see it is to have a great underlying social protocol and then let people build whatever apps and experiences they want on top of it. an "everything app" sounds extremely vague and... pointless? though i suppose atp's lexicons and such will enable better data interoperability and maybe embedding more things into social feeds?(edited) - nocha1n15:25
In reply to this message
it seems undesirable that every client for every application should be able to parse a custom scripting language or whatever you're trying to propose... considering both bloat, complexity, and security. if you want to make an app that, say, runs WASM published by people then i suppose you could create one like that. - 15:25i mean i'm just spitballing here as someone not involved, but i don't see what you actually concretely want to do other than buzzwords...
- @r_ob:matrix.org15:27Aaron Goldman: what kind of mushroom is this on your head dude?
- @10allday:matrix.org15:27
In reply to this message
Lexicons provided by ATP won't do every use case wanted by a developer, that every client can be sent and seemlessly have it just work, without having a custom client made just to read whatever a developer sent.In reply tonocha1n
it seems undesirable that every client for every application should be able to parse a custom scripting language or whatever you're trying to propose... considering both bloat, complexity, and security. if you want to make an app that, say, runs WASM published by people then i suppose you could create one like that.(edited) - @r_ob:matrix.org15:29Anyway, good luck guys with your Activity Pub fork.
- 15:31@r_ob:matrix.org left the room
- @10allday:matrix.org15:31
In reply to this message
It just needs a JavaScript interpreter, so it can function like a web browser.In reply tor@r_ob:matrix.org
Anyway, good luck guys with your Activity Pub fork.(edited) - @dead10ck:dead10ck.com16:01
In reply to this message
Wow. I'm just learning about Bluesky and don't really know enough about it yet to have a solid opinion, but I've seen so much panic over it in the Fediverse it's kind of ridiculous. Do these drive by trolls happen often too? - 16:01Deirdre Connolly joined the room
- 16:03Deirdre Connolly set a profile picture
- @dead10ck:dead10ck.com16:20
In reply to this message
The centralized indexing is I think going to be the big divider. Every time anyone tries to make a Fediverse indexer, people come out of the woodwork in droves to harass them into stopping. Centralized indexing seems to be anathema to many people invested in the Fediverse / AP.
But the thing is, having every node do everything by itself is why AP is not scalable. You need a ridiculous amount of resources to even run a single user node, because it's basically useless without using a relay, and relays are just insanely inefficient, copying all data to every single node that subscribes. Relays go offline all the time simply because someone defederated.
I get the concerns of consent absolutely, and it's really honestly unsurprising that people get upset by randos building an indexer without talking to anyone in the very privacy centric community about it, but at the same time, it's simply not scalable without centralizing and distributing some responsibilities.
I suspect in the end, AP will still thrive, but will, by choice and architectural necessity, stay more focused on smaller and more insular communities
- @10allday:matrix.org16:24
In reply to this message
Bluesky shouldn't cater to privacy activists conserns about indexing or other things. There won't be any useful features.In reply tod@dead10ck:dead10ck.comThe centralized indexing is I think going to be the big divider. Every time anyone tries to make a Fediverse indexer, people come out of the woodwork in droves to harass them into stopping. Centralized indexing seems to be anathema to many people invested in the Fediverse / AP.
But the thing is, having every node do everything by itself is why AP is not scalable. You need a ridiculous amount of resources to even run a single user node, because it's basically useless without using a relay, and relays are just insanely inefficient, copying all data to every single node that subscribes. Relays go offline all the time simply because someone defederated.
I get the concerns of consent absolutely, and it's really honestly unsurprising that people get upset by randos building an indexer without talking to anyone in the very privacy centric community about it, but at the same time, it's simply not scalable without centralizing and distributing some responsibilities.
I suspect in the end, AP will still thrive, but will, by choice and architectural necessity, stay more focused on smaller and more insular communities
(edited) - damon/16:27
In reply to this message
This is a flaw within the culture. I primarily see this amongst Mastodon users. So I can’t label it a fediverse problem. The gatekeeping is counterintuitive. It’s disappointing as it has a negative impact on those that want most of the benefits with Mastodon but would prefer efficiency and a slightly more tailored and informative experience. At some point it will have to adjust or just be home to purists - @10allday:matrix.org16:29
In reply to this message
Bluesky should have the algorithm of Twitter, people who do not like usefulness can stay in the fediverse.In reply to@damon
This is a flaw within the culture. I primarily see this amongst Mastodon users. So I can’t label it a fediverse problem. The gatekeeping is counterintuitive. It’s disappointing as it has a negative impact on those that want most of the benefits with Mastodon but would prefer efficiency and a slightly more tailored and informative experience. At some point it will have to adjust or just be home to purists(edited) - damon/16:29There are those that have and are working on the indexing but the pushback and outrage is disgusting
- 16:30
In reply to this message
No it should not. Anyone that wants Twitter’s algorithm can simply use Twitter - @10allday:matrix.org16:33
In reply to this message
You can't rely on Twitter because your account is tied to their servers. - @dead10ck:dead10ck.com16:33Well I actually like what little I've read so far about BSky's attitude on this: there's clearly a dissatisfaction around the opaque algorithms chosen by a central authority solely meant to optimize more and more user interaction, outrage, and addiction. Giving users more transparency and choice seems like a good goal to have. I'll be very interested to see how it turns out
- damon/16:34This is the way to go. It gives user control and gives the impact of a “centralised” experience. Users don’t want to have to create hashtags and lists
- 16:37Users should be able to have the choice to either utilise custom algorithms or not. Anyone that wasn’t to utilised lists and hashtags as their sole algorithm then more power to them
- 16:37But others should be able to have a more streamlined experience if they choose to
- @dead10ck:dead10ck.com16:40I'm also very intrigued by the decision to piggyback on DNS for authenticated user name ownership. As someone who has worked with a lot of DNS data in my career, this strikes me as a really smart way to delegate this function to existing internet infrastructure, and enable ownership transfer, without building a whole system for this from scratch(edited)
- @softinio:matrix.org16:40Is there a server issue? On that note does bluesky have a status page
- @10allday:matrix.org16:40
In reply to this message
This and advertisements need to be the default/baked hard into the protocol. - T5
- @10allday:matrix.org16:42So, users get normalcy instead of it felling like a decentralized product, but with the same features as Twitter and the like.
- damon/16:48They are currently making some adjustments
- 16:48A 5-10 min outrage is planned
- @10allday:matrix.org16:48
In reply to this message
Also, there's huge marketing potential behind this. Every billboard, bus, train, website, should promote this with the funds to pay for these promotions from advertisers paying for advertising on the protocol, and having their post promoted.In reply to1@10allday:matrix.org
So, users get normalcy instead of it felling like a decentralized product, but with the same features as Twitter and the like.(edited) - damon/16:49
In reply to this message
Correct. I believe this is the better way to go. But another method has actually been brought to my attention. https://www.kevinmarks.com/distributed-verify.html - 16:51nzheretic joined the room
- Chris Lace16:52App. Is acting up! Glitching
- @dead10ck:dead10ck.com16:55
In reply to this message
Hmm, yeah, this is more like "I'm proving this is me by virtue of confirming access to some other number of big popular sites", whereas DNS's authentication is more centralized, placing all trust in the registrar and that it's very difficult to poison them. There is also dnssec now though. I wonder if they make use of that - snarfed16:58^ rel-me can integrate with big popular sites, but it definitely doesn't depend on them. it's how Mastodon's green checks verifying your profile links work. it's also a core part of https://indieauth.net/
- 16:59vvodenus joined the room
- Aaron Goldman16:59
In reply to this message
Each community has its own context. There are discords I am in that I would be offended if one community member decided to publish all the history. My conference talks I am happy for anyone to share. There is nothing wrong with some places being indexed and others not as long as the norms are agreed upon. - snarfed17:00true. context collapse is real and not pleasant
- Aaron Goldman17:00Bluesky just set out from the beginning with the big world conversation as a goal.
- 17:01AP didn't
- @dead10ck:dead10ck.com17:01
In reply to this message
Well it also generally has less teeth and substance. It still places the onus of verification on the user to visit each verified site and try on their own to research within each site whether this particular one is in fact the same person. Anyone can make a Github account to put a green checkmark on their profile - snarfed17:01yup. same with DNS domains. if I want to follow Taylor Swift, but I don't know her web site, do I follow the Bluesky accounttaylorswift.com? ortayswift.com? or something else entirely?
- 17:02this is the drawback of all technical identify verification, vs social human solutions. pros and cons, both are useful!
- @10allday:matrix.org17:03
In reply to this message
There cannot be any choice in disabling the indexer, otherwise the atprotocol won't function at all? - @dead10ck:dead10ck.com17:03
In reply to this message
Yeah this is why I'm not firmly placing those that are upset by AP indexers popping up without any consent or involvement in the wrong. Within the context of the existing communities, this was majorly frowned upon, and it's usually done by someone that never considered the wishes of the community they decided to mine - snarfed17:04
In reply to this message
there won't be a single indexer, and federation and app functionality won't have to depend on any of them, or can degrade gracefully. https://atproto.com/guides/overview#achieving-scale(edited) - nzheretic17:05So the alternative is to create another global registry service like DNS which actually hand verifies owners & double checks against trademarks & similar named entities?
- Aaron Goldman17:06It is about what is the meaningful handle. If I want Taylor Swift's view on Web Application Security I go to https://twitter.com/SwiftOnSecurity the twitter handle is the name I recognize. For xkcd https://xkcd.com/ is far more meaningful to me then https://twitter.com/xkcd bind to the identifiers that make sence for your audeance.
- @dead10ck:dead10ck.com17:06With that said, I can't firmly side with them either. It is, after all, an open protocol. It was already built from the ground up in such a way that any public posts can end up on any server anywhere. If anything, the way AP is designed to federate, it has even less control over your data than a centralized service like Twitter. It goes to any server that asks for it
- snarfed17:09Aaron Goldman: true! two related but different questions. 1) which of all these accounts is the real Taylor Swift? 2) where is it best to follow Taylor Swift? (depending on what I want to see)
- Aaron Goldman17:11
In reply to this message
oh, you want access control in your distributed content addressed system. Can I recommend a paper?
https://github.com/Peergos/Peergos/blob/master/papers/wuala-cryptree.pdf - 17:12don't get me wrong Peergos is better tech
- @10allday:matrix.org17:14
In reply to this message
Who do the indexers index? Will all indexers pay each other for the privilege of staying updated, like how internet service providers pay to route traffic across two networks? This could potentially be a very good business model for Bluesky as the users are just what get people to use the service, so indexers can get paid for providing updates, while keeping everything free for end-users.In reply tosnarfed
there won't be a single indexer, and federation and app functionality won't have to depend on any of them, or can degrade gracefully. https://atproto.com/guides/overview#achieving-scale(edited) - snarfed17:16
In reply to this message
it's decentralized, so the default answer to questions like these is, "whatever they want," at least if it's not specified by the protocol. and yes, the team has implied that they'd look into running some of these services and generating their own revenue in the future - @10allday:matrix.org17:17
In reply to this message
Hopefully the protocol can include a built-in tracker for the indexers to keep track of who's paying for who. - Aaron Goldman
- @10allday:matrix.org
- Aaron Goldman
- 17:20most PDSs I expect to be funded by charging the users
- snarfed17:20
In reply to this message
that's...not clear. the fediverse effectively doesn't have any, and it still works, even if it's not perfect - Aaron Goldman17:21but they want to give good search results so they need to talk to an indexer
- 17:21user -$-> PDS -$-> indexer
- 17:21why do you need it in the protocal
- @10allday:matrix.org
- Aaron Goldman17:22just pay the way any software as a service is charged
- @10allday:matrix.org
- nzheretic17:26Are we talking about indexing for generating search functionality. If so In a group setting could not the indexer just be bot following accounts and have the indexing done by client end for direct communications?
- @10allday:matrix.org17:27
In reply to this message
Usenet is kinda similar, but also similar to internet service providers. - 17:28
In reply to this message
There's no money being created if it's not going through the indexers. - Aaron Goldman17:29My understanding of mastodon is that it is like the first drawing. My instance talks to your instance directly. So if there are a lot of instances that want your content it gets expensive for your instances. Authenticated Data is different. Since it is signed a PDS can get your repo from literally anyone that has it. As long as the signature is valid that is the repo. So PDSs can pull your data from indexers. Indexers can pull from each other. You only need to bother the authoritative PDS if nobody else has it.
- nzheretic17:31
In reply to this message
If the act of indexing produces value for the indexer, why couldn't the indexing bot "pay" the account it follows, which goes towards any subscription the account pays. - @10allday:matrix.org
- @dead10ck:dead10ck.com17:34So if I'm understanding this architecture correctly, if you are a very privacy centric person that wants to self host a bsky instance, and you want to control the whole stack and how data gets handled and who gets access to it, you would run a PDS and an indexer, right? Is it easy to control who is allowed to federate, and thus get another copy of your data? And if another indexer federates with yours, do they store it indefinitely so they can serve search queries on their own, or do they each delegate searches to each other?
- @10allday:matrix.org17:38Could indexers pay a royalty to every indexer they got data from, plus paying for the data from indexer 1?(edited)
- 17:40kantrochat joined the room
- nzheretic17:40
In reply to this message
Will later. Normal user accounts have a nominal virtual subscription charge, various bots doing the indexing or data suck for AI training data operating as user accounts. Indexing bots offer users a nominal amount to follow their accounts . Bluesky/Server Operators take a cut. - Aaron Goldman17:40So a PDS operator could want to minimize it's cloud bill. Say it charged 1 USD/month or 10 USD/year for accounts. Then for the sync API it charged indexers 10x the cloud provider's egress bandwidth costs. Other PDSs would not want to pay the egress costs so they would pull all the repos on that PDS from the indexers. Many of the indexers would try each other to pull the repos before pulling from the charging PDS. One of the indexers would be first and pay the PDS the rest of the world would pull from the indexers. The PDS would in this way disincentivize the world from bothering it.
- @dead10ck:dead10ck.com17:41Oh never mind, this was answered above
- Aaron Goldman
- snarfed17:43it's worth reminding ourselves that the answer to loooots of these questions and ideas is "we don't know yet." there are a number of hints on https://atproto.com/ , but often they're very high level. the team has said a number of times that big parts of this are either incomplete and TBD (some parts of federation, big world indexing, successor to did:plc) or just not specified at all (eg access control)
- @dead10ck:dead10ck.com17:43So it's kind of like again a DNS model, with caching resolvers caching some content, and if they don't have it cached, they fetch it from the "authoritative" indexer?
- nzheretic17:43
In reply to this message
Indexers compete in an open market. Bad behaviour will lead to users denying indexers the right to follow. - snarfed17:43we're extrapolating and speculating here to some degree. which is fine! just worth remembering.
- @10allday:matrix.org
- Aaron Goldman
- nzheretic
- @dead10ck:dead10ck.com17:45Nice, that's something even AP doesn't have, though that is just authenticating the content itself, rather than a method of access control
- 17:45So access control is just not specified in the spec (yet)?
- snarfed17:46(fwiw this the gossip-like idea is also kinda speculation. the code and docs so far imply a more standard direct conection approach, not sig-checked gossip. Aaron Goldman is right that it's possible though!)
- 17:46
In reply to this message
right. the team has been talking about E2E encryption ideas, but not for anytime soon) - Aaron Goldman17:46
In reply to this message
Datacenter to Datacenter, I don't know what they will charge each other but I bet it will be way less then they charge the PDSs. - 17:46yigitcan joined the room
- @10allday:matrix.org17:47
In reply to this message
What cryptocurrencies would be used, as these have to be instant payments.In reply toAaron Goldman
Datacenter to Datacenter, I don't know what they will charge each other but I bet it will be way less then they charge the PDSs.(edited) - snarfed
- @dead10ck:dead10ck.com17:47E2E encryption could serve as a kind of access control. But also seems like something that might be hard to incorporate after the fact
- Aaron Goldman17:49
In reply to this message
Why, ISP keep track of peering and then settle up at the end of the month? - @dead10ck:dead10ck.com17:50Is it currently possible to run a PDS and/or indexer to use bsky today without an invite tobsky.social?
- 17:49@jonan:c-base.org left the room
- @10allday:matrix.org
- snarfed17:51
In reply to this message
yes, but you'd be an island, federation isn't turned on on the main instance yet - @dead10ck:dead10ck.com17:52
In reply to this message
Ah ok, that makes sense. I'll probably stand one up when federation is enabled - Aaron Goldman17:54
In reply to this message
Just an example of someone that counts bandwidth in real time but pays later.
Two indexers may want to only pay each other if there was a massive in balence that month - @10allday:matrix.org17:56
In reply to this message
Indexers would beIn reply toAaron Goldman
Just an example of someone that counts bandwidth in real time but pays later.
Two indexers may want to only pay each other if there was a massive in balence that monthindexer1.com,indexer2.com, etc?(edited) - 17:57So, they can identify each other? And end users?
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- @10allday:matrix.org18:00
In reply to this message
When they have something requested, would the payment happen first, or would it happen later, what happens if an indexer defaults?In reply to1@10allday:matrix.org
Indexers would beindexer1.com,indexer2.com, etc?(edited) - nchntmnt18:05Message deleted
- @10allday:matrix.org18:08
In reply to this message
Would the indexer that never received their money, put that cost onto the servers hosting users? - 18:15nobb_hero joined the room
- 18:24mchoaib joined the room
- 18:30jmcsweeney joined the room
- Chris Lace18:52@whyrusleeping is there a chance I can get some new invites?
- nzheretic19:12Is there any plan for the future for atproto to include a standardised ability for clients to host local plugins in a wasm/webassembly sandbox?
- 19:15@rin:psps.cat joined the room