Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

Briar and Bramble: A Vision for Decentralized Infrastructure

$
0
0
Briar and Bramble: A Vision for Decentralized Infrastructure
Briar and Bramble: A Vision for Decentralized Infrastructure
Dymaxion.org

What if we could build secure systems that didn't depend on central servers or even Internet access to let people collaborate? What would a system like this mean for political organizing, disaster relief, or even civic infrastructure? The Briar app and the Bramble framework are an attempt to find out.


Briar and Bramble: A Vision for Decentralized Infrastructure
I have a Patreon, here , where you can subscribe to support my security and systems-focused writing. You sign up for a fixed amount per essay (with an optional monthly cap), and you'll be notified every time I publish something new. At higher support levels, you'll get early access, a chance to get in-depth answers to your questions, and even for more general consultingtime.

Dymaxion.org isme. Along with writing, Iconsult, givetalks, makeart, take photographs , and work on a number of public projects. You can hire me to do all of these things.

2018 EleanorSaitta.

Feed for essays and talks

Return to All Essays

One of the projects I'm working on is called Bramble. It's a protocol and a framework for building a new kind of decentralized application, one that's built for a mobile-first, offline-first world, and one that builds security in from the start. Bramble isn't just code, though, it's a way of seeing the world. We want Bramble to enable new kinds of relationships with the governance and function of infrastructure, of urban systems, and maybe even of societalinstitutions.

If you've heard of this project, it's probably because of our first app on the Bramble framework, Briar. Briar is a secure messaging application, and while it does a lot of novel things, it's just a start. If you've read my other pieces, you may remember me telling folks they shouldn't write new secure messaging tools. The caveat I mentioned then was for folks trying to do something exactly like this ― pushing back the boundaries of how we can do messaging. In this essay, I'd like to tell you a bit about what makes Briar unique, and a bit more about the larger picture it's partof.

Briar is built on top of Bramble. Bramble handles all of the core functionality of sending blocks of data back and forth, managing contacts, keeping channels between users secure and metadata-free, synchronizing state between a user's devices, and handling dependencies between pieces of data or expiring them when they get too old. In addition to synchronizing data, Bramble lets applications use something like message queues to send each other queries or to invoke functions remotely. Briar uses this functionality to build a rich, easy-to-use messagingenvironment.

Bramble has been a long time coming. I started working on this idea in the winter of 2011-2012, and Michael Rogers, the lead developer, has been working on the messaging-specific parts of it for longer. Building systems that don't look like what folks are used to is hard, and funding them is harder. We've kept the project ticking over, though, and now we're finally off and running ― possibly because the world is catching up abit.

The biggest thing that makes a Bramble application different from any other app that you might run on your phone is that everything runs right on your phone, laptop, or both at once. Almost every traditional app that you use on a modern phone has some kind of server-side component keeping everyone in sync and providing an authoritative view of what's going on. If you can't talk to the server, you can't do anything at all ― at best, you get access to some kind of “offline mode” for interacting with whatever data you have cached locally, likely read-only. This is better than nothing ― the system doesn't treat being offline as an actual failure, but it's not enough to handle offline being“normal”.

Bramble apps let users work together offline. Because there's no server, there's nothing to be out of touch with. Bramble also understands how to use whatever connections your device has to find the folks you want to work with. If you're within Bluetooth or Wi-Fi range, Bramble will switch to talking directly to the other device, even if you don't have a connection to the Internet. Local network connections are the same ― Bramble will talk directly to other devices whenever it can, and it only goes out to the outside world if it needs to. Bramble applications can even run over sneakernet if they need to ― just tell the application that you want to send a USB stick worth of updates to a contact and then have someone run it over to them. We can handle latencies from a microsecond to a month while still maintaining the same security guarantees for levels of encryption and forward secrecy, even on one-waychannels.

Bramble apps are also designed to work when they can't connect to other systems they're working with, letting you do everything you can normally and then synchronizing those changes to other devices when they become available. How complex synchronization is depends on the application. In Briar, it's easy ― just sending and receiving messages that have queued up while you were offline. If you're old enough to remember using Usenet from a client running directly on an nntp server, it's kind of like that, and direct messages are like email used to be, back when we ran mail clients directly on mail servers. The difference, of course, is that you get all the modern conveniences and the machine is sitting in your pocket. In some applications, synchronization may be a bit more complicated, like if you've been editing a complex document at the same time as a friend has. Even in a situation like that, though, Bramble lets developers make the process no harder than the underlying problemis.

For something simple like editing we're already used to seeing the advantages of things like shared Google docs, and it's easy to see how that could be more useful if you didn't have to worry about having a fast Internet connection (or one at all) to collaborate. Likewise, one of the conveniences of the messaging use case Briar serves is that you can keep sending and receiving messages from friends, even as you, say, get on and off a subway train where there's no cell service. Other cases are even more interesting, though. If you're a team working together in the field with a decision support system that's helping you do something like allocate resources, you need it to work on the basis of all the current information you have, even when you can't be connected to the outside world. With a Bramble-based app, teams can make the best decisions on the basis of the information they have locally and don't need to wait to talk to central systems when they're in ahurry.

Trust is a critical issue with Bramble. The original use cases for Briar have always been as a communications tool for people at risk, whether they're journalists, political activists, folks trying to work together to organize a union, or sex workers or domestic violence victims who need to check in with friends to stay safe. When you work with a central server, you've also got a central point of control and surveillance. Better centralized communication systems use end-to-end encryption so the server can't see what you're saying, but the server can always still see who you're talking to and when. Metadata like this is often more dangerous to surveilled users than the actual message content. Worse,

Viewing all articles
Browse latest Browse all 12749

Trending Articles