Hello everyone, I'm Kenya and this is Holger, we will be doing this talk together and I will
start with a introductory part, well you will learn a little bit what we did and how we
traveled across many complicated times and situations, evolving this project that started
with a desire to actually use the biggest decentralized infrastructure that exists
email, wow, to actually chat fast and in the beginning it was I would say rather complicated,
not just technically but also to explain people why we do it, what is the challenge
that we face, what are the use cases, but very soon we found that interoperability,
it was the word that was all around, a lot of people needed it, so they were very happy
to have something that would talk outside with any kind of email, but be also a nice messenger
that feels like whatever other messenger you use or not, I hope you don't use, what's up,
but it's an example that we were looking at, unfortunately this mainstream apps put some UI
standards on other developers, telegram, what's up, they kind of force us to go to some
directions to follow them, in usability, in offerings that we can make for users, so we kind
of look at them, learn from them, but also not too much, staying with a decentralization
with federation and with the idea that actually you can rely on this very large ecosystem
that is email, and you can simplify something that is very nice and we love it, it's
PGP, we can actually make it easier, and I was the sociologist behind this whole thing,
I arrived very young, very afraid to the auto-clipped meeting in 2017 in Tor, Tor onion
space in Berlin, and there were people from matrix, from wire, from many beautiful projects,
and we discussed how we can actually make the exchange of keys easier for users, how they
can not make any mistakes, it's not possible, and it's good that they make them, we learn from
this mistakes, but that's how we looked in the beginning, and here we are now, in 2025, where
you can actually scan the QR code that I just reviewed, and you can start chatting immediately
and not just chatting, but you are already verified, we thought about this word, it's a little
bit complicated, verification users, I'm at the UX researcher, I talk to them, what is verification,
why do I need to verify these people, is it like in Twitter, do I have this, you know, poster
of a tag of being the authority, so we decided to rather call it guaranteed ant and encryption,
when you scan the code that I propose to you, to scan, you will end up in a group chat that
is guaranteed and encrypted, so it means that we hope that with a secure joint protocol that
will be explained in a second talk, it will be protected from the many the middle tag, so here we
are all very happy, email is not there, we are smiling, and we are moving forward, but how did we get
here, actually, it was hard to make the paradigm shift for users, they were thinking that
emails very slow, how can we actually chat with the emailing, so we did this workshop in Ukraine,
in 2018 was sunny, we gathered a lot of different activities, journalists, writers, artists,
and they were drawing, how they see email, key exchange, KGB, decentralization, encryption,
we were collecting all of these and trying to base our design also on this social model,
on this mental model of, on imaginaries of users, about encryption, so people think that
email chatting through the existing centralized servers, you are kind of, you know,
co-opting the users inside, you know, one, two, but what they want is to
decentralize to open, to be interconnected, and actually decentralization was kind of
shared even by non-technical users as a value or something that they would like to achieve,
and we did a lot of testing, the right, what we have now, and here, just three moments of time,
a timeline, we started with this lab testing, it's important, you see in the room, sit in the room,
with people in a very stride space, nothing happens, the connection is stable, you follow the
protocol, you click every link, you get some bugs, you write them down, very important work,
but then suddenly we moved to the quarantine, COVID, COVID epidemic in Russia, and we go in the forest,
and organize a festival with no network, so we had to build it, climbing the pine tree, putting
the routers somewhere, catching some about at least a little bit, putting a raspberry pie with
delta-chat server, on a local network, and testing it inside a big tent with fire, it worked,
was nice, we could chat in the forest where nothing worked, and finally, the sum of this
road somehow where we are now is that people started to re-leuse delta-chat, and this is scary,
it's a big responsibility, and not just use it, but they go to the protest with it, and we learned
about it the last, like they do it, and then we learned about it from them, they sent photos from
protest and actually it works, regarding the throttling of a balcony activity, so this is another
challenge that we face now, censorship resilience, how do we do about blocking about surveillance
in countries where it is tough, so we have this ongoing interesting quest with Russian federal
security bureau, this is the best onboarding screen I've ever seen for delta-chat, it's actually
a copy made by FSB, so installed delta-chat, the FSB is actually made an advertisement for us,
get an account, please, okay, so here is the Moscow time, they use it for very fine screenshots,
like in order for a screenshot to become a proof in court, they need to take a photo like this,
and put the time, because time it was what makes things real, people believe when time stamp is
only, so we are now still in court with them discussing about why we cannot provide any data,
and that is where federation becomes a thing, because actually they are used to a messenger
that collects everything and has a lot of stuff on the server, and on the second talk we will
hear a little bit about how chat mail servers are configured, and why we could not suggest
further request, of course first we don't want, but second we cannot, and this is something else,
so people thanks to this case, they understood a little bit better what federation decentralization
actually does, the security challenges, and how it helps, yeah and finally another funny picture,
and then we go to something more concrete and more technical, the design of delta-chat and the fact
that it's using SMGP, I'm up, made a super popular in some places where the email traffic is cheaper,
much cheaper than the normal, so this is a photo from Cuba where there were country-wide
blackouts, so people could not use electricity, so much it was not a lot of internet,
but this photo was sent with delta-chat, somehow we don't know how, whatever it worked,
so people were bringing their telephones, plugging them to charge them, and somehow we could
help them a little bit to stay connected, and this is a screenshot that I love, I translated it from
Russian, but of course we lose a little bit of patience when we translate things,
it's from Georgia, from recent protests, a Russian exiled group was relying on delta-chat again,
I'll check how it works today, testing delta-chat under water cannons, yes, I will live there,
yes, so all this is great, we are looking at the states, we are talking to users,
we try to understand the needs, their coordination needs, their organization needs, but there is another problem,
and another interesting, I mean there is another problem than just authoritarian regimes,
which is, what is it, actually what's the other problem of like we have, I mean authoritarian
regimes, I think many of you will probably agree this, maybe a problem currently, what's the other one?
No, no, I mean more like, say it again, most SMTPs are out, most SMTPs are hosted by Gmail, yes,
okay, that's a very particular kind of monopolization problem in the email system, yes,
Gmail, I cloud and outlook for sure, yes, soon to be authoritarian, soon to be alright, yes,
soon to be authoritarian on the transition phase, yes, but also billionaires,
so there is this thing that we started like two years ago and that grew into some kind of
community development also with XMPP people, and I want to talk a little bit about this,
we kind of arrived at the motto some weeks ago to say, okay, let's just say we want to replace
venture capital platforms like billionaire platforms with as a pile, some of you may know that
there is in the US, like a 30, 40 million funded or this is recorded, right?
Okay, there are apps out there that are funded, heavily and are working for many years,
and they are trying to do things like, we will mediate all of the builds you want to split
or the travel costs you want to share in a group between France, and we will be your trusted mediator,
and we will become very big, and then we earn money with mediating splitting a bill
between France, you know, it's kind of a typical like getting into the social relations of
as many people as possible, and then kind of finding a way to monetize this data. So it's a long-running
thing that's what brought us into some kind of situation that we currently have,
that a lot of big tech platforms are merging with the other problem, and so we thought,
there's a longer Genesis, I'm not going to turn now, that is kind of like the precursor for this,
but we arrived at saying, why not, I mean, you know HTML emails, they're typically considered
email, evil, and but there's a way to, I mean, they're still used, and they have some use,
and we actually thought, well, we are a messenger, we anyway show attachments in special ways,
like if you send a video, there's a play button directly in your chat, and if you send an audio
message there's a play button and so on and so on. So why don't we send a zip file that contains
a complete HTML 5 app, and run it in a sandbox, and when it wants to do any IO, when it wants to
interact with the world, it gets completely blocked, it cannot contact anything, it's really
like completely in this sandbox, this app, but it gets in IO API, that is not HTTP,
that goes to a central server, and so on, but is appear to appear send receive input output
system. So basically as an app, if you add an expense to a group slip spit bill, like a table view,
also, you just say send this data, the messenger takes it, sends it as a kind of an application
update message to the other chat participants, and then there you see, okay, somebody entered this,
somebody just entered this expense. So basically we are using on the one hand, this completely
sent boxed web application and provided with very few input output methods and specifically block
it from the rest of the internet. So that means when you receive a zip file, you can actually
run it in a chat, and I don't know who has unbotted already, the papers are there, we can actually
just do this together, but you also showing this, you can start editors, this is now an editor in
the chat, okay, so whoever actually manages already to join the group and start the app will
be able, this is a real time editor, it kind of like shows another IO method that we just added
a few months ago, that actually shows you cursor positions in real time, and this is actually
through the integration of a peer-to-peer Rust Iro library, but there still is the email system
that establishes the peer-to-peer network in this chat, so it's a private peer-to-peer system
without any kind of global infrastructure needed, and the messaging is used to actually establish
the real time channels between the peers, and all of that is completely into and encrypted,
the real time channels even have delivered or not perfect forward secrecy, I know, many people hope
this very dear, and so these zip files, they are really complete HTML apps, and they're small,
the editor is like 100 kilobit, and it has been developed, it works, then somebody added the real time
channel that we introduced, and now this app actually sits there as a zip file, you can forward it
to a chat, and then this chat can use it, so it's not like you need to go to some app store and store
something, authenticate somewhere, you have no log in, you have no GDPR, you have no content screens,
you have no as a developer, you have no DNS hosting, you have no VPS that you need to run to host
something and so on, this app just runs in the chat, and the messages that implemented, this is
currently the XMPP, jailgram, and monocards, and then the whole data chat family, which also contains
frankly forks, all of them implemented it, and recently what we did is that all of the apps
and across the whole web, you see implementation space, like these seven messengers, they actually
offer it directly in the primary chat interface, so when you have any of these messengers, you can
say attach app and it's in your chat, and there's things like shopping list, very popular, you know,
you just have people in the chat who add some items to what you need to buy with your family,
or household, that's all, and whoever buys it just crosses it out, this is a very small app, and
we are also hoping if you read the latest blog post, that this kind of re-establishes something
that the older among us may still remember, you can actually finish software, and now it's
very far in concept, but there used to be a time that you actually do something, and then it's
doing what it should do, and there's nothing more to do, and if somebody wants to change it,
they can fork it, all of these apps have a good uplink, change it, and make their own version,
but the split bill, the current calendar, the current editor, the current things that you have,
they work, and you can basically, the idea, use them forever, like, they're very small, and they
don't come, and that's very different from other peer-to-peer projects, they don't carry with them
and network implementation stack, they really are the zip file, and instead of HTTP, they use
peer-to-peer APIs, and the peer-to-peer system is arranged by the messenger, which is the chat group,
which is the reason why nobody needs a lock-in, nobody needs a account, and everything is
end-to-end encrypted between the peers, you know, so it's kind of like a really re-architecting
of the IO with the hope, there are no mediators anymore, this is really end-to-end, so even the
developer, you give you the zip file, will not see any data ever, because the zip file is out of
their hand coming into your hand, you are handing it only to the people in your chat, and this
communication is completely private, and the developer has no back channel, like they can simply
not get any data from your usage of this app, which also means as a developer, you don't have
the responsibility, you don't have the liability, and all of that, so it makes things easier on all
sides, if you consider something like I sit two or three days, I do this little web app, and then
it can be used forever, and you don't need to worry, you're finished, it's done, you're not
subscribing to maintaining it for four years or so, yes, I can recommend this feeling, there's
some of us who actually had this, and right now it's really hard to get there, okay, I think
some questions, yes, yeah, I mean, I didn't really, I didn't have one of the kinds of
that's also on the phone, okay, yes, so the one feature that I think is expected, but it's
really hard to make my team with this and for lies, the approach is met, sharing the location,
with another, with another person, and without the so, either there's a possibility of downloading
a map, an offline map, for example, from Open3Map, I would feel you say you feel
trying to find a solution, for example, for live location, sharing your application, or something
like that, and how does it work? Yeah, go to advanced settings, enable
on the mind location streaming, and then you have the current kind of experimental
50 kilobyte JavaScript implementation that uses Open3Map data and has like
we have one guy in picking, actually, who took this, like there's a trick, actually, how you can
make your own location streaming by saving this map's application, modifying it in your
safe messages, and then the location streaming will actually use this and so on, but that's,
yeah, it's like an advanced thing, we don't enable it by default, because the things that I
enabled by default in that chat, I thought to be pretty well user tested and really just working,
so this is actually the on-demand location streaming is there, you can look into it,
also ask questions about it in the forum, I think that's the best path here, or we talk after
words, but it's like a whole topic of its own, right? Yeah, I mean, yes, the question is yes,
yes, the question is shouldn't there be like a lighthouse server, or some kind of central authority
that can tell where everybody is, so you can reconnect to the correct IP addresses and so on,
and that's basically precisely what we're trying to avoid, like there is neither a conceptual
or a real central server, like even a DHT is conceptually kind of like a single entity, you depend on,
if you can't read it from Iran, if you can't read it from somewhere, it's kind of not really
working anymore for them, whereas with this scheme, it's really the messenger, that transmits
the messages and the resiliency of establishing the peer-to-peer network depends on that,
each of like how data trade is doing it is by having a viral release server running a long
chat mail service, you know, so every chat mail server that you instantiate has this, so the users
that use this chat mail server for rocking their messages, they will automatically know about their
own release server and you're talking to your chat mail server anyway, so it's really quite federated
and they are used to actually do the whole punching and the other things, right?
So the question is couldn't we use an overlay network or some sort of
header information in the mail to set up WebRTC and what to say, I mean we're not using the
party C for very good reasons and we want to avoid any kind of central point of overview
and the current system is basically a lot of people collaborating to try to figure out this kind of
resiliency thing that it really just works, so the feature was partially ready like almost a
year ago or like nine months ago but it took us like eight months to get it to the point that it
just works all the time on all platforms, this is like a lot of detail work and within such a
constrained you're really thinking very economic like what is the simplest thing we can actually do here
and not go too crazy because other than like there's a lot of peer-to-peer prototyping you know
but we are really trying to make this work like for real, every time you know so that's a different
kind of mindset to approach this, yes, then how routing agnostic could especially this
new time networking be right totally like there's no you know there's no yes I mean there's
many different networks I mean senior already mentioned this forest and so on and they will also
have a peer-to-peer network and you know so it's routing agnostic also the specification of
WebXDC is at a level that excludes two things knowing anything about the routing anything
and that's more important because it complicates any system if you have to consider it identity
so the API that WebXDC offers does not talk very much about identity most systems you might
remember this blockchain age they always start with a wallet and this kind of like oh you have to
have this identity and it's to be very secure and so on and that's how you appear on the public network
this these apps they don't do this and that also means or they do this in a very very careful way
so that we avoid all of the complexity and the kind of prescription of how you need to do
routing because identity and sending things and so on is strongly tied to having addresses and
what to do so it's actually we try to avoid the complexity generating things also to
leave it to the implementation like be it peer-to-panda or be it like matrix people are talking about it
some other messengers some messengers have implemented it and it's it is routing agnostic
this protocol and we want to keep it this way and at best also identity agnostic
yes maybe we can take that later on I mean it's the last thing so