Erkan-Yilmaz / Gridcoin-tasks

tasks, wishes, ideas, ... for the Gridcoin project
26 stars 1 forks source link

100k GRC bounty -> make a secure and opensourced Gridcoin pool #2

Open Erkan-Yilmaz opened 7 years ago

Erkan-Yilmaz commented 7 years ago

Gridcoin has only 1 pool, and when this would not work anymore it'd be bad for newcomers. It works ok, but the payout is not immediate

Thus the idea is to make an opensourced one: https://cryptocointalk.com/topic/49262-open-source-project-gridcoin-pool-boinc-account-manager/

Dis-/Advantages of a pool: https://steemit.com/gridcoin/@erkan/pool-or-solo-mining

mentioned in hangout 1:

grctest commented 7 years ago

Katiee would likely only open-source the pool if she closed down pool.gridcoin.co, in which if there was no immediate replacement we may disenfranchise the existing pool users (over 1000).

I do believe that creating an open-source pool kit is a high priority item though, multiple pools will create competition which will hopefully drive innovation.

Erkan-Yilmaz commented 7 years ago

we have now a bounty for this task:

Quez: "I set up a bounty of 10,000 GRC for the individual or group who finishes the secure open source pool project." https://cryptocointalk.com/topic/1331-new-coin-launch-announcement-grc-gridcoin/page-1217#entry232096

I think, this is his github account: cc @Quezacoatl1

frank0051 commented 7 years ago

I don't use pools because I want the BOINC credit, but how do we get Katiee to provide her code? Or is someone else actively working on a new pool source? I'll put in 10K GRCs as well.

@Erkan-Yilmaz Can you edit the title so we know how much the bounty is up to?

Erkan-Yilmaz commented 7 years ago

@frank0051 edited, and thank you for the bounty

Erkan-Yilmaz commented 7 years ago

DasTholo added also 20k GRC as bounty:

"I would increase the bounty by 20000 GRC!"

see https://cryptocointalk.com/topic/49262-open-source-project-gridcoin-pool-boinc-account-manager/page-3#entry232122

Erkan-Yilmaz commented 7 years ago

"QZ and me started a repository with issues to start a collaborative implementation":

"OSS Gridcoin pool that pays regularly to clients in proportion to their BOINC contribution." https://github.com/gustav1976/grcpool

https://cryptocointalk.com/topic/49262-open-source-project-gridcoin-pool-boinc-account-manager/page-3#entry232128

Erkan-Yilmaz commented 7 years ago

Vortac added: "+20k GRC for open-sourced Gridcoin pool" https://steemit.com/gridcoin/@erkan/get-bounties-for-helping-team-gridcoin#@vortac/re-erkan-get-bounties-for-helping-team-gridcoin-20170122t185716409z

https://cryptocointalk.com/topic/1331-new-coin-launch-announcement-grc-gridcoin/page-1217#entry232131

frank0051 commented 7 years ago

Dude, we're changing the GRC world here - this bounty is going to be HUGE!

Erkan-Yilmaz commented 7 years ago

lennstar added: "you can get 10K from me for the pool too" comment here https://cryptocointalk.com/topic/1331-new-coin-launch-announcement-grc-gridcoin/page-1217

Erkan-Yilmaz commented 7 years ago

Katiee would likely only open-source the pool if she closed down pool.gridcoin.co, in which if there was no immediate replacement we may disenfranchise the existing pool users (over 1000).

stats from fediverse:

So, 533 active users there currently

BUT, after a certain event the 1455 inactive users would try to come back, and then BOOM, nothing there :-(

cc @grctest

Erkan-Yilmaz commented 7 years ago

someone asked here what a pool is:

I've added my thoughts there what I'd expect from a pool, in short:

another thing to add:

Also, see #54: approach account managers, POW pools about helping us with opensource pool

Erkan-Yilmaz commented 7 years ago

Alien: "I would add 30K GRC to the bounty, what address should I send to? Thanks"

https://cryptocointalk.com/topic/1331-new-coin-launch-announcement-grc-gridcoin/page-1218#entry232217

Quezacoatl1 commented 7 years ago

I have set up a bounty GRC address for those who wish that I take care of their bounty payment. SHGHP2BVCpbwVxX9cqoc9xt8aTToPxSyes http://gridcoinstats.eu/addresses.php?a=view&id=SHGHP2BVCpbwVxX9cqoc9xt8aTToPxSyes The address curently contains 30k GRC from Alien and 10k from myself.

sergiofbsilva commented 7 years ago

das Leben ist nicht leicht :-)

