Skip to content

Instantly share code, notes, and snippets.

@skoech
Last active November 23, 2021 08:04
Show Gist options
  • Save skoech/62aac5553cacbcc5115d51b7e6beb2e6 to your computer and use it in GitHub Desktop.
Save skoech/62aac5553cacbcc5115d51b7e6beb2e6 to your computer and use it in GitHub Desktop.
Task 2: Identifying opportunities to apply gamification in the Tor network's relay operator motivation project.

Opportunities for Gamification: Identifying Possible Values to be Exploited in a Gamification Scenario

Outreachy Logo


A Brief Look at Tor's Previous Gamification Efforts

As mentioned in the previous article outlining my findings after an extensive research into and intense self-education about Tor Relays and the relay operator community, Tor has previously attempted gamification as a motivation strategy among relay operators. I'll highlight these attempts, and their various approaches:

This was a project that awarded points and badges to relay operators based on the performance of their families. This project aimed to motivate relay operators to not only run more than one relay, thus increasing their effective family size, but also be keen on the performance of these family members, both of which would greatly improve network health and stability. I'll cover relay families in a separate article.

Badges were awarded based on how well a family of relays did compared to others.

This project proposed a reward system for Tor relays. These rewards, i.e. points and badges, would be awarded based on various requirements related to a number of selected parameters/values, as follows:

Tor Nodes Map

Exotic Country Badge

  • Tor Version- related to the version of Tor the relay operator was running, e.g. whether it was stable, or was an Alpha version of Tor. Relays running an Alpha version were rewarded because they were potentially more helpful in finding bugs in the network.

Stable/Alpha Version Badges

  • Operating System- Relay diversity is very important for the stability, security and robustness of the Tor network. Anonymity loves diversity, and having different types of OSs contributes to this diversity. The RelayAwards project gave badges to relays running on Unix, i.e. Linux and BSD.

Unix Badge

  • Contact Information- Updating the ContactInfo field in the Tor relay config is very important in case a relay operator needs to be reached concerning an issue. For example, when the bad-relays team discovers a misconfigured exit relay, they'd need to get in contact with the operator so that they can fix it. It becomes inconvenient if they cannot be reached. Thus the relevance of this award. Relays with contact information such as email or BTC addresses would get a badge.

Contact Info Badge

  • IP Version- related to relay diversity. IPV6 isn't as commonly used as IPv4, so relays with IPv6 support in DirAdr or ORAdr would be awarded a badge.

IPv6 Badge

  • Network Ports- The HTTPS Lover badge would be awarded to relays that allowed ports 80 and 443, since they have the most traffic.

HTTPS Lover

  • Uptime- related to the length of time the relay had been fully functional and running. The longer the uptime, the more the points. Different badges would be awarded on different levels beginning from uptime >= 10 days, all the way to uptime >= 2years.

Uptime Badges

  • Bandwidth- related to the volume of traffic, both incoming and outgoing, that a relay is willing to sustain, measured in MB/s. The higher the advertised bandwidth, the more the points awarded.

Bandwidth Badges

  • Guard Probability- This is the probability of a relay to be selected as a guard relay. Performing an aggregate search would reveal this and other relay probabilities. It is calculated by the directory authorities using a rather complex algorithm, based on consensus weights, relay flags, and bandwidth weights in the consensus. The higher the probability i.e. 0.1%, 0.5%, 1%, 2%..., the higher the points,and the more valuable the badge.

Guard Probability Badges

  • Middle Probability- This is the probability of a relay to be selected as a middle node.

Middle Probability Badges

  • Exit Probability- This is the probability of a relay to be selected for the exit position.

Exit Probability Badges

Tor Incentives Research Roundup

