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

Improve the bandwidth token payout mechanism #4255

Closed
devos50 opened this issue Feb 26, 2019 · 1 comment · Fixed by #7798
Closed

Improve the bandwidth token payout mechanism #4255

devos50 opened this issue Feb 26, 2019 · 1 comment · Fixed by #7798

Comments

@devos50
Copy link
Contributor

devos50 commented Feb 26, 2019

As we have seen in issue #4234, the current payout mechanism is functional (as most of the time, people are earning bandwidth tokens for running Tribler idle), but it can and should be improved. Note that #4248 and #4250 addressed issues during payout.

  • Get rid of the 5-second window during which a payout should be made - after receiving a destroy message, a circuit continues to live for another 5 seconds. During this time, a payout should be made. If the payout takes longer, the payout will most likely not reach the exit node.
  • Remove requirement for honest behaviour of intermediaries - the current mechanism heavily relies on intermediary (relay) nodes in a circuit acting honest and transferring tokens to the next hop in a circuit. This can easily be abused. Possible solutions: incremental payouts? Detect whether a node did not pay and not join their circuits?
  • Improve the visualization of the trust score. Instead of calling it MBs given/taken (which is the technical perspective), we should name it investment/yield for instance.
  • Long term: Implement deferred payouts - this prevents a correlation attack based on TrustChain records, since one can infer which nodes did payout each other.

As more issues are discovered, they will be documented here.

@devos50
Copy link
Contributor Author

devos50 commented Feb 26, 2019

I documented the process of payouts here.

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

Successfully merging a pull request may close this issue.

3 participants