-
Notifications
You must be signed in to change notification settings - Fork 5
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
Flaws to creditnew #245
Comments
@47an Thanks for your research. In summary: The LHC@home and YAFU projects can each be exploited to award credit unfairly for at least one of the sub-projects as a side effect of the "CreditNew" work estimation scheme. By manipulating a BOINC client host to throttle work units, a participant can earn much more credit than an honest contributor with the same hardware—and without producing a proportionate amount of useful output. I reproduced this behavior as well. According to @47an in Discord, the administrators of both projects have not responded to a request for comments for two weeks. Since the fairness of credit distribution is fundamental to Gridcoin's purpose and protocols, I propose that the network immediately move these projects to the greylist until communication with the administrators proceeds. |
For the future, we need take a stance on CreditNew projects and decide if we should and how to examine credit fairness as part of the approval process. |
I believe credit fairness is already included in the requirements for whitelisting. The two bullets of the whitelisting requirements...
Implicitly cover the method of credit granting, because if the credit granting mechanism is cheatable, then bullet one is violated, and if people are able to rapidly consume work units without real work and rapidly accrue credit, it will also deny workunits to others and violate bullet two. We should probably write some additional amplifiying information on this though. I concur on the conclusion about the problem and agree these two projects should be greylisted. If the project administrators refuse to fix the issue I think we have to put the two projects up for a vote for removal from the whitelist. |
@jamescowens I think those implications are reasonable to support an argument for greylisting. From what I've read, a common-sense precedent also exists for past projects that failed to provide enough work to support fair credit distribution before the work availability guidelines were defined. I agree that the expectation needs to be more clearly expressed, though. |
Sounds like a greylisting would be in place until the flaws on project side is solved. Maybe reach out to the project in a more official manner and and present the statistics of how big share of their crunchers that is motivated by Gridcoin. I don't believe that all gridcoiners will leave LHC if they was removed from the whitelist, but 40% of their BOINC computing power is hopefully not something they just ignore. Strength in numbers. If a last resort if they don't respond/act there should be polls for delisting. |
I been in contact admins at LHC and got reply that they think it is a general issue to boinc and should be changed on boinc level. They agree that there are host with abnormal credit and they will investigate more on it. Both projects have taken actions to investigate or block users that would abuse this but they need help to change credit system or come up with better options to credit system from boinc server level. So we can see that this an issue to boinc and we need another credit option for these type of projects as there are project that could be abused by this. It would be good if cpu time would be included to calculation to amount of credit generated but this open up for another issue that legit work have not been able to run fully and host have lost possible credit because general bugs in job/vm so for LHC it is more complex. |
I agree that these projects should be greylisted. I think that this should happen sooner rather than later. |
I agree that the projects should be greylisted. |
If we interpret current system for greylist that it fall into this we have done what we can for now. I will post last PM from Laurence from 12 Apr:
I did send PM back 18 Apr and ask for quick fix and and inform that project would be greylisted if there is no plan. No reply back yet after 3 days. I would hereby propose that action is taken until they contact us here on github or project message board with solution. If they choose to PM me i provide info here. |
So just as an update for those reading the thread, the two projects are now going to be put greylist on the next superblock. See this post from Jim Owens on Discord
|
Unfortunately, I am doubtful that these issues will ever be addressed for LHC@home, seeing how this is almost the only project I use with BOINC, sadly this is likely farewell~ |
The flaws in the credit system extend way beyond just the LHC@home and Yafu projects, see the discussion on the boinc mailing list: https://groups.google.com/a/ssl.berkeley.edu/g/boinc_dev/c/ho3yDfktx10 |
Thanks for sharing this post. I think you are right there is several project that use creditnew and it is set as default from boinc server on later versions and most used if project does not made any changes. BOINC is have work for long time and code behind is well done but can't adopt to complex changes to application to hold up credit system to all as it is. It would work on simple set to application and credit count are done to each batch before release but when they separate unit with real data jobs it opens up a gap of no real verify of jobs. This issue was brought up at this point on projects because these have been proven to be abused heavily. Scientific application is complex and hard to handle and optimize as it is and most project admins do not have background to code and would be more granting to science and make papers so they need to get help or learn. Sadly credit system is not highest priority into it so code to boinc server part is key to help them and leave great options for them to use for type application and dataset they use. |
I have done a lot of work to LHC and hope to continue to do so but greylist was necessary as it was heavily abused on several factors of flaws to credit system. |
No further info from LHC or YAFU yet. I hope they could come up with a solution so we could get back to contribute to it. |
LHC & YAFU have been removed from the whitelist indefintely, congratulations everyone~ In recent news Rosetta@home now also has virtualbox based tasks. Likely exploitable through the same means. See https://boinc.bakerlab.org/rosetta/apps.php under python projects at the bottom. We should investigate and potentially remove that to. |
It is for now and pending for a solution from admin to solve it in proper way to credit due to credit in how they they hand it out as it now. A small fix in there end could solve it but no action is taken as it it yet.
It could be but not sure as not tested it yet or got info info that will be open to abuse it. It require far more as it is single core threaded use task and credit is close to target of non-virtual task. My analyse after few month of regular use do not hand out any concern that it would profit to abuse only hog ram of 6GB for not benifit to use it in vm against non-vm. To include Virtualbox by default is not an issue or docker or python script. It could open up if resources are defined wrong and if users could use it wrong and project do not set credit correct to it. I could provide a an example from paste time that LHC had LHC theory mt task and users could increse mem to vm to to trick task credit as would base credit from ram to vm istead of cores of cputime or runtime. This was abused for a time and there solution was to revert to single core task instead of mt task. This is a combination of things and how each project choose to credit work is the important part with or without virtualbox or credit new. Our issue is that we can not base any reward to these and that is the only issue now so even it out is greylisted due to bugs in credit reward. |
Thank you all for the effort of clear explanations easy to read and understand. |
I hope James Webb Space would share to a project or if they could get there own project to boinc. That would be awesome. For LHC i have no more info but and i do follow project but sadly no response back yet. They can do changes on validation on boinc-side or batch system it but choose follow to credit on time of effort on host and no protection inside to validate work. |
This thread has gotten to be quite a lot of reading, and I'm afraid my coffee hasn't kicked in yet, so I'll just ask: do people realise that LHC is only using the default BOINC credit system and to change that will require changes to the BOINC server back end which means nothing will change at LHC unless people petition the BOINC developers? |
This is an issue that have been brought up before team requirement lifted up.
here is a thread for that [Discussion] 4th Generation BOINC credit system
Here is boinc wiki for credit options: CreditOptions
Clarify credit options #2498 Clarify credit options #2498
and creditnew:
CreditNew
Old thread at LHC about this credits for runtime, not for cputime ?
I have post to project admins but no response yet that have shown flaws to those sub project that calculate by this design and abused.
It would open up to gain fullt credit of mt task with one thread only and on top of this run multiple instances to trick credit system.
Each host get high [Device peak FLOPS] counted and host could finish them and generate new hosts before corrections happen. The long runtime keep credits task high rewarded and does not care about cpu time.
Task and jobs would valid but project would have long list of burned hostid's in db with less work done.
As it looks now LHC and YAFU is affected by host that abuse this.
Which solution would be best if project can't or don't want to change it?
Should we greylist project as there is a flaws to system and give the project time to solve it?
from empirebuilder1 at discord chat #whitelisting-committee:
The text was updated successfully, but these errors were encountered: