Tribler / tribler

Privacy enhanced BitTorrent client with P2P content discovery
https://www.tribler.org
GNU General Public License v3.0
4.77k stars 443 forks source link

A trustful blockchain-based token economy to prevent bandwidth free-riding #3337

Closed devos50 closed 5 days ago

devos50 commented 6 years ago

This issue will be the main discussion place for our ongoing project: "A blockchain-based token economy to prevent bandwidth free-riding" (the title is open for discussion). The basic idea is to create a micro-economy within the Tribler platform for earning, spending and trading bandwidth tokens. This brings together various research topics, including blockchain-powered decentralized market, anonymous downloading and hidden seeding. Trustworthy behavior and participation should be rewarded while cheating should be punished. A basic policy should prevent users from selfishly consuming bandwidth without giving anything back. This directly addresses the tragedy-of-the-commons phenomena.

Our initial release should provide basic primitives to earn, trade and spend tokens. Our work could be extended with more sophisticated techniques like TrustChain record mixing, multiple identities, a robust reputation mechanism for tunnel selection, global consensus and verifiable public proofs (proof-of-bandwidth/proof-of-relay).

High-level overview: image

Initial architecture diagram:

microeconomy

Related issues:

Related work:

Open tasks (subject to change):

Must have:

Should have:

devos50 commented 6 years ago

@synctext I've 'refactored' this issue as we discussed last week.

devos50 commented 6 years ago

I've verified the basic setup using an isolated exit node, an isolated Dispersy tracker and a single Tribler instance, that anonymous downloading is working well and the exit nodes are paid correctly. I will now scale up the experiment and add more nodes. This allows me to explore a basic freeride policy, in the case of oversupply and undersupply.

devos50 commented 6 years ago

After #3502 is merged, the market is production-ready 👍

synctext commented 6 years ago

"Our live token economy: measuring and mitigating real-world attacks" Detection of fraud on our live network and attacking our own network with live Sybil attacks could be The Big Next Paper... Cue "incremental personal PageRank". Merge trust of barter, voting, and trade transaction graphs.

devos50 commented 6 years ago

Small game fallacy: http://unenumerated.blogspot.com/2015/05/small-game-fallacies.html?m=1

devos50 commented 6 years ago

Current status:

I think the code is ready for an experimental release. I will do some more testing and work towards structural end-to-end testing on our testnet network. This also allows me to analyze the efficiency of our scheduling algorithms at the exit node/relay nodes and get some insights into the efficiency of our free-rider prevention mechanism overall.

devos50 commented 6 years ago

Now that direct payouts are working (see #3776), I will focus on end-to-end integration experiments. I will start building these experiments in isolation but eventually, they will join the TrustChain testnet. Scientific goal: experimentally prove that free-riders are allocated less resources at exit nodes/relays.

ichorid commented 5 years ago

Oops, misclick on the Projects page... :face_with_head_bandage:

devos50 commented 5 years ago

Proof-of-Work as Anonymous Micropayment: Rewarding a Tor Relay

In this work, the authors propose a mechanism to reward Tor relay nodes, based on Proof-of-Work requirements by cryptocurrencies. Tor clients obtain Proof-of-Work shards and can turn them in later for preferential treatment.

They also propose a hierarchical token bucket algorithm to ensure QoS for "free" and "paying" clients. This is related to our slotted mechanism implemented in relay and exit nodes.

Schermafbeelding 2019-08-13 om 14 56 19

synctext commented 4 years ago

Thesis final chapter brainstorm (updated with estimated importance to the lab as a whole):

  1. Trustchain: measuring the emergence of trust in Markets, Money, and Media. (e.g., trader reputations and/or advanced exit node rejection policies). (or shorter: Trustchain: measuring the emergence of trust)
  2. Trustworthy decentral exchange market for bandwidth tokens (or broader: for bandwidth tokens and cybercurrency)
  3. Trustworthy blockchain-based decentral markets
  4. BTC-ETH: Global decentral marketplace for cybercurrency
  5. Comparing numerous blockchain solutions (including EBSI)
devos50 commented 4 years ago

Final thesis chapter idea (as also briefly discussed yesterday): Tribler: 15 years of research on managing the Internet commons. Also, see here. This will be a journal paper, suitable for a single-blind review policy.

system_architecture

What problem did we solve? We design, implement and evaluate a fully decentralized infrastructure to address free-riding behaviour in shared-resource systems, oriented around three key components: community accounting, reputation mechanisms and resource allocation. These three components together are capable of detecting fraudulent behaviour, e.g., record withholding and the Sybil Attack.

Key contributions:

synctext commented 4 years ago

Related work on decentral marketplace with tokens: FileBounty: Fair Data Exchange image Their system uses Semi-trusted third party, Merkle-Damgård and Sponge Construction, Boneh-Lynn-Shacham signature scheme, and obviously zkSNARKs. This is a fascinating theoretical result. However, "an Ethereum smart contract serves for dispute mediation" and all these complex components are not suitable for real-world usage at "Facebook" deployment levels.

devos50 commented 3 years ago

I have started a write-up on this ecosystem here. Using this issue as a place-holder for the images in the document.

architecture

payouts

synctext commented 3 years ago

Reacting to: https://github.com/Tribler/tribler/pull/5689 and https://github.com/Tribler/tribler/issues/5676. Much progress towards freeriding prevention :1st_place_medal:

devos50 commented 2 years ago

This issue has most likely been deferred in favour of tag-related improvements so I'm un-assigning myself for now 👍

qstokkink commented 5 days ago

It seems like this issue was part of completed PhD work. I'll close it.