Quezacoatl1 commented 7 years ago

BTW, development efforts can be seen at grcpool.com http://gridcoinstats.eu/addresses.php?a=view&id=SHGHP2BVCpbwVxX9cqoc9xt8aTToPxSyes now counts 60k GRC

Erkan-Yilmaz commented 7 years ago

I talked in hangout 23 about my ideas of what should go into the pool kit

Quezacoatl1 commented 7 years ago

@Erkan-Yilmaz can you maybe summarize your ideas here, maybe you even have more? I'd like to give the list to BGB who is currently working on grcpool.com :) You can also go to the pool website, maybe you have constructive critizism?

bryhardt commented 7 years ago

just saw this thread, @Erkan-Yilmaz I would like to hear anything you want about the pool. The bulk of things are working ok so far. so i am tidying things up for open sourcing and creating apis. So it would be a great time to entertain more ideas.

LokiToki commented 7 years ago

@bryhardt i just read this and considering to build the pool. When your project is almost finish i cancel my research. If you need help feel free to initiate me. :)

grctest commented 7 years ago

@bryhardt From the recent discussions in the hangouts, the following issues would be very cool:

Cheers 👍

bryhardt commented 7 years ago
Vortac2 commented 7 years ago

The new pool looks completely finished to me, great work. Sent 20k GRC to the bounty address.

grctest commented 7 years ago

Voting --> Would this require the pool to capture the votes of researchers then casting a single vote from the pool's client based on what the pool voting mechanics captured? The client can only send 1 vote correct?

Indeed, gridcoinstats automatically picks up new polls, if you were to create a simple php poll for active gridcoin polls then you could decide how to vote with the pool's magnitude.

You cannot divide up your vote weight more than equally between multiple poll options unfortunately. We could create a gridcoin issue regarding that.

grctest commented 7 years ago

Additional idea:

frank0051 commented 7 years ago

I a little confused, where do we see the pool that's being developed?

Vortac2 commented 7 years ago

www.grcpool.com

LokiToki commented 7 years ago

@bryhardt i watched your videos and this looks awesome! Great work! Normally i don't like php but if it's done good it will do the trick. ;)

grctest commented 7 years ago

I'm a little confused, where do we see the pool that's being developed?

It's in closed source development at the moment.

bryhardt commented 7 years ago

It is forked on my github, https://github.com/bryhardt/grcpool It is not all there as I am pushing things as I double check what I am putting on there...

dopeshitnetworks-irc-dopeshit-net commented 7 years ago

Great work @bryhardt , I signed up yesterday upon seeing it in the stats and checked it out...Great simple interface and loaded with lots of info , project , user and payout thats great! Is there something with your pool and Amicable Numbers the rest of us don't know currently? The largest percent of work in the pool is on that project at almost 25%. Also great videos , very descriptive and in depth.. Curious if you are familiar with the Android Boinc client " Native Boinc " ? I was watching your video on how to attach Android Boinc clients to an account manager/pool etc and you do not need to edit an .apk file with that version you just goto " Manage Client " and " Synchronize with Bam " and it's actually generic and you just give your own url / user name / password and walla! This is extremely less work and extremely easier that the method shown on your video. Literally , install and attach. Thought I'd pass that along as it might make things easier to expand the android Boinc user base both within your pool and beyond. Anyway thank you for open sourcing your creation! Go Team Gridcoin!

bryhardt commented 7 years ago

When Amicable numbers was approved for the Whitelist, I started researching it on one my rigs to get it going. But there seems to be a current issue with Amicable not getting magnitudes even though it is white listed. So the pool thinks it is white listed and is processing mag for my host. I addressed this issue on the facebook page for the pool a couple days ago and indicated I would put any funds generated by that host back into the pool once the problem was solved.

I am not famialir with the "Native BOINC" but will check into it. That would make things much easier for sure.

NickAnEngineer commented 7 years ago

