Ideals behind Retroshare

Dear readers and –hopefully– Retroshare users!

We decided to publish documentation about Retroshare as a blog. This will help us manage the huge amount of information to be dispatched as small posts. We’ll try to progressively cover all technical aspects of the software, with various levels of complexity, on a regular basis. Posts will be written by developers, and possibly by invited users from the  Retroshare community.

As developers, we expect this blog to be a place of discussion about the software, the algorithms, and future developments. We encourage readers to comment in any way they find useful.

Retroshare’s philosophy: decentralization and privacy

Retroshare is all about sharing and communicating with trusted Friends. This is the core design of Retroshare: a decentralised Friend-2-Friend network, which allows you to share stuff … not with the whole world… but with people you know and trust.

Privacy

Retroshare creates direct SSL secured connections with your friends. This ensures that you conversations are private and cannot be eavesdropped on. The decentralised design ensures that there is no central server or single company that has access to all the data.

Some people like to call Retroshare a “DarkNet”. The similarities are a result of the Friend-2-Friend design rather than a deliberate aim.  Actually, it is essential for Retroshare to use strong identities to authenticate your friends. We don’t hide Retroshare’s existence, but instead focus on keeping communication private and and only sharing information with your friends.

The decentralized way

The decentralized nature of the Retroshare network requires information progressively flow through friends as they connect to each others. This happens for instance to Retroshare forums and channels, where subscribers propagate interesting topics to their friends making them more popular per se.

This encourages you to set things in motion and let the network silently handle them: send messages to your friends, start downloads, subscribe to channels – and let Retroshare worry about it in the background. It will update your friends when they come online, and let you know when new content arrives. You can even read your new messages offline, as most content is locally cached for you to access when you want to.

Localized network

Retroshare tells you about the people around you: your friends and–optionally–friends of your friends, but very little about what lies beyond.  You can receive information like forum posts and files from the rest of the network, but you have no idea about the original source of the information.  Retroshare’s design ensures you have little idea of who is out there – it is just friends, of friends, of friends, of friends ad infinitum.

As the developers of the software we have no idea who is using Retroshare and for what purposes, beyond our own friends, and thats the way we like it.

Anonymity and Censorship Resistance beyond your own friends

Retroshare’s security comes from using a set of communication algorithms that provide anonymity beyond your own friends: file transfer is ruled by a Friend-2-Friend routing algorithm, decentralized chat is made possible by an anonymous message routing method.

The benefits of such algorithms are best described by the author’s of Turtle [1], one of the algorithms Retroshare uses:

When designing Turtle, we were inspired by the way people living under oppressive regimes share information deemed “hostile” by their government (this can be books, newsletters, video and audio recordings, or even political jokes). Because of the potentially very serious consequences raising from being caught possessing/distributing such material, no single individual is willing to share it, except with close friends.

Experience has repeatedly shown that, even in the most repressive environments, this “friends-to-friends” delivery network is remarkably effective in disseminating information, with relatively little risks for the participating parties; if one chooses his friends carefully, the chance of being caught doing the forbidden exchanges becomes very small.

Retroshare’s decentralised model means there is no central authority to remove content.
As described by Wikipedia [2] , Retroshare “… makes it difficult to intrude and hardly possible to monitor from an external point of view.” This makes government monitoring and prosecution impossible beyond the will of Retroshare users.

We wish you a happy reading, ….and a private life on the internet.

Your fellow devs

Links:

[0] Retroshare’s Homepage

[1] Safe and Private Data Sharing with Turtle (pdf)

[2] Retroshare on Wikipedia

About these ads
This entry was posted in Misc. Bookmark the permalink.

6 Responses to Ideals behind Retroshare

  1. Tigerix says:

    Thanks very much for creating this blog!
    That’s what I was hoping for since a long time.
    Great to have you guys here.
    Really looking forward to your posts.
    Cheers, Tigerix.

  2. You are making a good work…
    When we can sync folders ?

  3. gumbertd says:

    Thank you for all your hard work guys. I am using retroshare for over a year now and its great. Just the cache system needs some love and i hear rumors that there is a better one to come (compression, more efficient).

  4. Boldhawk says:

    Maybe you truly understand the profound implications of your system, beyond what you have openly expressed. I’ve been in IT since early 80′s and what you have done is probably the best work I’ve ever seen. I hope to learn what you have done so far, and at some point pitch in with some effort.

  5. Boldhawk says:

    I’ll be happy to do what I can when I understand the system better.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s