Tribler / tribler

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

GUI: random walk with real-time updates #10

Open synctext opened 11 years ago

synctext commented 11 years ago

visualization of trust buildup for virtual identities. Key issues: rendering, smoothing and node placement as nodes get added and pruned.

Depends: #20

initial prototype: web-of-trust-in-Tribler-GUI

boudewijn-tribler commented 11 years ago

igraph is a library (also for python) that can allow us to generate large graphs. http://igraph.sourceforge.net/screenshots.html

egbertbouman commented 11 years ago

Updated prototype:

effortgraph

NielsZeilemaker commented 10 years ago

Closing ths one, bartercast isn't going to be integrated into Tribler any time soon. Hence, there is no direct need for a gui.

synctext commented 6 years ago

Our 2018 work is now deployed and a new "barter" graph is created from the Trustchain crawl bokeh_plot

Older crawl, from original Bartercast by Rahim; the June 20 until September 9, 2009 crawl.

image

synctext commented 5 years ago

BarterCast III crawl from 2018 (now named Trustchain)

c1d7634c1869dc6d025767399eedeb30

devos50 commented 5 years ago

Real-time render of TrustChain interaction graph: http://explorer.tribler.org/visualization

synctext commented 5 years ago

Examples: Graphlab Traverse Tab Screenshot random_walk_python random_walk_bias random_walk_walkers random_walk_connected random_walk_graphlab

cuileri commented 5 years ago

OK, I'll focus on it.

cuileri commented 5 years ago

Initial stuff I've started with exploring Alexander's code, and decided to code from scratch because:

Current state of the code

line

Issues

Next sprint (upon discussion with Johan)

alexander-stannat commented 5 years ago

The GUI looks very nice!

It might be worth having a discussion about the second point you mentioned. If one wants to take into account the nodes that have downloaded from the seed node as well as the nodes that have uploaded to it then a good way of doing this is by considering bidirectional edges, instead of our current unidirectional ones. This would enable us to evaluate peers, not just based on their up-to download ratio, but also on absolute values.

Also, we should think about somehow combining the BFS with the actual random walks to reduce complexity. Otherwise random walks might not be really necessary any more (as was discussed this week).

cuileri commented 5 years ago

I totally agree with Alexander that we need a different implementation of edge weights (or directions). I discussed it also with Johan, giving the following extreme case as an example: Consider two nodes which download and upload a huge amount of data from/to each other. At the end, the weight of the edge between them will not reflect the amount of traffic. Moreover, if they upload/download the same amount of data from each other, the weight of the edge will become zero.

I think we will come up with it a clever strategy over time.

cuileri commented 5 years ago

The current state of the code:

anim

Next sprint

synctext commented 5 years ago

Easy bootstrap and visualisation idea to take "mathematics-of-trust into production usage. Show the user and include a first version of our trust formula. Possible goal for end of March: genesis trust swarm.

cuileri commented 5 years ago

Detected a problem with both Alexander's and my implementation of random walks. Presented here.

synctext commented 5 years ago

New Attacker model: majority is malicious, however majority of evil nodes are overseas.

Brainstorm, combine latency-restricted communication #2541 with the 25MByte boostrap concept (oldest mention):

Decided at last Dev Meeting: we will first launch an "animation-only" version of the genesis trust swarm in Tribler.

synctext commented 5 years ago

PR #4488 image