Re Native Boinc, I don't think its an option for people with newer Android phones as its not PIE aware. The official Boinc app had the same problem a few years ago. And Native Boinc hasn't been updated since 2013.

bryhardt commented 7 years ago

2 Factor Authentication?

I have this done on my dev box, probably put it out in production tomorrow (3/10)

grctest commented 7 years ago

I just thought of something else regarding the GRC:Computation market front end, for a premium allow users to point the computer resources at another team to compete against team gridcoin? haha!

Alternatively, teams within the pool would be pretty cool for the community.

The pool is looking great :)

Peppernrino commented 7 years ago

RE: NativeBOINC - https://spideroak.com/share/N4YFAZLQOBSXEMDP/public/d%3A/Gridcoin.Tools/Share/BOINC.apk.for.pool.USE_AT_OWN_RISK.zip

via: https://steemit.com/gridcoin/@gridcoinman/modifying-the-boinc-android-app-to-work-with-the-gridcoin-pool-pool-gridcoin-co

grctest commented 7 years ago

@bryhardt How are things coming along with the pool?

Can you verify whether or not you have access to account keys? https://github.com/Erkan-Yilmaz/Gridcoin-tasks/issues/106

An user in reddit had a good point regarding handling funds if a computation market was implemented within a pool - some form of escrow would be great.

An escrow service could basically serve as a pool function, offering participants some assurance that they'd actually get their share of whatever amount was being promised if they helped to work on the project. Project Rain or similar would be the last step, actually distributing the funds, but what I'm suggesting is an intermediary marketplace that you could, as a user, search through and that provides a guarantee rather than a post-facto airdrop of payments.

bryhardt commented 7 years ago

Hi, I think things are going pretty good. I am getting daily suggestions and comments from researchers on the pool, and everything so far has been positive. I have probably 85% of the code out on github, so I should get the last few files on there soon. I have been shuffling around some servers this week for the test pool, and have been building a new dev box. So not much development the last few days.

I do have access to the account keys for researchers that have accounts not on the pool when boinc contacts the pool. I did a quick honest check to see if the keys would give me full access to a researcher's account, and of course they did. I reached out to a Gridcoin community members about this, and it was recommended I contact BOINC dev. The first reply from BOINC wasn't very positive (basically the response was, why are you making an account manager, they already exist, go away), but I persisted and they responded back they would provide an update to limit what keys were sent during the account manager requests.

I have been thinking about the computational market quite a bit, and with the pentathlon coming on the project rain that may be associated with it. I am hung up on how much BTC/GRC something like that would be worth to projects, and what % incentive to give to the researches who elect to be part of the market.

I agree a escrow service for the rain would be great. It would show researchers what the bounties are instead of waiting and keeping fingers crossed at the end, Furthermore, this would allow the rain to be distributed appropriately when it comes to the pool with the proper comments in the transactions.

grctest commented 7 years ago

They responded back they would provide an update to limit what keys were sent during the account manager requests.

Perhaps worth creating a github issue on the BOINC repo regarding this issue so that more attention is brought to this issue? Pretty typical archaic way they initially reacted, but it's good to see that they changed attitude when you persisted.

I am hung up on how much BTC/GRC something like that would be worth to projects

Projects themselves may not be the ones to buy computation until we start seeing more commercial BOINC projects being created.

Users most likely to use a GRC:Computation market:

Perhaps another idea would be to compete against Eobot, with regards to their cloud seti offerings - you could rent out the computers and potentially return the earned GRC? The idea isn't fully fleshed out, but just take a moment to calculate eobot's valuation of BOINC computation - it's a couple orders of magnitude greater than the current marketcap.

what % incentive to give to the researches who elect to be part of the market. IMO, the researchers should get the majority of the earnings and the pool takes a fee. A 25% cut for the pool seems reasonable, however if many pools are created there may be fee rate competition.

cjmielke commented 7 years ago

Happy to hack if this is still open, but don't want to step on any toes. I'm more of a python developer, so let me know if anything is needed on that front.

bryhardt commented 7 years ago

Are we ready to close this for now? Open source files are on my github https://github.com/bryhardt/grcpool and on gustav via pull requests https://github.com/gustav1976/grcpool

