Decentralized MLS (DMLS) is an implementation of the IETF Messaging Layer Security protocol on Matrix that maintains decentralization by tracking room membership per participant and merging MLS trees when network partitions occur, using a cryptographic primitive called Freak to protect key material during partitions, enabling secure group communication without centralized trust.
Deep Dive
Voraussetzung
- Keine Daten verfügbar.
Nächste Schritte
- Keine Daten verfügbar.
Deep Dive
Matrix Live S12E10 – Element DemosHinzugefügt:
Hello, Matrix Live. It is demo day here Matrix Towers Element Towers we have got a bunch of demos for you.
Ben Wo is going to tell us all about the latest in Element X.
Some guy called Matthew is going to talk about DMLS.
Robin is going to talk about Element call polish we've got Eric Eastwood is going to talk to us about device limits in mass. So Ben Wo you have the floor.
>> Thank you Neil.
Yes, so I will present some new features in Element X Android.
Of course there's a new features already also exist in in Element X iOS.
So I will first show my emulator. Sorry.
Okay. So you should see my Android emulator.
So first thing I will show a new feature about editing image before sending it to the room.
So we originally have a pull request from a community member calyx127 which was probably probably vibe coded but was quite good. So we decided to to take this work and iterate on it to polish it a bit. So yeah, I will demo it.
And So this this will be available soon and currently I'm adding an ability to to also flip as the image.
Either vertically or horizontally.
>> [snorts] >> So this is the existing screen when one wants to send an image to the room.
And there is a new button edit on the top left top right, sorry.
Uh and then you can you can edit so for instance I can crop the image like using the unders to adjust the the crop area.
>> [snorts] >> Uh if I save it will uh compute the image and then change it to uh to for for the preview before we we the user can send the image.
And I can do it again if I want to iterate on it.
>> [snorts] >> Uh I can rotate the image eventually.
So if I do it four times you go back to the original one. And what's coming in the ability to flip the the image. Um so these icons are not the final ones uh but uh yeah I don't have the the the the good one for now. It will come later.
So I can flip horizontally and vertically.
So it will allow us to to edit the image before sending it to the room basically.
So if I save and then I send it.
You can see that the image is um Oops let's just see that. The image is sent to the room in a cropped and not rotated in this case but it it will work out also.
Uh so this is for the uh for the the image edition. So Aaron contributed to provide the design and Andreas and all these people for the for the product.
Uh one other thing I wanted to demo.
Um we are currently working on improving the way we qualify a room as to be a DM or not uh because this is a bit confusing. We have um uh, lots of history be about this uh, this qualification.
So, we are trying to sort of stabilize this.
So, now a room will be considered a DM if it has exactly two human users because we know we also have um uh, what's the name? Uh, like um, functional members, yeah. So, you can have audit bots or or or users like these that are not human, but I can be in direct rooms.
And um, so two human members and uh, the M. direct flag. So, which is in the account data of the of the account.
So, to to keep this strategy, we didn't want the user to invite invite people to to a DM.
So, when uh, we do that now, so for instance, this is my DM.
Uh, I can still invite someone. So, for instance, this account. And when I will invite uh, this user, uh, it will actually create a brand new rooms a brand new room with uh, three users. So, the two users who who were who were in the in the DM and the new one uh, who who's been invited.
>> [applause] >> So, yeah. That's that's it for me.
>> Oh, thank you.
>> questions? [applause] Okay.
Thank you very much.
>> All right.
Matthew, what's this uh, DMLS thing >> Uh this is uh, uh last minute thought that it might be interesting to talk a little bit about DMLS. This is a follow-on from the uh last week's Matrix Live, which was my um Matrix Spring Update from the Matrix Community Summit, where I spoke a bunch about um ways in which one could put MLS, which is the IETF Messaging Layer Security um RFC RFC 9420 on top of um Matrix. Uh let me just share my screen and I shall try to improvise a quick, I promise, um discussion of this.
Um there we go. So, yeah, basically was talking about where does MLS um fit into Matrix? Because on one hand, we don't want Matrix to be hardcoded to any end-to-end encryption system.
Um however, MLS does provide a bunch of benefits, most particularly that it gets a lot of attention um thanks to the IETF process, and also provides a solution for cryptographic group membership.
However, it also has some disadvantages in that by default, it is um centralized is probably the the biggest concern on it, whereas Matrix is obviously decentralized.
And I spoke about why the Spec Core team's current approach is that we're going to make sure that Matrix itself is as robust as possible um via this project called Hydra, that goes and fixes how we replicate rooms, and particularly Hydra Finality in phase three, which is happening this summer, um gives you a means of variable decentralization. I uh allows you on one hand to be able to put vanilla MLS on top of Matrix, replacing all of Megolm by effectively logically centralizing a room. At the other extreme, you can keep Matrix as it is today, so decentralized and not finalize it as much, but then you need a special flavor of MLS called decentralized MLS that sits on top. Now, Hubert spent ages working on this from about 2020 to 2023 um demonstrating how DMLS could work and basically what you do is to have a you basically allow the membership of your room to be tracked per participant in the room and then you merge together the different MLS trees if the room splits up if there is a network partition or if there's delay in the network.
>> [snorts] >> And the disadvantage of this is that you have to keep some key material around so that once the partition heals you can decrypt the messages that happened during that partition. This is bad because you end up keeping key material around and then subsequently a few years ago cryptographers Wicker a guy called Joel Alwen and also Phoenix R&D and Rafael Robert and Conrad Corbitt proposed a way in which you can have a primitive here called Freak that allows you to protect your key material even when you have a decentralized form of MLS.
Now we haven't had a chance really to play with this but after talking at Matrix Community Summit about different ways of doing MLS on top of Matrix I thought it might be interesting to go and pick up the work that Hilbert did and see if we could get it working on Rust SDK inside Element X but also to see if we can mix in the decentralized with a Z MLS stuff that has been proposed as an ITF draft by the guys at Phoenix based on the work that Wicker did.
And it looks like this.
So I have here three instances of Aurora that you may recall being our experimental test rig for using Rust SDK on the web and if in here I again start a new room you will see it has the option to encrypt this room of experimental decentralized MLS. And so, if I create a room called DMLS demo, and this is running against a local synapse here, um then here I am as Alice, I go and create a room, and the first thing that Alice does in this room is to send what's called the DMLS commit in. Um these are being put at the moment just into the room history, and uh allows Alice to basically say, "Right, I'm starting a decentralized MLS group."
Now, if she goes and invites in another user, I've got Dave on a different synapse here on the right-hand side somewhere, hopefully. One of these guys.
There he is. DMLS demo. Dave is invited.
Go and accept that invite. And when he accepts um the invite, hopefully, you'll see that Alice goes and does another commit to add um Dave into the room. So, we can now do federated DMLS over Matrix. Um hooray.
Now, this hasn't been optimized at all.
It's a bit sluggish, um but you can see it even works um with um messages going back and forth. Yay.
Now, um the question is what's actually happening under the hood. And to have this uh visualization on both sides of what's going on, let's try to open them up side by side so we can flip between them.
So, first of all, you have your actual MLS tree. That's what it looks like. You got three devices from Dave and about eight devices from Alice. The green one is the one which is actually active on either side. And then below that, you have a graph of the DMLS epochs. So, these are the kind of chunks of history in the room, and you can see that there's one where we created it, and then there's one where Bob was invited, and then there's one where Bob has joined or or something like that. And at the moment, they're converged on the same place. Now, if I go and invite another user into here quickly, let's go and get just plain old Bob. He's on my first server.
Um then that's going to trigger a new um, epoch to start.
And if you look at this, you'll see that suddenly we've got a whole bunch of Bobs in there as well as the Daves and the Alices. And we have yet another um, commit here. And I could say, "Hi from Bob." And hopefully that will go through.
Yep, there we go. Hi from Bob and it's all great. Now, a slightly interesting thing here is that if I then leave the room as Bob, that will cause both Alice and Dave to drop a commit that Bob is not there anymore. And we have a fork. This is the decentralized bit, everybody. So, we now have two competing views and you can literally see that we've split our epoch back like that. But then if um, we say something, uh, okay, then uh, let's reconverge. Then here that still MLS stuff works. We create another merged epoch here. And hopefully, uh, obviously that Bob's left here, so he's not not going to get the messages.
But here you'll see Alice um, getting those messages having reconverged. So, bada. Welcome to the world's first decentralized MLS over Matrix proof-of-concept. Now, if you put era finality on top of that, then that fork would never have happened um, because we would have been creating a total ordering of the commits within the room. And so, only one person would have needed to confirm that Bob had left. There wouldn't have been a divergence. And so, you would be able to use plain old MLS. So, that's an example of how you can do MLS and DMLS over Matrix.
Right.
Back to you, now.
>> [snorts] [music] >> Ah, sorry, I'm muted. Where did the uh, visualization tool come from?
>> Uh, that may have been uh, SVG uh, generated by Claude. Sorry.
>> [snorts] >> All right.
In that case, um let's go to Element call. Robin, you've got the floor.
>> Hello, can you hear me?
All right. Yeah, so I am going to be presenting a bunch of improvements to calls on both mobile and web and desktop on behalf of the void team. So, um yeah, for a lot of people on this call this is going to be stuff that's maybe familiar, half of it at least, but uh I think for the public this shall be fairly new stuff. Um yeah, so we've been making a bunch of improvements and polishes. So, if I go here and start a video call in my Element X Android app, um just give it a second.
And first of all, we will see that there is a new UI for calling someone.
Um you get a preview of yourself in the bottom right-hand corner, and there is now this new notification toast that pops up on web. It's been a little bit redesigned. I think we're still making changes to it after this, so don't get too attached, but that's what it's looking like for now. You have the option to even turn video off if you want.
Um yeah, and then if I join this, let's mute.
Yeah, so All right, there comes the video.
Um so, we have a new sort of screen layout here on mobile. If I tap the screen, then uh all of the controls are hidden and you can just get a full clear view of the um other participant. If they calling on mobile, their video would even be stretched edge to edge across the screen.
Um but luckily, we can even see that if I rotate into landscape here.
Um yeah, now this video really is uh yeah, stretched edge edge across the screen, and the same goes for screen shares, which I think is one of the best parts of this.
I give a screen share of my terminal over here.
Yeah, you can see that that screen share is now fully edge to edge. There's nothing in the way, so you get as much real estate as possible for viewing it.
Um some other things that have happened are uh we have a hopefully simpler uh earpiece control down here at the bottom.
Um yeah, probably more where more users will expect it. And we've moved settings to the top right, uh not that big a deal.
Um ah unfortunately, I forgot to set element call to the right thing over here. I'm going to take just 1 second to do that so that I can show the last part of this.
All right, we will call my other phone back.
Wait, here's the calling UI on web as well.
Now if I join this, we'll see that there are now even these uh quick device switches down here at the bottom on web. So, you get the option to uh yeah, there's a little bug currently, but you get the option to switch your cameras if you had more than one. And uh additionally, I can go and blur the background of my video here.
And stuff like that easily without having to dive into a settings panel.
And yeah, I I think that's going to be the highlights.
>> [applause] [applause] >> So, yes, this is everything you saw has been shipped and yeah, is available in element call 0.20.0. So, yeah, that will be coming to all the Mastodon applications, hopefully pretty soon.
>> Very nice. Thank you.
Right. Finally, we've got Eric Eastwood's um device limits and mass. What's this about, Eric?
We don't have audio yet, Eric.
How many of you are mute button?
>> Is that good?
>> Yep.
>> Shows I'm muted.
Okay. So, I have a quick demo of Matrix Authentication Service um with the new session and device limits that we have there.
Um basically, when you sign in, whoop.
You might see this device limit reach screen now. Depends on what the limits are configured, but basically, this is saying to continue or remove one of your existing devices and sign in again.
So, if we go to manage devices, that brings us to our account page that lists all of our devices.
The device limit is mentioned here, so you know what to do. If we remove one of our devices, it warns you about the potential consequences.
Basically, you want to make sure you have a recovery key set up or another active verified device so that you can access your encrypted chat history in the future.
Once we remove the device, the warning turns into this just info heads-up that you're close to the device limit, but now we have one device slot available.
So, if we go back and try to sign in again, we can actually go through to the consent page and continue to log in as normal.
Basically, why this is important is because a common failure mode in Matrix is that a user creates hundreds of devices on their account, which causes problems with slow encryption, and even when devices get deleted, it causes lots of device list changes, which interacts with {slash} sync, federation, and even replication traffic if you're using workers in Synapse.
So, to summarize, we added some limits to control the number of devices people can have on their accounts. This issue in mass 4339 describes basically the best summary of what went on here. The last reply here has a breakdown of the new config and what's going on. We have a soft limit for interactive context when we can actually present a UI and prompt the user to remove a device like I just demoed. There's also a hard limit for all flows. So, if a bot was creating a token for um with the m.login.password flow, we would stop it that way.
There's a few more nuanced options here, but I'll let you read the details in this issue.
All of this is part of the next master release, probably next week or uh the week after that. And it says experimental config right now. That's it.
>> [applause] >> Very cool. We'll We'll document it as well.
All right. Um Matrix Live, that is your lot.
Ähnliche Videos
Are our DeFi tools becoming too easy to exploit?
saidotfun
228 views•2026-05-30
Solana Unchained ($UCHN) Explained: Solana’s Next Big Utility Project?
CryptoVlogOfficial
339 views•2026-05-30
🚨 Access Network App FREE Withdrawal to MetaMask?! Only 25M Supply 🔥
Airdrop26Alpha
459 views•2026-05-28
Free TON in 2026? How I Tested This Reddit TON Tool
SirenHead-z9y
2K views•2026-05-28
⚠️ALGO Has a Very Bright Future! ✅ One #Crypto Everyone Should Own!
MetaShackle
184 views•2026-05-30
BingX EventX: Trade Sports, Crypto & Global Events With One Click
AidenCryptox
311 views•2026-05-31
XRP IS GOING TO VANISH! A SUPPLY SHOCK IS INEVITABLE! (THIS IS THE PROOF!)
NCash
2K views•2026-05-31
AI Predicts What XRP Looks Like If Ripple Gets A Fed Master Account
CryptoBlazon
422 views•2026-05-30