The 2014 blog by Rob Jansen outlines several proposals for Tor relay incentives, keeping in mind Tor's current, conservative volunteer resource model. From the article, it is clear that this model has worked so far because of users' innate or intrinsic motivation to contribute to Tor, be it out of social or technical interest. Introducing rewards or incentives, therefore, would change this design and possibly hurt the network and community spirit due to the introduction of extrinsic motivation which isn't as sustainable. If the reward were to be withdrawn or not revised, the extrinsically motivated relay operators may lose motivation and leave, or the network experiences deminishing returns (if the rewards stays at the same level, motivation slowly drops off. To get the same motivation next time requires a bigger reward); also, the existing operators who are intrinsically motivated may become less motivated to contribute due to the crowding out phenomena. If these proposals were to be implemented, working on an acceptable trade-off between reward value and quality or desirability of the operator would be crucial.

Some of the research proposals that have been made so far in the following:

Tor Incentive System Designs

  • Gold Star - In this scheme, the Tor directory authorities measure relay bandwidths and assign a special flag (a "gold star") to the fastest 7/8 of relays. Then, whenever those relays send traffic through Tor, they choose the other fast gold star relays to form a fast gold star path. Relays then prioritize traffic on these gold star paths. Incentive: if you run a relay, you will get faster service when using Tor as a client. Read more here.

  • PAR- This scheme explored ways of including digital payments into each Tor circuit. It proposed the inclusion of a centralized entity called a "bank" that manages digital tokens called "coins", which could be purchased by Tor users while using the network, and then use them to pay relay operators.

Both of these schemes had setbacks, though, as discussed here.

BRAIDS proposed a new type of digital token which we called a "relay-specific ticket" issued by a trusted, centralized entity- ticketmaster. Clients would choose which relays they want to use, and receive tickets from the ticketmaster that are valid only at the chosen. Clients would then form a Tor circuit with the chosen relays and send the tickets to receive traffic priority. More information here.

This scheme proposed a lottery system, where clients could guess a random number for every circuit to receive priority on that circuit with tunable probability. The lottery would be set up with special cryptography magic such that relays are rewarded with guaranteed winning guesses to the lottery; relays would get wins according to the amount of bandwidth they contributed. Here's a detailed description.

TEARS proposed a decentralized bank, eliminating the reliance on a central entity to manage the incentives. It offered a new two-level token architecture to facilitate rewarding relays for their bandwidth contributions without hurting anonymity. Find out more here.

This proposal would involve the client mining the TorCoin and then distributing part of it to each of the circuit’s participants (relays) based on their bandwidth contribution. Read more about it here.

[✅] Task Two: Identify opportunities to apply gamification.

My Proposal

After analyzing the Tor network and its operation, along with its conservative volunteer-based model and attempts at introducing incentive programs in the past, I find that as effective as any of these schemes might be, it cannot be as sustainable in the long run as intrinsic motivation or warm-glow. At least not if Tor intends to maintain the desirable (in my opinion) volunteer-based model that is the basis of the strong community spirit and social movement advocating for freedom and privacy.

I think that as much as it is human nature to desire recognition and appreciation, if not properly done, it can be harmful. Relay operators are extremely valuable to the network, and rewarding them is a good idea, but the move might also attract extrinsically motivated individuals who might be dangerous to the network. I would suggest social rewards over monetary tokens that, in my opinion, would undermine the very philosophy and ideals of Tor. Also, an incentive program must be done with the utmost care to ensure that it does not compromise the network's anonymity.

Some values that could be used to award points to relay operators in a gamification scenario include:

Related to: Value
1. Quality Bandwidth, Network Port, Proper Configuration e.g exit policy, Pre-reward operation
2. Stability Uptime, Relay State (overloaded), Family Size (effective family members), Tor Version (either Alpha or a stable version), Duration of Operation (based on the time the relay was First Seen).
3. Diversity Operating System, Country or AS, IP Version, Relay Type, Transport Protocol (i.e. pluggable transports), ISPs
4. Trust Contact Info, Trust Info i.e Proof of Existence (e.g Twitter account, presenting themselves in person),

I propose that these values be used to determine points, badges, honors, ranks, or any other rewards in a gamification system that can be implemented using:

Reputation Systems

  • Leaderboards.
  • Profile pages.
  • Honor system- that awards relays status icons or titles.
  • Review system- that awards them stars on different levels of achievement.
  • Publishing relay operators' names and/or social media page links on a contributors' list in the Tor website.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment