toxcore icon indicating copy to clipboard operation
toxcore copied to clipboard

Statistical Data (For Clients)

Open thiras opened this issue 10 years ago • 11 comments

It would be good to provide some connection information in real time, like connected DHT nodes, bandwidth etc.

thiras avatar Jul 27 '15 19:07 thiras

Personally I don't find it useful. Connected DHT nodes are listed in logs, run qtox from command line, used bandwidth can be checked by operating system. qTox is instant messenger not network tester.

agilob avatar Aug 03 '15 19:08 agilob

I don't find it that useful either but I think some people would consider it nice to have. Something like the 'stats for nerds' thing that youtube has would suffice in my opinion.

alexbakker avatar Aug 03 '15 19:08 alexbakker

Such statistic data must be provided by toxcore otherwise qtox would have to sniff on virtual port in operating system, second option cannot be even considered.

agilob avatar Aug 03 '15 19:08 agilob

someone want to give some arguments for why this is needed?

GrayHatter avatar Feb 12 '16 22:02 GrayHatter

Connected DHT nodes (a list, not simply a number) are useful for clients to recycle as bootstrap nodes next time they connect. It's up to clients to decide which nodes to bootstrap from, but they can only do that from fixed lists if current, active nodes are not provided by toxcore at runtime. See also https://github.com/irungentoo/toxcore/issues/1250

LuccoJ avatar Feb 12 '16 22:02 LuccoJ

@LuccoJ that could take a long time if they replace the high availability nodes with peers that go offline. Would also make you more vulnerable to a sybil attack

GrayHatter avatar Feb 12 '16 22:02 GrayHatter

Other DHT-based systems I've seen use this kind of node caching and don't seem to be largely vulnerable to attacks, considering that you're going to store hundreds of independent nodes (since that's the amount you usually are connected to).

I'd be much more concerned about only ever connecting to a relatively small number of fixed nodes that never change, which is what all current clients do, and which is a kind of hard-coded centralization.

LuccoJ avatar Feb 12 '16 23:02 LuccoJ

@LuccoJ different use case, that kind of sybil attack could focus on a single user, and would be useful in a torrent style DHT network.

GrayHatter avatar Feb 12 '16 23:02 GrayHatter

Would such an attack still be feasible if, in addition to caching previous nodes as I'm suggesting, you also kept trying to connect to hardcoded ones just as we are doing now? Even connecting to one "genuine" node should let you know that there are other nodes that are trying to mess up the DHT's contents.

LuccoJ avatar Feb 12 '16 23:02 LuccoJ

@LuccoJ Ricin fetch the list from nodes.tox.chat and randomize it to bootsrap, works great. I think stats would be uselss :/

SkyzohKey avatar Feb 13 '16 19:02 SkyzohKey

@SkyzohKey Surely that's even more centralized, fetching from one fixed place. That place goes down or stops being kept up to date, you stop being able to bootstrap. Doesn't sound great to me. The power of caching nodes also lies in the ability to keep using Tox even if central nodes lists are censored or simply abandoned and updated clients with new lists are not available. Please remember about long-term reliability and usability in restricted-internet areas.

LuccoJ avatar Feb 13 '16 21:02 LuccoJ