MLS makes rotation fairly cheap, i.e. removing someone from a group is O(log n) complexity.
26.02.2026 23:03 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0@lukajcb.bsky.social
github.com/LukaJCB
MLS makes rotation fairly cheap, i.e. removing someone from a group is O(log n) complexity.
26.02.2026 23:03 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Interesting, will have to think about that more!
26.02.2026 22:55 โ ๐ 2 ๐ 0 ๐ฌ 0 ๐ 0HMAC would require everyone in the bucket to agree to the same key, so you would likely need a GKA protocol like MLS, right?
26.02.2026 22:21 โ ๐ 4 ๐ 0 ๐ฌ 2 ๐ 0I like this quite a bit, the buckets idea maps somewhat cleanly to MLS groups, though there is of course still a lot of unanswered questions.
26.02.2026 22:17 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Right the message in this case is only the metadata that we want to protect
19.02.2026 04:36 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Yeah and that's a very hard problem space from what I can gather. Essentially how can we send a private message from A to B, C, and D across servers? All without the servers trusting each other and without leaking metadata.
19.02.2026 04:27 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 0I like this a lot, keeps a lot of the existing infrastructure. I could see something like this working well with E2EE data as well. The metadata leakage is somewhat unfortunate, but unless we add some sort of authenticated relay, I'm not sure there is a better way.
19.02.2026 02:40 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0I think that narrows down the solutions space quite a bit then, no? If that kind of metadata shouldn't be public then that also eliminates publishing anything to the firehose for that content and we would need some kind of separate notification system so that an AppView can know of the new content.
19.02.2026 02:34 โ ๐ 3 ๐ 0 ๐ฌ 1 ๐ 1I think this is good! I've been thinking about this space for a while and I think having permissioned data like this could be used for both e2ee and non-e2ee systems. Though, crucially I think how that data goes from the PDSs to the AppViews should also take into account e2ee and non-e2ee systems.
13.02.2026 00:36 โ ๐ 2 ๐ 0 ๐ฌ 0 ๐ 0Do you have some links to where the prototyping is happening? I would be interested to collaborate!
08.02.2026 18:54 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0In any sane system you would not want to perform expensive queries for analytics purposes on the real-time parts of your storage layer
23.01.2026 21:48 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0Amazing! I've been trying to decide between Ente and Immich as well, might have to try this out!
01.01.2026 16:53 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0This is all old news. What's new is this:
There is now a first draft reference implementation of the Public Key Directory specification, written in Go.
github.com/fedi-e2ee/pk...
Very exciting!
14.10.2025 17:51 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0Side note I wrote about something pretty similar many years ago here: typelevel.org/blog/2018/11...
05.09.2025 20:24 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0And more general the cardinality of a function A => B is B to the power of A.
In this example:
1^X = 1
X^1 = X
To add to this you can think of cardinalities as how many different implementations can there be for this signature.
So Boolean -> Unit has one possible implementation, whereas Unit -> Boolean has two
Barking Up The Ratchet Tree โ MLS Is Neither Royal Norย Nude
One of the first rules you learn about technical writing is, "Know your audience." But often, this sort of advice is given without sufficient weight or practical examples. Instead, you're ushered quickly onto the actual tactile aspects ofโฆ
It did lead me to find about CHURP though and that to me looks like a great solution for backup: github.com/CHURPTeam/CH...
30.07.2025 21:43 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Funnily enough I came across this yesterday as well. It looks great although to me the fact that you still need to remember a password is a bit of a downside. I think id rather just use a PBKDF at that point
30.07.2025 21:18 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0Just published 1.0.0 of ts-mls, a library implementation of MLS written in typescript, put a lot of work into this and really with how it turned out! github.com/LukaJCB/ts-mls
04.07.2025 23:13 โ ๐ 4 ๐ 0 ๐ฌ 0 ๐ 0The Web Crypto API for browsers and Node does this by basically treating HMAC and signatures the same way with a sign and verify function for each
27.05.2025 15:01 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0No worries, thank you for fixing it!
18.05.2025 06:10 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0I tried to create an account for atproto.wiki, but I never got the verification email so I can't complete the sign up
17.05.2025 23:53 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 0Would love to collaborate on this, I'll have to give it a full read soon. I'm currently also working on creating a TypeScript MLS library that is almost complete that should make prototyping a lot easier!
16.05.2025 00:49 โ ๐ 2 ๐ 0 ๐ฌ 0 ๐ 0I'm really glad someone is thinking about this! I wrote a prototype of using MLS to create E2EE content in ATProto recently that I've described in a GH issue here:
github.com/bluesky-soci...
Hello world!
12.02.2025 23:09 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 0