Should we remove the mandatory team requirement? Have your say!
If you've never heard of Gridcoin, it's a cryptocurrency that securely rewards BOINC computation (31 supported projects such as attempting to solve Cancer/AIDS/Ebola/Malaria, mapping the milkyway, folding proteins, cracking enigma codes, etc) on top of Proof of Stake. BOINC statistics are gathered directly from the project servers & all nodes agree on a daily superblock containing verified team statistics. More info on Gridcoin.
The area of discussion that this topic will focus on is the mandatory team 'Gridcoin' requirement that has been enforced within the Gridcoin network since launch back in late 2013. Currently only team Gridcoin earns GRC, none of the other long established teams (the majority of the BOINC community) receive GRC nor are involved in the Gridcoin community.
My personal opinion is that we should remove the mandatory team requirement, however, I will try to cover the opposing argument's points (so as to not be entirely biased). Original thread.
Why was the requirement initially enforced?
1. It was an attempt to increase security
The mandatory team requirement was justified by two security concerns:
- Users cheating the BOINC credit system
- Preventing unauthorised BOINC reward claims.
How are BOINC users able to cheat the current BOINC credit system?
The current 3rd generation BOINC credit mechanism is not perfect, it has publicly documented issues regarding cheating.
- PFC manipulation - By manipulating elapsed time or device attributes, users can manipulate their Peak Flop Count; By doing so, cheaters can inflate their BOINC RAC higher than it should be.
- Cherry Picking - Discarding large work units in favour of smaller work units in order to increase RAC to the potential detriment of the BOINC project.
- Wingman attack - Users who have submitted work units with an manipulated PFC value utilise secondary BOINC accounts/machines to search for the identical validation work unit and submit the work unit with a similarly manipulated PFC value to validate their fraudulently acquired high RAC.
How do we currently combat cheating?
Each BOINC project's team 'Gridcoin' has a 'team founder' administrator user account capable of kicking cheaters from the team. We rely on Gridcoin community members to report suspected cheaters to team founders.
Who are team Gridcoin's team founders?
I am the team founder for 4 projects, Rob Halford (Lead developer) is the team founder for the majority of projects, SETI/WCG and CSGrid have inactive team founders.
Does the team requirement prevent unauthorised neural network registration?
The team requirement does not prevent unauthorised neural network registrations; The only way that an individual can register on the neural network without your full user account credentials is if you provide them with your weak account key.
The weak account key can only be generated when fully logged into your BOINC account, if you've previously shared this key then it can be changed by simply changing your password.
Approximately 5400 inactive users and (2141-1777) 364 active users within team Gridcoin are currently not registered in the neural network despite meeting the mandatory team 'Gridcoin' requirement.
2. To prevent BOINC users from "Double-dipping"
We found that several users crunching for the Ripple Labs team were also claiming Gridcoin rewards. This discovery was negatively perceived as "Double-dipping" (getting rewarded twice for their work done), and was leading motivation for the introduction of the mandatory team 'Gridcoin' requirement to prevent this occurring again in the future.
3. To promote Gridcoin on BOINC statistics websites
Since the introduction of the mandatory team requirement, we have seen team Gridcoin climb to the #1 leaderboard position based on RAC.
This is free advertising for team Gridcoin across all BOINC statistics websites and potentially encourages other teams to contribute more towards BOINC in order to reclaim the #1 position for themselves.
When asked how much computation has been completed and rewarded by the Gridcoin network, we can point them towards these BOINC statistics websites.
4. Afterthought: Limiting required blockchain/Neural-Network scalability
By limiting reward distribution to one team we have not had to consider scaling the neural network/block sizes - We currently have approx 1777 users on the neural network, if there was no team requirement and we had 10's of thousands of users we may run into scalability limits.
Negative consequences of the mandatory team 'Gridcoin' requirement
How we handle cheaters is flawed
- Team founders kicking suspected cheaters is a slow reactive action rather than a permanent/long-term preventative solution. To date, I don't believe that a single user has been kicked from any whitelisted project's team Gridcoin.
- Identifying cheaters is notoriously difficult in the first place:
- Users can hide their hosts details (preventing identification of PFC manipulation).
- Cheaters could be spreading their fraudulent BOINC computation efforts across multiple CPIDs to evade detection (one large RAC CPID is more noticable than 10 medium RAC CPIDs - we'd likely never spot such fraudulent activity)
- Users kicked from our team can either immediately rejoin the team (there's no ban system) or create a new CPID to evade detection.
- Several of the team founders aren't active enough to continuously monitor/detect/punish cheaters.
Team founders hold significant centralised power over Gridcoin's reward mechanism
Each BOINC project's team 'Gridcoin' team founder user account holds significant centralised power over Gridcoin's reward mechanism. By being able to kick users from the team, you can manipulate the DPOR reward mechanism for that individual project.
Power corrupts ultimately - imagine if bitcoin core community members had the ability to turn off XT/Classic/Unlimited user’s mining operations at will; it’d be chaos.
Even if we trust individuals with team founder privileges, these accounts could be compromised and used maliciously without the account owner’s knowledge/consent.
Any team member can attempt to seize control of these team founder privileges; if the team founder does not take action within 60 days the powers change hands and cannot be reversed without intervention from the BOINC project administrators.
The team requirement damages our network's reputation & impedes growth
- Advertising/discussing Gridcoin is viewed as ‘team poaching’ and is met with hostility on the majority of BOINC sites/forums/communities.
- Due to effectively being forbidden from discussing Gridcoin on many BOINC websites, we are limited to discussing gridcoin on team-neutral or dedicated Gridcoin websites (away from our target audience) limiting potential word-of-mouth marketing within the BOINC community.
- We are repeatedly met with hostility on team-neutral forums, interrupting important BOINC development topics - potentially impeding both BOINC and Gridcoin's advancements.
- Since the BOINC platform has existed since 2002, many long-term BOINC users have built-up significant loyalty to their teams; These users are our target user base yet they are entirely out of reach.
- Instead of viewing Gridcoin as a benefit to BOINC, many long-term users in other teams view Gridcoin as a hostile entity to oppose instead of support. We may be missing out on significant investor support from BOINC users due to this negative perception of Gridcoin.
- Boincstats advertisement effectiveness has begun to degrade, potentially due to the mandatory team requirement.
- Because BOINC services & BOINC projects tend to attempt to remain team neutral, the rate of Gridcoin endorsements/partnerships in the BOINC community is low. In fact, only 4 projects are known to have ties with the Gridcoin community (YOYO/YAFU/Denis/GRCF).
Justification for removing the mandatory team 'Gridcoin' requirement
Removal of the requirement will accelerate growth
- There are approximately 4 million total BOINC users, and 424.5k active BOINC users yet we only have 1777 users (0.42% of active BOINC users) in the Neural Network to which we distribute 48k GRC to on a daily basis. If we managed to recruit a few percent of all active BOINC users then newly gridcoin would become far more scarce due to a greater distribution scope. Likewise, with potentially tens of thousands of new users joining a proof of stake cryptocurrency we may see an increase in demand of Gridcoin on exchanges (not investment advice).
- Freedom to talk openly about Gridcoin on all BOINC related forums without fear of backlash.
- BOINC projects will be more likely to openly discuss/announce whitelist status with/to their users if the team requirement is removed.
- BOINC projects may be more open to the idea of integrating Gridcoin directly into their projects without fear of backlash from other teams.
- We will be more successful when approaching BOINC developers regarding Gridcoin when they do not have to worry about remaining team-neutral to the rest of the BOINC community.
Removal of the requirement will increase security & reduce centralisation
Removing the mandatory team requirement will eliminate the centralised power that team founders have over Gridcoin's reward mechanism, as kicking users from team 'Gridcoin' will no longer invalidate the affected user's neural network validity.
Statistics websites are obsolete, we have a Neural Network!
We now store all of the important statistics within the client (NN), so when asked how much BOINC computation is being rewarded by Gridcoin we can simply point them towards neural network statistics instead of towards our team statistic pages on Boincstats.
Advertisement effectiveness of a high team leader board position is negligible; when we are not advertising on Boincstats the traffic coming from Boincstats drops significantly. Word-of-mouth recruitment could theoretically have a higher recruitment potential than a high leader board position.
To reverse the illogical stance on "Double Dipping"
We should not concern ourselves with fear of "Double Dipping"; by fearing such a prospect we are cutting ourselves off from the rest of the BOINC community & impeding our own network's growth (shooting ourselves in the foot). Consequently, we are leaving the rest of the BOINC community open to recruitment by a competing cryptocurrency - we should try to become the BOINC cryptocurrency not just a BOINC team cryptocurrency.
At the moment, no other cryptocurrency network is rewarding BOINC computation (Ripple ended their BOINC distribution campaign years ago).
Even if other cryptocurrencies/cryptoassets begin rewarding BOINC users, that just means that they’ll be further encouraged to contribute towards BOINC & won’t have to sell their GRC to offset electricity costs.
Challenges without a mandatory team requirement
- Without the team requirement, we cannot kick users from the team nor the neural network. This means that if a cheater is identified we will need to communicate directly with the project administrators to seek immediate action, otherwise we'll remove the project from the whitelist via the voting mechanism.
- We will need to make the neural network whitelist far more strict, there are talks of purging several projects from the whitelist. We may end up with a smaller quantity of whitelisted projects, but with the advantage of a secure reward distribution across a significantly larger scope of users.
- We will need to continue collaborating with the BOINC development community to create a 4th generation BOINC credit system that is not vulnerable to cherry-picking/wingman attacks/PFC manipulation.
- Scalability of both the Neural Network (currently a couple thousand users, could it handle 100k users?) & the Gridcoin network (scaled down to cope with attackers/lag).
- Porting the Neural Network to Linux will most likely be required if the NN stats begin scaling to 5 or 6 figure levels.
- Currently only windows clients can stake a superblock & linux clients contact windows clients for their BOINC stats prior to staking a DPOR block.
- Decreasing the minimum magnitude units tracked in the NN (0.001 mag for a quad core CPU isn’t out of the equation if the NN size inflates to 5 or 6 figures..).
- Gridcoin web services requiring to track a significantly larger quantity of users across all teams. (I currently only track team gridcoin, grcnodes will need to start tracking a significantly larger quantity of stats).
- Handling a significantly larger community (How will we handle having 1000+ users active in IRC/forums/etc - things could get overwhelming..).
TL;DR: I believe we should:
- Remove the mandatory team 'Gridcoin' requirement in order to reduce centralisation/security risks introduced by team founder account powers.
- Attempt to increase our target user base to the entirety of the BOINC community (424.5k - 4 million users).
- Purge insecure projects from the whitelist & increase scrutiny of projects on the whitelist.
- Work with the BOINC community to develop a 4th gen BOINC credit system to overcome the multiple shortcomings of the 3rd gen 'creditnew' BOINC credit system.
Please comment below regarding how you feel, and vote for either 'Agree' or 'Disagree' to express your views on this topic.