daniel 🫠
@dholms.xyz
24K followers 1K following 3.8K posts
dreaming of protocol level sovereignty bsky team 🌅
Posts Media Videos Starter Packs
Pinned
dholms.xyz
This is an article that I've wanted to write for over a year, and I finally got the chance to do it!

Atproto Ethos is a deep dive into how we think about protocol design - its influences, the core innovations, and the opinionated takes that we've adopted
Atproto Ethos - AT Protocol
A deep dive into the philosophical and aesthetic principles underlying the design of AT Protocol.
atproto.com
dholms.xyz
lower than that, it's just bounded by the feasibility of "mining" a key with a large number of leading 0s. bitcoin blocks are like ~80 leading zeros rn so if you threw the whole hashpower of the bitcoin network at mining MST keys you could make an MST with height 40 in about 10 minutes
dholms.xyz
key height is determined by hash value. AT uses a 2-bit grouping scheme & sha256 so it's hard bounded at a height of 128
dholms.xyz
it's not "sqlite backend", it's "sqlites (plural) backend"
dholms.xyz
i'm hoping we can wrap this up in a real simple one-click deploy for something like railway/fly.io
dholms.xyz
ah got it got it

yeah the output would be validated operations for your application to consume. basically it should handle all the AT stuff and just hand the application "this record was created, this record was deleted"

then the application can do whatever indexing it wants to
dholms.xyz
probably not regex, but will allow filtering based on collection!

this would probably be a small stateful service that a developer runs and then exposes the validated/filtered stream as either a websocket or webhooks to their application
dholms.xyz
really anyone that needs to sync some subset of the network. mainly have applications in mind. should work for anything from bluesky-sized appviews to new small applications

and no haven't landed that stuff yet, but it is on the radar!
dholms.xyz
it would make it easier to build alternate apps

essentially what Rudy describes here would be more approachable

bsky.app/profile/rude...
rude1.blacksky.team
I hear and see your concerns. Over the weekend, a couple users hosted on Blacksky's PDS were banned from the Bluesky app and thus the Bluesky API servers. This was a weakness of our system I've been aware of and hoped we had more time to address before any kind of public incident. 1/11
dholms.xyz
nice thanks for the feedback

and yeah cutover sucks, helping with that is one of my main goals!
dholms.xyz
no

(but i am dusting off my Go for this one)
dholms.xyz
not yet! i'm hoping this is something we can get to in maybe 2-3 mo time. i'll try to post updates as we get to it, but if you have any thoughts in the meantime i'm eager to hear them

fwiw, i think it'll always be worth it to have a non-PDS migration utility esp in the case of adversarial migration
dholms.xyz
totally! it should work downstream of anything that has a firehose
dholms.xyz
we're gonna need a bigger truck
dholms.xyz
goals contd:
- does all the sync 1.1 semantics including resyncing desynchronized repos
- this is a tool we distribute not a service we run
dholms.xyz
some goals:
- this does the full lifecycle of backfilling for your app & then handling the firehose - including the cutover
- dynamically configurable to sync only certain DIDs/collections
- handles cursor management & offer other interfaces to sends events to your application (like webhooks)
dholms.xyz
if we made a tool that made AT sync super easy, what would be your hopes and dreams for it? i have a pretty good idea, but wanna hear any feedback before i get too far along
dholms.xyz
deciding order is the hard part
dholms.xyz
oh hell yea congrats!
dholms.xyz
ahh nice i shoulda read the docs instead of just the home page!
Reposted by daniel 🫠
bnewbold.net
for atproto devs and protocol watchers, I published an overview of the network moderation architecture.

it tries to cover all the mod actions possible for each service type. this design has been around a while, but not well documented.

this doc is not very polished, but could clarify some details
AT Moderation Architecture | bryan newbold
The AT network is becoming more heterogeneous in practice, with independent PDS hosts, apps, and alternative bsky AppViews establishing themselves. This means that more complex inter-service moderatio...
whtwnd.com
dholms.xyz
diggin it!

one quick nit: for unions, i think open is basically the default & closed is a special case. so I don't think i would require the added `| unknown` to qualify something as an open union. maybe something like `@closed` instead
dholms.xyz
hasn't been established yet, but will be probably within the next couple weeks
dholms.xyz
disagree overall obvs but i do really like the idea of the protocol being a mexican pizza
markpopham.bsky.social
"decentralized protocol" is such a funny thing for bluesky to bring up every time they fuck up - something already available on Mastodon, doesn't fully work here, almost nobody wants. its like if mcdonalds forgot how to make fries but they told everyone they had almost mastered the Mexican Pizza