Skip to content
Johan Pouwelse edited this page Oct 10, 2013 · 36 revisions

Bits moving across the Internet are vulnerable to surveillance and censorship on an unprecedented scale. Today, both Internet providers and governments possess the ability to monitor the moves of their digital citizens from central infrastructure points — an ability that creates significant potential for abuse, and a threat that goes beyond the scope of mere monitoring or filtering.

Internet kill switches seem to exist, governments have demonstrated their ability to disable communications networks in times of crisis. During the 2011 Arab Spring, Egyptian authorities demanded that telecommunication companies sever their broadband connections and mobile networks—both local and European operators were forced to comply, and, as a result, digital Egypt vanished. Despite the country’s decentralized infrastructure, an Internet blackout was relatively easy to carry out. We aim to end such blackouts with fully self-organizing systems. By removing all servers (HTTP, DNS, Bittorrent trackers and video portals) we can create a unique rich media landscape. Today Tribler is robust: "the only way to take Tribler down is to take The Internet down".

By using smartphones we aim to even bypass Internet kill switches in the future. Today we have a fully operational app on Android market which is our proof-of-principle defense against Internet kill switches, note that it is stable but far away from being usable.

Our grand vision in a 1+ hour lecture given at Stanford University, via their Youtube channel. We want more then bypass Internet kill switches. Our grand vision is liberating both media and money. See the talk Abstract and slides (.pdf 78 pages). Keywords: transform money, “Bank-of-Bits”, global financial meltdown isolation. Use cooperation&stability, not volatility&greed. Alter the essence of capitalism (rich get richer) by abolishing compound interest rate and facilitation of safe zero-cost money transfers & lending. We aim for a direct assault on the essence of capitalism, aiming even further then the Bitcoin accomplishment (bypassing the central bank).

Scientific aim: Push the boundaries of self-organising systems, robust reputation systems and craft collaborative systems with millions of active participants under continuous attack from spammers and other adversarial entities.

Background Tribler started in 2005 and has been Internet deployed for 7 years now. Roughly 10 to 15 scientists and engineers work full-time on it. Our ambition is to make darknet technology, security and privacy the default. As of 2013 we have received code from 46 contributors and 143,705 lines of code.

Technical documentation pointers and reading list

Overview of Tribler (.html 5 pages). Tribler is the first client which continuously tries to improve upon the basic BitTorrent implementation by addressing some of the flaws. It implements, amongst others, remote search, streaming, channels and reputation-management. All these features are implemented in a completely distributed manner, not relying on any centralized component. Still, Tribler manages to remain fully backwards compatible with BitTorrent. The 2006 overview of Tribler (.pdf 6 pages) featuring taste groups, friends, friends-of-friends and faster downloads by donating bandwidth to friends (protocol spec of friend boosting). Note that the Tribler protocol specification (.pdf 47 pages) is now mostly outdated, as we switched to our new synchronization protocol called Dispersy (see below).

Robust Reputations

Tribler includes a deployed reputation system which we have been enhancing over the years (.pdf 8 pages). Improving download speed through providing a reward for seeding has been a key quest of the Tribler team since work began in 2005. Our original BarterCast protocol was deployed in 2007, it uses a maxflow-based reputation mechanism. It provides peers with a (partial) view of the network in terms of the data transfers that have occurred between peers. The DropEdge enhancement was proposed to BarterCast by Harvard and Berkeley scientists (.pdf 35 pages) which makes the mechanism harder to attack. They also present in this in-depth work a general model of distributed work systems, security proofs and simulations. We have studied reducing the storage cost of our reputation system. Forthcoming publication: "A Network Science Perspective of a Distributed Reputation Mechanism", from 2013.

Light-weight video streaming engine

