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

Rewarding good behavior #5

Closed
synctext opened this issue Mar 6, 2013 · 8 comments
Closed

Rewarding good behavior #5

synctext opened this issue Mar 6, 2013 · 8 comments
Assignees

Comments

@synctext
Copy link
Member

synctext commented Mar 6, 2013

Determine the contributions of peers using our blockchain.

Track freeriders using MultiChain, compatible with anonymous seeding, relaying, and downloading mode.

Goal: superior performance compared to tit-for-tat, reduce freeriding and promote cooperation.
usage: accounting of bytes for seeding and Proxy bandwidth donations
Security: Sybil attack hardened, misreporting, lying, cheating, white washing and spoofing-proof.

Previously: Vlad thesis project, now Ewout!

@synctext
Copy link
Member Author

synctext commented Mar 6, 2013

Ideas for experiments (and thesis sections):

  • usual intro, problem description (reward goodness), design, experiments (open Q: libswift&Dispersy background)
  • 1 TByte seeding with Libswift (fuse, performance and item scalability)
    operational code, no Jenkins experiment yet.
  • Libswift Top-N proportional sharing experiment with 1TByte of seeding
    http://jenkins.tribler.org/jenkins/job/libswift-priority/7/ operational code
    • AIM: demonstrate the reward mechanism
  • BarterCast3 dissemination of Libswift (1 TByte) seeding statistics (double signed record creation only)
    http://jenkins.tribler.org/jenkins/job/Experiment_Swift_Effort_Link/ws/dispersy_standalone.py/*view*/ Initial code
  • BarterCast3 and Libswift proportional sharing experiment
    • AIM: demonstrate dissemination linked to reward mechanism
    • initial BarterCast3 record creation, regular update mechanism as bytes increase, Libswift connection close/broken, then disseminate (after X MByte?, after X minutes?)
    • Cycle-based effort/reliability tracking is currently dictating the BarterRecord creation, should primary be byte-accounting now
    • two leechers compete for bandwidth
    • never met seeder before (strangers, indirect reciprocity only)
    • show the performance reward for seeding
  • 16-ish Tribler instances on DAS4 ?
    • AIM: "building up trust in virtual identities without direct contact"
    • scalability: use Boudewijn Top250?
    • local reputation calculations?
    • re-use Dimitra biased reputation-based edge traversal?
  • Converted opportunistic freerider experiment
    • AIM: cooperation is rewarded almost instantly
    • three classes of peers (die-hard freerider, opportunistic freerider, contributor)
    • die-hard freeriders never uploads and get low or zero performance (starvation mechanism?)
    • conversion mechanism of "opportunistic freerider", which only uploads if forced to
    • behavioral change of "opportunistic freerider" into a contributor (improving low to high performance)
  • (abandoned idea, it's too complex) Append-only signatures for superior security and 100% accuracy
    • AIM: total fairness through completely accurate accounting
    • prior contributions instead of partial info
    • for partial info you know exactly the missing info fraction and how out-of-date you are; using the lastest BarterCast timestamp

@synctext
Copy link
Member Author

egbertbouman referenced this issue in egbertbouman/tribler Feb 21, 2014
@synctext synctext modified the milestones: V6.5 anonymous seeding and credit mining, V6.3: thumbnail navigation and anonymous test download Jun 5, 2014
@synctext
Copy link
Member Author

Lessons learned after this msc thesis:
proportional bandwidth sharing is difficult and complex.
It works, but it should be avoided if possible.
Thus a form of access-control with a "request denied, insufficient credits/reputation" + "ongoing proxy help cancelled, a higher reputation peer pre-emptied you".

@VoR0220
Copy link

VoR0220 commented Feb 13, 2015

Hi synctext. I'm interested in learning more about what you learned from doing proportional bandwidth sharing. Where can I look to learn? Thanks in advance.

@synctext
Copy link
Member Author

@VoR0220 The final thesis report and overview can be found here:
https://github.com/Tribler/tribler/wiki/BarterCast3

But: the key lesson is don't try this (not in report). Better approach is to deny service if a user is below "freerider level" and just let all the non-freerider sharing according to network conditions.

@VoR0220
Copy link

VoR0220 commented Feb 20, 2015

Thanks a ton @synctext I can't wait to read what you found and learn from you :)

NielsZeilemaker pushed a commit to NielsZeilemaker/tribler that referenced this issue Jun 18, 2015
@synctext synctext assigned Captain-Coder and unassigned vladum Oct 9, 2016
@synctext synctext modified the milestones: Backlog, V7.1 anonymous seeding test Oct 9, 2016
@synctext
Copy link
Member Author

synctext commented Nov 1, 2016

Incentives and Prosocial Behavior good work with 1800 cites

@synctext
Copy link
Member Author

Closing this ticket and work moves to "strongest possible reputation system" #31
plus #2571

drew2a added a commit that referenced this issue Oct 19, 2022
Update KnowledgeEndpoint to allow editing statements through the GUI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants