April 8 2021 GM

From TCU Wiki
Glitter Meetups

Glitter Meetup is the weekly town hall of the Internet Freedom community at the IFF Square on the IFF Mattermost, at 9am EST / 1pm UTC. Do you need an invite? Learn how to get one here.

  • Date: Thusday, April 8th
  • Time: 9am EST / 1pm UTC
  • Featured Guest: Gus Narea

Join Gus Narea to explore Relaynet, designed to establish connectivity in regions where the Internet is unavailable due to natural or human causes. Specifically, Relaynet lets your apps continue to send and receive data even if the Internet is unavailable. Currently, Gus is seeking feedback for the app. Join us and:

  • Learn more about Relaynet, how it works and what you can do with it now
  • The medium and long term roadmap for the project
  • How you can get involved.

Relaynet was designed by Gus Narea at the University of Oxford with the initial goal of circumventing censorship by repressive governments, and he later founded Relaycorp to support and scale the Relaynet project while keeping it as open and inclusive as possible.

The security of the protocol suite was independently assessed and Relaycorp started to build the foundation of the technology thanks to a contract with the Open Technology Fund in late 2019. Our current focus is on helping Android developers integrate Relaynet in their apps.

Community Updates

Topic of Discussion: Relaynet

  • Gus’ (you can find him on the IFF Mattermost as @gnarea) background is in software engineering, and in the past few years his focus has been cybersecurity.

Can you talk a little bit what's FLOSS? and do we need to set it up first before internet shutdown? how does it work?

  • It means Free Libre Open Source, this is because of language and cultural issues, there used to be tons of fights back in the day. And it's important for language justice. In some countries FLOSS is just practical, in other countries, like in Latin America, it's part of social movements. So FLOSS just makes everyone happy.
  • Relaynet is 100% FLOSS. Even the server-side infrastructure. If you can't find it on GitHub, it doesn't exist. We also commit to keeping things that way per our T&Cs

Do we need to set it up first before internet shutdown? how does it work?

  • To use it for the first time, you basically have to download the Awala/Relaynet app plus at least one Awala-compatible app.
  • Due to a limitation (that's easy to overcome but we haven't fixed yet), you do need access to the Internet the very first time.
  • Once you're set up, when you lose your connection to the Internet, you basically have to meet an Awala "courier" -- who's a person who will physically transport your data to/from the Internet. Everything is E2E encrypted so they can't see/change your data.

Where can people download it?

  • You can download it here
  • And see a demo here
  • They didn’t yet renamed Relaynet -> Awala (will do it by the end of the day)
  • That app, isn't useful to end users. It just gives you the ability to use Awala-compatible apps that can work with the Internet. But it doesn't offer any functionality an end user would actually want to use per se.

How this differs from other tools like Bridgefy and Briar in functionality and features?

  • Bridgefy is two things: A platform to build apps that use meshnetworking and a messaging app built on that platform. Awala is roughly comparable to the former, but it doesn't support meshnetworking (yet, though it's on the roadmap). Awala is more like a scalable, end-to-end encrypted sneakernet today.
  • Compared to Briar, Awala by itself is just a platform. In the future, once Awala becomes more mature/stable and has additional functionality, you could theoretically re-implement Briar on Awala.

What does an Awala compatible app look like? Can anyone add Awala compatibility to their projects? Are there API's SDKs available for that aim?

  • Awala was specifically designed so that end users won't have to trust couriers.
  • Apart from E2E encrypting the data they transport, we need some metadata to facilitate routing to the final destination. But this metadata is minimal for privacy/safety reasons. If you're a courier or intercept one, and have the right software tools, this is all you could see:
    • If the data is coming from a disconnected region to the Internet, then the address would be a domain name like frankfurt.relaycorp.cloud. Note that it's not twitter.com, so you can't tell the user is using Twitter.
    • If the data is going from the Internet to the region disconnected from the Internet, then the recipient address would be an opaque, randomly generated id.
  • An Awala-compatible app would look just like any other app: Developers can use the same UI frameworks the use today.
  • However, UX designers will have to avoid common patterns because they generally assume that the user is connected, and if they're not, then they'll be reconnected pretty soon. So they'll have to treat such situations as the rule, not the exception.

Its fair to say that Awala/Relaynet is like a type of mesh network?

  • Technically speaking, we don't support mesh networks just yet.
  • With Awala, as an app developer, you just define the final destination of each piece of data and Awala will use the best "underlying network" it has at its disposal: That is, the Internet when it's available, or a secure sneakernet when the Internet is cut off.
  • But more fallback networks are on the roadmap. Bluetooth-based meshnets are amongst them.

Without a mesh network or internet connection, how does Awala "see" the sneakernet and connect you with a courier?

  • Right now, the user will have to agree to synchronise data with a nearby courier.
  • Once you and the courier agree, then the courier will open the Courier app on their phone and they'll share their WiFi hotspot details with the user. (Note that the courier is also disconnected from the Internet: The WiFi hotspot network is simply used to allow 1 or many users to sync data simultaneously)
  • From the user's perspective, once they join this WiFi network, the Awala app will detect it's a courier and will begin the sync process -- which is automated.

What about distribution of tools like this once you are already in a shutdown crisis? And also, how do you get communities to build up these networks prior to a crisis? When there isn't an urgent need, it is so hard to get people to adopt new tools just in case.

  • Right now, you do need a connection to the internet the first time you ever use Awala, but that's due to a short-term limitation we'll address soon. But even once we fix that, unfortunately the barrier will be there: Not least because Google makes it too difficult and completely unsafe for users to install apps offline on Android.
  • OTOH, part of the medium-term roadmap is to make all Awala apps circumvent Internet censorship. In the end, any region susceptible to Internet blackouts is always subject to severe censorship when the Internet is available. So once we get there, that'd be an extra incentive for end users and app developers to try Awala.

So it's fair to say Awala/Relaynet is like a background app that will make other apps work without the internet? Also, do app makers need to design their app to work with Awala/Relaynet, or would an already established Twitter App also work with it?

  • That's exactly right: Awala simply sits in the background while other apps on the phone use it. End users won't have to use the Awala app, except when they need to sync data with a courier. Otherwise, they won't ever see it.
  • One of the key requirements for Awala was to make it possible to support existing Internet services, such as Twitter. App developers (or even Twitter Inc.) can make twitter compatible with Awala, for example. Here's the proof of concept I built with twitter, using the Twitter API: https://github.com/AwalaNetwork/poc

What does "Awala" mean? What's behind the name?

  • It means "sibling" in Wayuu, a native South American language spoken in Venezuela. I picked the name because it symbolises the north star of the project, which is about empowering everybody.

Installed it and disconnected my phone from the internet and now Relaynet says, you are disconnected from Relaynet.

  • In that case, it should offer the option to sync with a nearby courier.
  • It'd be another person, who uses the Courier app to relay data between the region disconnected from the Internet and one location connected to it.
  • Here's the Android app for couriers: https://play.google.com/store/apps/details?id=tech.relaycorp.courier
  • So other phones would be the couriers, but people would need to download this courier app in order to serve as a courier