Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accounting: Bandwidth metering #1

Open
oskarth opened this issue Aug 23, 2019 · 0 comments
Open

Accounting: Bandwidth metering #1

oskarth opened this issue Aug 23, 2019 · 0 comments

Comments

@oskarth
Copy link

oskarth commented Aug 23, 2019

Problem

  1. Leeches: Some nodes put too much of a burden on the network
  2. Capacity: Some nodes are helping nodes by relaying messages but they have limited capacity

Solution

Keep track of how much each node contributes and takes from the network based on local information. Similar to Bittorrent seed ratio.

Acceptance criteria

Detect, store and display bandwidth UP and DOWN for each connected peer. This can for example be stored to an in-memory DB and printed to STDOUT at some interval.

If bandwidth can't be directly detected, this may be approximated with message count.

Not in scope

This issue is purely about the accounting aspect. Explicitly out of scope are:

  • Incentives build on top of this
  • any form of settlement

Consequences such as:

  • disconnects
  • feedback of capacity
  • tit for tat / throttling strategies a la Bittorrent

are also out of scope, but can be natural follow up issues to this.

Notes

  • It might be useful to distinguish between originating sender and relayer in terms of who acts as a cost to the network
  • If there are other limited resources identified outside of BW, these can also potentially be limited (disk/computed/connections/etc)

Misc:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant