All right, take two. All right, let's again welcome Mattias to the stage. He's a project manager of
Qual and a developer of open source censorship circumvention tools. He's giving an introduction to
Qual, which is a privacy focused P2P mesh communication app that enables off-the-grid messaging via
the BLE, LAN, and internet overlays. All right, how may I welcome him?
Thank you. What a world. Climate crisis, wars, the world is falling apart. When we have such
big problems, do we really need to worry about even more platforms and forms of networking?
It seems as if our achievements in digital communication have only made the problems more
manifold. Today we struggle with uncertainties and fears. For the things, we gave that gave
us stability, our planet, the world, alliances between states, the values we share, the order
we know and in which we recognize ourselves. We are experiencing a shift in power relations
and heteromonic context and we find ourselves in the situation between the effects of power
and our own powerlessness. A disintegration is looming, extending to networks which are becoming
less and less intercontinental in scope and increasingly fragmented, leading to a Chinese
Russian US-American network. What does this make with us? Within a formation, we appear
a subject to subjects and are only empowered through our application. In Fuku's power
analytic sense, we can therefore understand forms of participation as a subjectification. On
the one hand, the question arises as to how we bring ourselves into play. On the other hand,
there is a suspicion that not everything can be found in this formation and even more so
that this formation itself produces exclusions, at least as an experience of contingency.
The use of software and hardware is a form of such a subjectification. This subjectification
often goes unnoticed as many seem to be completely satisfied with their presence in the form
of accounts and user profiles. Others are rightly concerned about this subjectification,
mistrusting precisely those systems that inscribed themselves so dominantly in communication
and possibilities for action. They even inscribed themselves in our presence and existence.
The dystopia and oppression, the fear, the delusion that powers are at work here. Of course,
all these emotions have their basis in this very subjectification which can never be fully
understood or discarded. When dealing with communication networks and their effects, we engage
in a biological structure. We oscillate between our own statement limited by the option of
expression of the specific system on one hand and our objections to the systemic conditions and
constraints on the other. This experience is becoming particularly important in the struggle
of self-determination and maturity. Of course, it is important which platform we choose to improve
privacy and to improve control over our own data. However, the experience of subjectification
is fundamental. It gives us the context that in return we must be able to also shape these systems.
This co-creation is a characteristic of a participatory social order. It is what we mean
by democratic, by value-based and by civil society. The relevance of this power to act and these
options for shaping the system often remain unseen. There seems to be an overwhelming force
that shapes our own positions in such a way that our identity in the assigned position of
economic conditions, cultural affiliation, nation-chanted class appears overpowering.
But in a crisis, this breaks down at the moment when these certainties and identities
these contextualizations and self-assurances towards these systems disappear. In a situation
of immediate threat thrown back on an existence on a formation that pushes one's own self-image,
one's own conventions of perception and representation, one's own power to shape and act to a limit.
Call arose from such context of experience. In 2011, people poured into tachyus,
to wear and cryo-eachypt. It was a situation that called for stepping out of those
subjectivities and demanding participation and recognition. And while a democratization movement
was forming in tachyus' to wear, the government shut down the internet and mobile communications.
Call was born out of these experiences, only in our formations can defund the mental aspects
of structures of subjectifications, the assigned forms of options for action and creative forces
be understood and addressed. We do not become aware of subjectifications let alone escape it
when we are stuck in our social media accounts. Nor do we escape this objectification
in supposed activity from a spectator position behind the screen. Clicking and thinking you are connected
is a great and treasureous illusion of online activism. Call is not activism. The experience
of tachyus' wear is relevant in a different way, digital platforms, which like to refer to themselves
as agoras or forums like the old democratic formations, the places of democracy, they are not
designed for appropriation or empowerment by the users. In contrast to these self-styled platforms,
which often obscures the connections and dependencies we use call to examine our own possibilities
for action and our own options for design and expression based on the materials available to us,
our own devices. It is about understanding how our own means of expression are constituted,
how we ourselves can create our own connections, how we can take control over our own devices in our hands.
Using this smartphone in my hand, in such a way as to create a network and connect myself with
other people in a network. In a classical network, we are dependent from an infrastructure.
This is a cellphone antenna in Sudan. The antenna is camouflaged as a palm tree, a quiet
common camouflage for antennas in the region. In such a classical network, the device is connected
to the antenna, the antenna to the ISB gateway and so on. And alternative structure would be a fully
mesh network in which each device is directly interconnected with all other nearby devices. We've
called which created the first of the gross platform Wi-Fi messenger, but not only could you
communicate with the mesh network. The app to build this network was also shareable from user
to user, new users were able to download the app directly from the call network itself. We
called it viral sharing a concept that was picked up quickly by other applications in the field.
This was our first technical setup. From the routing part, we used the OLS error routing protocol,
the system routed directly into the system's routing tables, which created a perfectly
routable TCP IP network. This made a lot of functionalities possible. When someone had
internet, it could be easily shared with all other users in the network. With activists from
gaze-part movement, we developed an autonomous device. The stations were usable for text messages,
voice jets, and file sharing. The gaze-part edition allows links to the internet and other networks.
Information can be exchanged even time-delayed. Many networks were set up used for communication,
spontaneous mobile networks on migration routes, self-built infrastructure in Romani settlements,
antennas in direction of the Tahir Square, and also really large antennas setups.
However, the system also had some downsides. To write routing tables, we needed administrative
access on devices, something we are deprived of on mobile platforms. The Wi-Fi standard we used,
the Zoukalk Wi-Fi Huffk Mode, became unusable on most devices and platforms. We therefore
rewrote the app from scratch in 2019 to create a mobile first application with abstracts the entire
network layer away and the routes based on cryptographic identities.
Our goal was the same. A mobile first tier configuration peer to peer messenger with a state
of the RT user interface. Only using technologies that are available to the user
unrestricted mobile platforms. We have three different communication possibilities,
Bluetooth low energy, which is still experimental, local area network communication mode,
and statically linked nodes for internet overlay connections.
Over which every mode you are interconnected, all devices are meshed together. We wrote
our own distance vector based routing protocol to make this happen.
Call is zero config. The onboarding process is really simple. You choose your language
and your username and your set up to go. Call has a user discovery. All users in the network
will automatically appear in your contact list. To make your interconnectivity visible,
we created a network view where you can see how you are interconnected. This connectivity
awareness feature is really important to help users understand the connectedness and the state
of the local network. Every connection in between two nodes is transporting cryptid.
And we have an end-to-end encrypted messaging system. Over which you can chat, send files,
photos, videos, and voice messages. We also have fully encrypted chat groups.
A special feature in call is a public message channel. These messages are unencrypted. They are
cryptographically signed by the sender. The messages are forwarded to everyone in the network
and partially synchronized between devices. In addition to that, we have a
delayed tolerant message routing. If somebody is not present in the network, we can still write
them a message. The message is then sent in a store and forward style, either to a predefined
user for storage and later delivery or to the user with the closest social proximity.
Call is available on all five major platforms. On Linux and AppStores, Android Store, we also have
an additional signed binary to download and share directly Windows, Mac OS, and iOS.
There is also a demon for headless devices and a CLI binary. So, let's quickly try a live
DMotion.
So, okay.
When you open for the first time, the call app, it automatically
selects the language of your device.
You can change to many other languages if you like.
And then to create a user profile, you just type in a user name, whatever user name
you like, okay, and you're good to go.
So, and what now happened is that cryptographic identity was created for you in the
background and the routing protocol started.
And when you are in a network and there are already devices present, then the public
messages partially the last messages are shared with you.
You are now in the public messenger that's what was coming in.
You also have a contact list in which you see all the users that you ever got a message
from or that are currently present.
So, these users, they have a profile page, you have the public key, and you have the identity
which is the hash of the public key.
You can verify a user, this needs to be done off the grid.
You get a security number, it's the same system that also signal used, and then you can
check on the other device, if it's the same security number, because the security number
are always in between two devices, and if it's the same, you can manually trust it and
you get a little batch.
Of course, you can also send them messages.
So now this was sent, we see we have two blue check marks, this means this message has
been sent and was delivered.
While we did that, we did one round trip, and we basically made the defy helmet to
cut from to static key that we can use for encryption, but already the first message
is encrypted in the system.
So, over this channel, we can exchange text messages, but we can also, for
example, send multimedia data, photos, so, yeah, okay, yeah, and we should also be
seeing the network, okay, it's not too big, we are only here in the room.
This is the program structure currently of call.
So we have a lip call written in Rust, we have three different network connections, for
two of the network connections we use Rustly peer-to-peer, we have a parallel quick and
TCP stack, yeah, basically all the important features are in this Rust lip call, and
before the UI we have a flutter, which gives us the same UI on all platforms.
As designed and inspired to enable individuals and community communities to establish networks
and build structures, it tells us so much about the systems of power and control and surveillance,
which we can now understand and specific forms of sub-selectification, and which we can counter
with our own formations, our own forms of networking and communication.
Thank you.
All right, we have about five minutes here for questions, so questions everyone, I'll
see you on right here, and then I'll see you on how I'll get to you after it.
Thank you, what do you do now, like, is it using the same technology as BChat, and if
you have any thoughts on that other peer-to-peer messaging app?
BChat, BChat, BChat, no, well, partially of course, but BChat also uses BLE, for example, but
it does not really have a routing protocol, it just sends messages, we have a routing protocol
which kind of ensures that you message really arrives and you also get and feedback from
that.
So, yeah, partially, so I would say what makes us quite unique is the routing protocol
where we can really interconnect all the different layers and wherever you are, you can
then use the services that are offered there.
During the trips and crisis, did you try some other layers quite like advanced mouse
coding called visible communications or infrared transmission to create the mesh?
No, we were not there.
Only two dots for GGS Wi-Fi.
So we started in 2011 during the hourspring to write this application because of the
average rate.
So the user is a public key and the private key is derived on the device.
Is there some backup mechanism or what's the idea behind that?
We are currently implementing a backup mechanism that you can export all your data that you
also can transfer it to a new device and that you can re-import it again, yes.
So I would say coming soon.
All right, any other questions up?
David?
Oh, okay, then there should be a new version next week, yes.
Okay, hello, we have a question from the internet, from someone in the chat, which is,
is for a world secrecy implemented?
No, yet, but it will come.
Okay.
We will implement the key rotation system that contains forward secrecy at the moment you
have just a static key for your connection.
And I have a follow-up question which is which crypto stack are you using?
We are using for the end-to-end encryption, encryption, the noise stack, for the transport
encryption, it depends for the TCP stack there.
We are also using the noise protocol and for the quick stack there is TLS.
Okay, and you have time.
Okay, one more question, which is which routing are you using?
Are you routing packets?
Are you fluid?
Floating the network?
How are you doing it?
We are using a distance-based, distance vector-based routing protocol.
So each user sends to all its neighbor packages of all the neighbors it sees.
And every kind of one in the network and out of these tables.
And then the metrics we also test the connection.
We test the connection, we have the hop counts.
And out of these metrics each user calculates the best way to the next one.
Only always the next hop in this metric is then decided by.
So you are doing analysis with that information periodically.
And then the local router calculates is best next to the hop and that's how packets travel.
And do you have any way to assure the arrive at the destination?
And you kind of TCP-like confirmation?
Yes, we have a confirmation packet, so yeah.
Okay.
All right, and that takes us to our time.
Let's get another round of applause, everyone.
Thank you, Matt.
Please share your time.
Thank you.
All right, I want to verify our next presentation is also a chat app.