If you know and trust me, you might share with me certain information that you wouldn’t want to be made public. When that information sharing involves computers, you can use RetroShare to exchange the information.
RetroShare is a secure friend-to-friend (F2F) communication platform that uses PGP to implement a web of trust. Friends sign their keys and indicate their trust level to maintain security in the network. All communications are encrypted by 2,048-bit SSL keys.
“I am happy to share information with my friends, but I don’t want any company to have control over my profile, to be able to decide that my profile should be shared with ‘partners’ to aid their bank balance.
“RetroShare aims to be a private F2F social network. Ideally we would become a hybrid of Facebook, Skype, and BitTorrent. Obviously that’s a huge aim, and we’re only part of the way at the moment.”
The first time you connect to a friend using RetroShare you must exchange GPG certificates. After that, a list of friends of your friends appears, and you can decide how connect to them based on your friends’ signatures and trust level.
The core of the software is a library with an SSL communication layer over TCP and UDP, onto which is build a cache system and a packets exchange layer. RetroShare services implemented on top of this include forums (which are like web forums, but private, and which support signed or anonymous messages), messages (chat, group chat, and private messages/mails), and lists of shared files. The GUI is based on Qt.
File transfer is based on anonymous turtle hopping. A turtle router component builds tunnels to anonymous distant peers, based on the hash of files. Tunnels automatically reconfigure into paths with the shortest ping times when peers disconnect or when the network load changes. Fernie says, “Like any social network, the more friends you have on RetroShare, the better your experience will be, as RetroShare uses the peers to keep the network up.”
The developers say the combination of PGP friend management and turtle file transfer makes RetroShare unique in the field of private F2F networks.
Fernie says he started working on RetroShare at the end of 2004. “Initially it was a distraction from writing up my Ph.D.; I’m sure many a good project started in a similar fashion. After about six months I realised that there was no possibility of creating a useful tool by myself, so I decided to open-source the project at the start of 2006. That year Oguzhan Demirel joined the project and worked on the beginnings of the existing GUI, and has been continually improving it ever since. Cyril Soler joined the project about two years ago, and has taken over the lead developer role.”
In the near term, the developers plan to implement a new service, channels, which they say will be a bit like forums, but for files. “You subscribe to a channel, and any file that is pushed there by the channel’s owner is automatically uploaded to subscribers’ RetroShare nodes,” Soler says. “This is useful for things like TV series.” Eventually the project hopes to add VOIP capabilities, to allow users to talk without fear of being spied on.
Fernie says the project’s biggest challenges include finding good developers, especially on Windows and Mac platforms; maintaining project direction when everyone wants to do their own thing; and proper software testing, because no one wants to write unit tests. If you’d like to help meet those challenges, you can contact the project through its SourceForge.net page.