Of course there is plenty of work to keep going on, but I think it is fairly established at this point.

Quezacoatl1 commented 7 years ago

Dear @bryhardt , I have most of the funds for the bounty but I do not have the skills to tell whether the task has been completed. Could you add a guide to run the pool OR can someone else validate the claim of the task being completed?

bryhardt commented 7 years ago

I can at least add some items to the readme to go over how it is setup. I don't expect anybody at this point to be able to push a button and be up and running. This thing is still very much a moving target. My todo feature list is growing rather than shrinking right now. Which is good....

xPh03n1x commented 7 years ago

Perhaps another idea would be to compete against Eobot, with regards to their cloud seti offerings - you could rent out the computers and potentially return the earned GRC? The idea isn't fully fleshed out, but just take a moment to calculate eobot's valuation of BOINC computation - it's a couple orders of magnitude greater than the current marketcap.

That's actually what I was thinking and what landed me on this page :smile_cat: I even have a domain name on deck which is a bit similar - avabot.com

PHP is not my favorite language as well, for a number of reasons, but it does the job sometimes. I will also like to contribute and I even tried to run a local version of @bryhardt code today. I managed to get most (if not all) the necessary packages set in less than 30 minutes. However, as it stands now, in my opinion the project is incomplete.

Although the code is there and its open source, it would be quite a hassle for anyone to use it without the MySQL structure, which seems you guys forgot to attach :wink:

Arguably, based on the coded queries, one could create the database by simply following the query logic, but that will take a considerable amount of time.

If you don't have the time to make a tutorial/create an installer, that's absolutely understandable. As soon as you attach the database structure, I can jump in and lend a hand by creating a thorough tutorial on how to setup a pool using the code, accompanied with a simple to use installer. That is of course, if you want my help :stuck_out_tongue_winking_eye:

BTW, you might want to add "grcpool.props.json" to the repo as well, just don't forget to strip out the valuable info and add a comment for clarity sake.

EDIT: I just noticed that the code is oriented towards serving two pools together. Although that could be handy to someone with a potentially enormous user group, for the standard pool starting people it could be problematic. Thus, you might want to add a comment or two here and there and orient the GitHub version to be more of a "template" version of the code, rather than directly pointing to GrcPool.com

bryhardt commented 7 years ago

Hi, and thanks four your feedback. One of the reasons I haven't added any real docs is how fast this thing is moving. In the past few days there are dozens of new database fields and lots of other stuff going on and they would be outdated shortly after writing them. I hope to get to a point where it can be refactored enough to be more open source friendly, not to mention refactoring some framework things.

xPh03n1x commented 7 years ago

Although I get your point, the very same can be said for numerous files. But then again, that's why you have revisions :wink:

Even if you don't go "full manual" but only placing comments here and there in the code - that would help a fellow contributor as well. But without comments/manual and most importantly - without database, I don't believe it would be fair to close this issue and consider this "completed".

bryhardt commented 7 years ago

That is fair enough. I have been working over the last couple of weeks to tune the indexes and such. So hopefully soon I will get to a point where I feel good about putting the schema on there.

Peppernrino commented 7 years ago

https://github.com/Peppernrino/Gridcoin-Pool

bryhardt commented 7 years ago

Hi, in order to help with the pool being more open sourced... I have created a repo on the community site called, PHP-Pool, and started to streamline it a bit. I would prefer if people want to branch or contribute they do it there than here. I won't be posting any updates to this repo anymore. I will keep the more advanced pool on my personal github account also. I just see lots of features and things I want to add to the pool, but they might not fit into an open sourced pool since they might not really be pool related.

Erkan-Yilmaz commented 7 years ago

status on those repos:

Deybacsi commented 6 years ago

Hello guys,

do I see clearly that this goal was never accomplished, and this bounty was never payed out? I've found some old posts on the net what claimed the "100k bounty" is hold on the address SHGHP2BVCpbwVxX9cqoc9xt8aTToPxSyes

The below post promises "every GRC sent to this address will be transferred to the team which develops the open source pool"...

https://cryptocurrencytalk.com/topic/1331-new-coin-launch-announcement-grc-gridcoin/?do=findComment&comment=232220

And it stills contains ~86k GRC