Revolver Kickoff — FSE Blog

Revolver Kickoff

Revolver is officially a Real Thing™. This is the kickoff announcement, you can also read an explanation of the project motivations. It has been difficult to pry myself away from hacking on it to write about it.

I've been making somewhat cryptic noises about this project for about a year, sketching out the basic architecture, making notes, losing the notes, saying I was going to get to it but it was a slow process, etc. Some recent events upped the urgency, so I said to graf that I was going to start hacking on it but that I expected there wouldn't be much attention on the project. I made a hasty half-announcement on FSE and a LiberaPay team for Revolver with a blurb about the project. This, it turns out, was wrong: people have been excited, some donations have already started rolling in, which means I can afford to just work on Revolver for a little while. I'm shocked and grateful and elated, but it does mean I should write a somewhat more official announcement. (I can't stress enough that the level of interest caught me somewhat off-guard.) Here it is.

What is Revolver?

I'm going to start with the four-color glossies that you have seen if you saw the initial announcement (though I fixed some typos). At present, aside from code on my computer (and soon, hopefully, yours too), it is a set of goals.

Project Status, Architectural Notes

The prototype is being actively hacked on, and shortly the prototype's source code will be available and if someone else manages to build and execute it, there will be a handful of nodes that are run by people that aren't me, at which point I'll be hacking on the production version (and accepting patches and probably adding people to the team) until the initial set of features is complete, at which point it will be "beta". At the current rate, within a month or so, it will be talking to the rest of fedi.

At present, blocks slush around and you can post something and it will show up on another server. Right now the interface is 100% text, though. The protocol is rudimentary. Signed posts can be distributed via HTTP or IPFS; there's a primary format and storage/propagation are pluggable. (I didn't hack in attachments yet but that's easy. Nodes that support IPFS should be able to distribute attachments as IPFS hashes, too.) Obviously Revolver will have hooks for integrating Tor: shallow integration is possible to achieve just by being careful about proxy support, and that might be enough. I have some thoughts on BitTorrent but those are still percolating; I think it works as a side-channel but it was an issue with Twister, as noted below.

There is a lot of work to do. I am very excited about that, and am extremely excited by the people that have offered to hack on it.

Interface Notes

I've used other fully decentralized systems. I liked Twister and used to mine blocks for the network. Twister was one of the early ones: it started as a fork of the Bitcoin source code, and used WebTorrent to distribute posts. Pretty cool! But that landed it on the bad side of some trade-offs: namesquatting was rampant, discovery was difficult, running a client was heavyweight, the network was fairly slow, search was broken.

I think Revolver can solve a lot of that. The design has benefitted greatly from fedi, from seeing how the network has worked these years, the performance pain-points on FSE and elsewhere.

Recently Asked Questions

About the Name

It might change. If you made the connection, then you're pretty good. There's another parallel, though. Admins on fedi disturb the balance to some extent, and Revolver should act as a great equalizer: people running a server should be free to post like regular people, and people using someone else's server shouldn't be beholden to the admins. If it can do just that part, the project's a success, but I think the other goals make it more than worth the effort.

Funding

You can donate to Revolver via LiberaPay:

Revolver donation button

You can also send Bitcoin (BTC), the address is 1BZz3ndJUoWhEvm1BfW3FzceAjFqKTwqWV and here's a QR code:

Revolver BTC address QR code

There are plans for Monero/Doge/BCH/ETH/BAT. Like I said, I haven't taken time to set up anything really. The attention being paid to the project is a surprise.