We designed a new way of doing Internet streaming, without servers. This work is now an official upcoming IETF Internet Standard around streaming. Currently operational on PCs, tablets and smartphones. Our P2P streaming engine supports both pre-recorded (on-demand) and live audio/video content. It has been designed to provide short time-till-playback for the end user, and to prevent disruption of the streams by malicious peers. It can use different mechanisms to optimize peer uploading, prevent freeriding, and work with different peer discovery schemes (trackers or DHT). It supports multiple methods for content integrity protection and chunk addressing. Libswift, is our LGPL reference implementation of this upcoming Internet Standard. It uses an intricate and highly efficient data structure called Binmaps (.pdf 11 pages) we devised specifically for this application. We evaluated Libswift extensively to establish the overall performance and specifically the power consumption on mobile devices (.pdf 12 pages) when streaming. Furthermore, we implemented extensions to seed over [1 TeraByte of content and a mechanism to reward good seeders with priority (.pdf 54 pages)] (http://repository.tudelft.nl/assets/uuid:d2a72d3f-d28b-4d9d-998a-b030c2f28aed/thesis.pdf). The university of KTH in Sweden has also conducted [experiments with Libswift (.pdf 86 pages)] (http://kth.diva-portal.org/smash/get/diva2:568118/FULLTEXT01.pdf). Reference code location1 and location2.

overlay protocol for synchronization

[Dispersy is a fully decentralized system for data bundle synchronization (.pdf)] (http://www.pds.ewi.tudelft.nl/fileadmin/pds/reports/2013/PDS-2013-002.pdf), capable of running in challenged network environments. Key features of Dispersy are stateless synchronization using Bloomfilters, decentralized NAT traversal, and data bundle selection algorithms that allow the system to scale over 100,000 bundles in the presence of high churn and high-load scenario's. The versatility and good performance of Dispersy is shown by comparing it to Cassandra using the Yahoo! Cloud Serving Benchmark (YCSB). We have modied YCSB as to include nodes randomly joining and leaving, a kind of behaviour that is very typical in challenged network environments. Furthermore, we integrated Dispersy in the BitTorrent client Tribler and show that it is performing very well in various real-time challenged network scenario's (3G and WIFI).

Various other bits

Cybercurrency vision, in collaboration with Harvard We are working since 2007 on turning bandwidth into a currency. We have been working on cybercurrency before Bitcoin appeared and solved the double spending problem. Impressive work, but see our deep analysis of Bitcoin design flaws that need to be fixed such as security and scalability.

We conducted one of the largest measurements of NAT/Firewall behavior in the wild.

For many year we did emulations of swarm health, scalability and flashcrowds http://www.st.ewi.tudelft.nl/~lucia/publications/flashcrowd_p2p.pdf

100+ anon articles: http://freehaven.net/anonbib/date.html http://dx.doi.org/10.1109/HPCC.2012.111

thesis work on rewarding seeding/goodness/anon-proxy: https://github.com/Tribler/tribler/issues/5 NAT puncturing in Dispersy: http://jenkins.tribler.org/job/Experiment_NAT_1H/2/

Our aim is creating a censorship-free Internet. Tor has proved itself over the past 10 years, however it is struggling to keep up with demand. Onion routing alone cannot overcome the threat of government-imposed Internet shutdown. The challenge is to design a censorship-free Internet sustainable even when an adversary controls the underlying infrastructure. In 2012 we announced our new aim and many news organisations, like Fox and Russian Today called us the the new weapon in the battle for Internet liberty.

Our 2-year in-depth measurement and analysis of Bittorrent (.pdf 25 pages), largest measurement to date in 2004.
Our study covers eight months of the BitTorrent/Suprnova.org file sharing ecosystem. In particular, we show measurement results of the popularity and the availability of BitTorrent, of its download performance, of the content lifetime, and of the structure of the community responsible for verifying uploaded content. We used 100 nodes of our Distributed ASCI Supercomputer to measure every minute the download bandwidth of more than 100,000 downloads of popular content such as the ”Matrix Revolutions”, ”Lord of the Rings III”, and ”Beyond Good and Evil”, and to obtain the statistics of over 60,000 swarms.

Private Bittorrent communities and understanding sharing ratio enforcement effects (.pdf 5 pages). Measurements of 508,269 peers in 444 swarms of five BitTorrent communities, ranging from public to highly elite. We observe download performance, connectability, seeder/leecher ratios, seeding duration, and statistics regarding the resource supply.

Before the rise of Napster we studied such mechanisms on a small scale. Several years before Wikipedia emerged we deployed a music encyclopedia with unconstrained write access, it never became popular because we focused too much on software, instead community growth.

Tribler in the Media

Technical Tribler Pages

We use Jenkins for continuous integration, unit tests, installer builders and performance testing. You will find a lot of automatic running scripts there for things like correctness, NAT puncture performance and GUI tests.

Running Tribler from sources in Eclipse

Systemtap installation pointers

Tribler history

  • 2012: Tribler Mobile live streaming from a phone camera to potentially thousands
  • 2011: Libswift accepted as an upcoming IETF Internet Standard
  • 2010: Wikipedia.org uses our technology for live trial
  • 2009: Large HD streaming trial with BBC
  • 2008: Social network without servers and "easy" invites
  • 2007: Our reputation system launched in the wild
  • 2006: Tribler 1st released
  • 2005: First Tribler code = social Bittorrent
  • 2004: Slashdot for first time with largest Bittorrent study