Author

Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool - page 358. (Read 2591964 times)

full member
Activity: 932
Merit: 100
arcs-chain.com
So we should donate to an expert who makes the frontend that works and has maybe the same info as p2poolinfo once had..
legendary
Activity: 1258
Merit: 1027
This is a great conversation guys, and one that needs to be had.

I have built and managed large development teams in the past for specialized projects, and I have to say that none of them came close to the complexity and challenges offered by what we need in a p2pool dev team.

For p2pool to get to the next level I think we need an active lead dev or chief scientist to lead; and 3 technical achievements, the first 2 are easy:

1. Hardware compatibility and a responsive available individual for both HW and mining SW folks to work with.

2. A great looking front end that provides what miners want that is unified across nodes. p2pool already has the ability to be the most transparent pool in existence, lets get that data out there for miners to mull over and do it in a way that looks so good out of the box that node operators are not inclined to re-invent the front end with each install. When a miner checks out a node it should be familiar and they should know what they are looking at. I'm happy to build this using open source tools and have a solid start already on my node. Combining Bootstrap, PHP, and an SQL DB we could build an open source, cross-platform, front end that both looks great and is data rich.

Which leads me to our 3rd, and biggest challenge:

3. Vertical scalability that reduces variance for all miners.

This is where the real challenges lie.

For p2pool to support large mining operations, and still be able to attract medium, small, and micro miners we need completely new share difficulty and payout structures.

The first step here has nothing to do with code, some completely new concepts need to be developed and generally accepted by p2pool miners. Once we have those concepts down, and can demonstrate them to be technically possible, we can seek out devs with the chops to pull it off.

This may seem like no big deal, but I assure you it is. Here is my first crack at it:

Payouts
While miners meeting a certain threshold could still be paid directly from the generation TX, smaller miners under the payout threshold when a block is found, lets say BTC0.01 to start, would be able to see their p2pool earnings down to the Satoshi in real time, but would not receive a payout until reaching the threshold.

To accomplish this I propose a decentralized, trust-less escrow system.

A p2pool software controlled secure wallet where all payouts from each block that did not meet the payout threshold would be stored, and then paid out to miners when they reach the threshold.

Miners who reach the minimum payout during a round are paid directly from the generation tx, while payments for all miners under the threshold are sent to and stored in the wallet, and payouts are made from the wallet when the threshold is reached.

The caveat is that this needs to be handled entirely by p2pool in a decentralized and trust less way with no single "admin" overseeing them. How to handle the keys securely without anyone but the p2pool code knowing them is a challenge, maybe the guys from the dark wallet or Armory teams would have some technically viable suggestions.

Difficulty
An automated "variable and weighted" share difficulty would need to be assigned to miners based on hash rate. Every major pool in existence does it, we just need a method of doing it across the p2pool block chain in a way that is not easily manipulated. Perhaps the MIT Bitcoin club would be interested in tackling such a challenge?

End game: Protect the network, encourage miners to participate actively in both Bitcoin and p2pools decentralized nature.

Even without active development p2pool is a strong "brand" in the Bitcoin space, most miners are aware of it, and its challenges. Overcoming its biggest challenges along with a decent marketing push (by us collectively) spreading the word could easily push p2pool to the top and keep Bitcoin strong and trust less for the future.

Just my 0.02 bits.

legendary
Activity: 3430
Merit: 3080
Truthfully, no-one knows anything. Forrest could have been hit by a bus in February.

Looking at his forum profile reveals that he was last active June 19, 2014, 09:33:14 PM - so if he was hit by a bus, it is not stopping him from reading the forums.


Must have been only a small bus.

And to silence the critiques, he only has to respond with one line...

Either of these are more than acceptable (as an explanation):

1. I'm too busy with my day job/life to devote to this at the moment.
2. I'm working on it still on a local working copy and haven't submitted to the repository until this "one thing" gets resolved.
4. Sorry, I haven't had a lot of time, but I'm back at it now...
3. I'm abandoning this project and it doesn't "do it" for me anymore... so please fork it and run with it.

Since he's not too busy to login and read the forums (as recently as yesterday)...the least he could do is say something/anything.

Not quite $3000 donation worth, but it would be something...
Instead we get _____________________________.

He could be logging in for all number of reasons that aren't checking this thread. People in this thread are becoming obsessed with this guy, there are plenty of other devs with useful input on p2pool issues. Seems like they've not got much to say right now either, and so maybe that's just how it is, thread reflects reality.
hero member
Activity: 798
Merit: 1000
Truthfully, no-one knows anything. Forrest could have been hit by a bus in February.

Looking at his forum profile reveals that he was last active June 19, 2014, 09:33:14 PM - so if he was hit by a bus, it is not stopping him from reading the forums.


And to silence the critiques, he only has to respond with one line...

Either of these are more than acceptable (as an explanation):

1. I'm too busy with my day job/life to devote to this at the moment.
2. I'm working on it still on a local working copy and haven't submitted to the repository until this "one thing" gets resolved.
4. Sorry, I haven't had a lot of time, but I'm back at it now...
3. I'm abandoning this project and it doesn't "do it" for me anymore... so please fork it and run with it.

Since he's not too busy to login and read the forums (as recently as yesterday)...the least he could do is say something/anything.

Not quite $3000 donation worth, but it would be something...
Instead we get _____________________________.
legendary
Activity: 1066
Merit: 1098
Truthfully, no-one knows anything. Forrest could have been hit by a bus in February.

Looking at his forum profile reveals that he was last active June 19, 2014, 09:33:14 PM - so if he was hit by a bus, it is not stopping him from reading the forums.
full member
Activity: 932
Merit: 100
arcs-chain.com
so I was digging around and found some settings that may help with p2pool.

In cgminer and bfgminer there are options for --scan-time and --expiry also queue

I read that --scan-time 1 --expiry 1 and queue set to 0 is best for p2pool.

I managed to add these to my antminer so will monitor how it goes.

to do so you can edit \etc\init.d\cgminer and add in the PARAMS= section

e.g. PARAMS="$AOPTIONS $POOL1 $POOL2 $POOL3 $_pb --api-listen --scan-time 1 --expiry 1"

queue = 0 is already in the \etc\Config\cgminer file from Bitmain.



norgan, check ./cgminer-api config , what is the value for queue there?.
Ahh I was looking under \etc I'll have a look when I get back home. What should it be?

 on the s1 there is no cgminer-api file. (I only use cgminer on the ant, for everything else I used bfg+multiminer)

Its there man,
Code:
root@antMiner:/usr/bin# ls -larths
     0 drwxrwxr-x    1 root     root           0 Dec  2  2013 ..
     9 -rwxr-xr-x    1 root     root        9.1K Dec 25 13:48 lua
     7 -rwxr-xr-x    1 root     root        7.0K Dec 25 14:20 jshn
    12 -rwxr-xr-x    1 root     root       11.8K Dec 25 14:24 luci-bwc
   355 -rwxr-xr-x    1 root     root      354.8K Feb  6 22:57 cgminer.original
     1 -rwxr-xr-x    1 root     root         681 Feb  6 22:57 cgminer-monitor.original
     6 -rwxr-xr-x    1 root     root        6.0K Feb  6 22:57 cgminer-api

you can do it from your pc aswell if you want to, you can point cgminer-api at your S1. Just do ./cgminer-api summary IP_OF_YOUR_S1 bfgminer-rpc will work also.

I was looking in \etc what am I looking for in cgminer-API? I'll check it out when I get home.

Bfgminers miner.php works just great with ants1 https://forums.butterflylabs.com/blogs/ivan-frimmel/133-setting-up-bfgminer-rpc-access-miner-php-remote-status-update-windows-7-a.html

Just needs webserver, apache and php, its fast and easy. Add  rigs to
$rigs = array('192.168.11.50','192.168.11.51','192.168.11.52','192.168.11.220');

or

# Set $mcast to true to look for your rigs and ignore $rigs
$mcast = false;

to true

Doa dropped with --scan-time 1 --expiry 1, thats good  Smiley
legendary
Activity: 3430
Merit: 3080
Forrestv got his initial $2000 and subsequent $1000.   He even made a GPG signed statement that he was working on these improvements. So promises were made based on this grant. There were more donations from others.  

Then he more or less disappeared with no passing of the torch or any word about it.  Development on the github repository virtually stopped except for the occasional pull request of someone else's work (usually months after the request came in). Along with what Patman mentioned, this is why people are jaded.   We essentially tried everything you stated already in a fairly formal way and gave $$$ and some direction on where we wanted p2pool to go.  We got the cold shoulder or more accurately, a hit-and-run.  

Truthfully, no-one knows anything. Forrest could have been hit by a bus in February. He could also be working on prototype versions of the design alteration he suggested. And he could easily be  busy in real life to devote enough time to p2pool right now. We'll find out something at some point. The devs who hang out in mailing lists and irc chat maybe have some idea, but they post to this thread pretty infrequent.
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
Ah I see, thanks for that. It's not the oldies so much I get the shits with, I've seen some very Newby posts complaining. For them there is no excuse but I am understanding more now why there is so much pain with the older members here.

Like I said to Patman, it can come across that way and I'm sure some see me as coming across arrogant or worse.
I'm certainly quite fresh in regards to p2pool but that brings fresh enthusiasm so perhaps I can get something going with that fresh enthusiasm, who knows. Can't blame me for trying right...
hero member
Activity: 798
Merit: 1000
Norgen: sorry I'm a little late to the discussion, but you may have missed this:
https://bitcointalksearch.org/topic/p2pool-advancement-of-decentralized-mining-vital-to-bitcoin-network-security-329860
 
Late last year, the Litecoin Core Devs and many cheerleaders for p2pool gathered donations and ideas for advancing/fixing p2pool and gave them to forrestv directly.  Previous to that forrestv was at least somewhat active here and this was supposed to be incentive to continue development for the good of the network. This was as close to a kickstarter as we could get without an actual kickstarter, including a growing Development plan document.

Forrestv got his initial $2000 and subsequent $1000.   He even made a GPG signed statement that he was working on these improvements. So promises were made based on this grant. There were more donations from others.  

Then he more or less disappeared with no passing of the torch or any word about it.  Development on the github repository virtually stopped except for the occasional pull request of someone else's work (usually months after the request came in). Along with what Patman mentioned, this is why people are jaded.   We essentially tried everything you stated already in a fairly formal way and gave $$$ and some direction on where we wanted p2pool to go.  We got the cold shoulder or more accurately, a hit-and-run.  

Good luck with your version of these endeavors, maybe third time's a charm.  But don't begrudge the oldies here... Their complaints are more than valid and it's extremely unfair to call them ingrates.  It just makes you look like an ass instead of an optimist.  I do agree with these efforts, but to do them we need p2pool core developers with deep knowledge and passion for the work.  So far, no one has stepped up to take the reigns.  If a good fork was made, everyone would definitely use it.  It's not like there are a lot of us left anyways.
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
so I was digging around and found some settings that may help with p2pool.

In cgminer and bfgminer there are options for --scan-time and --expiry also queue

I read that --scan-time 1 --expiry 1 and queue set to 0 is best for p2pool.

I managed to add these to my antminer so will monitor how it goes.

to do so you can edit \etc\init.d\cgminer and add in the PARAMS= section

e.g. PARAMS="$AOPTIONS $POOL1 $POOL2 $POOL3 $_pb --api-listen --scan-time 1 --expiry 1"

queue = 0 is already in the \etc\Config\cgminer file from Bitmain.



norgan, check ./cgminer-api config , what is the value for queue there?.
Ahh I was looking under \etc I'll have a look when I get back home. What should it be?

 on the s1 there is no cgminer-api file. (I only use cgminer on the ant, for everything else I used bfg+multiminer)

Its there man,
Code:
root@antMiner:/usr/bin# ls -larths
     0 drwxrwxr-x    1 root     root           0 Dec  2  2013 ..
     9 -rwxr-xr-x    1 root     root        9.1K Dec 25 13:48 lua
     7 -rwxr-xr-x    1 root     root        7.0K Dec 25 14:20 jshn
    12 -rwxr-xr-x    1 root     root       11.8K Dec 25 14:24 luci-bwc
   355 -rwxr-xr-x    1 root     root      354.8K Feb  6 22:57 cgminer.original
     1 -rwxr-xr-x    1 root     root         681 Feb  6 22:57 cgminer-monitor.original
     6 -rwxr-xr-x    1 root     root        6.0K Feb  6 22:57 cgminer-api

you can do it from your pc aswell if you want to, you can point cgminer-api at your S1. Just do ./cgminer-api summary IP_OF_YOUR_S1 bfgminer-rpc will work also.

I was looking in \etc what am I looking for in cgminer-API? I'll check it out when I get home.
sr. member
Activity: 257
Merit: 250
so I was digging around and found some settings that may help with p2pool.

In cgminer and bfgminer there are options for --scan-time and --expiry also queue

I read that --scan-time 1 --expiry 1 and queue set to 0 is best for p2pool.

I managed to add these to my antminer so will monitor how it goes.

to do so you can edit \etc\init.d\cgminer and add in the PARAMS= section

e.g. PARAMS="$AOPTIONS $POOL1 $POOL2 $POOL3 $_pb --api-listen --scan-time 1 --expiry 1"

queue = 0 is already in the \etc\Config\cgminer file from Bitmain.



norgan, check ./cgminer-api config , what is the value for queue there?.

 on the s1 there is no cgminer-api file. (I only use cgminer on the ant, for everything else I used bfg+multiminer)

Its there man,
Code:
root@antMiner:/usr/bin# ls -larths
     0 drwxrwxr-x    1 root     root           0 Dec  2  2013 ..
     9 -rwxr-xr-x    1 root     root        9.1K Dec 25 13:48 lua
     7 -rwxr-xr-x    1 root     root        7.0K Dec 25 14:20 jshn
    12 -rwxr-xr-x    1 root     root       11.8K Dec 25 14:24 luci-bwc
   355 -rwxr-xr-x    1 root     root      354.8K Feb  6 22:57 cgminer.original
     1 -rwxr-xr-x    1 root     root         681 Feb  6 22:57 cgminer-monitor.original
     6 -rwxr-xr-x    1 root     root        6.0K Feb  6 22:57 cgminer-api

you can do it from your pc aswell if you want to, you can point cgminer-api at your S1. Just do ./cgminer-api summary IP_OF_YOUR_S1 bfgminer-rpc will work also.
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
so I was digging around and found some settings that may help with p2pool.

In cgminer and bfgminer there are options for --scan-time and --expiry also queue

I read that --scan-time 1 --expiry 1 and queue set to 0 is best for p2pool.

I managed to add these to my antminer so will monitor how it goes.

to do so you can edit \etc\init.d\cgminer and add in the PARAMS= section

e.g. PARAMS="$AOPTIONS $POOL1 $POOL2 $POOL3 $_pb --api-listen --scan-time 1 --expiry 1"

queue = 0 is already in the \etc\Config\cgminer file from Bitmain.



norgan, check ./cgminer-api config , what is the value for queue there?.

on the s1 there is no cgminer-api file. (I only use cgminer on the ant, for everything else I used bfg+multiminer)
sr. member
Activity: 257
Merit: 250
so I was digging around and found some settings that may help with p2pool.

In cgminer and bfgminer there are options for --scan-time and --expiry also queue

I read that --scan-time 1 --expiry 1 and queue set to 0 is best for p2pool.

I managed to add these to my antminer so will monitor how it goes.

to do so you can edit \etc\init.d\cgminer and add in the PARAMS= section

e.g. PARAMS="$AOPTIONS $POOL1 $POOL2 $POOL3 $_pb --api-listen --scan-time 1 --expiry 1"

queue = 0 is already in the \etc\Config\cgminer file from Bitmain.



norgan, check ./cgminer-api config , what is the value for queue there?.
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
so I was digging around and found some settings that may help with p2pool.

In cgminer and bfgminer there are options for --scan-time and --expiry also queue

I read that --scan-time 1 --expiry 1 and queue set to 0 is best for p2pool.

I managed to add these to my antminer so will monitor how it goes.

to do so you can edit \etc\init.d\cgminer and add in the PARAMS= section

e.g. PARAMS="$AOPTIONS $POOL1 $POOL2 $POOL3 $_pb --api-listen --scan-time 1 --expiry 1"

queue = 0 is already in the \etc\Config\cgminer file from Bitmain.

sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
ok so we need two things:

1. a way of tracking issues and feature requests and voting system to determine the need
2. a way to offer a reward to developers who get involved. Some kind of kickstarter project.


For 1 I have this http://p2pminers.ideascale.com/

If you post your ideas and issues there then we can have miners of p2pool vote to help establish an urgency of need for each idea or problem. Anyone can submit an idea. (moderators are welcome and happy to add you if you pm me your email addy).

For 2 kickstarter.com could work? open to ideas for this. happy to set up a kickstarter but we need a system that either requires no trust or allows a level of trust that satisfies any doubts.
hero member
Activity: 994
Merit: 1000
One possible way to address this problem is to introduce a concept of tiered nodes.  Just like the share chain is now kept to store miners/payouts/etc, we would introduce sub-chains.  Each of these sub-chains would have lower difficulty.  As miners submit shares, those shares would be evaluated against difficulty for that share chain, the one above it, and so on, right up to the BTC block chain.  Implementation would be tricky because miners would have to be restricted and directed properly to an appropriate share chain.  You wouldn't want a miner with 10TH/s hitting the share chain whose difficulty was set to handle miners with an average of 100GH/s.  Either the pool would have to dynamically adjust and put the miner on the appropriate chain based upon the miner's calculated hash rate, or it would have to outright reject the miner because of the calculated hash rate.  This is just one possible solution, and I need to think on it further to discover pros and cons of the approach, and if it would be feasible to introduce.  Comments and suggestions are most certainly welcomed.

Just a thought, why aren't payouts split by straight valid hashpower between blocks? Is it too easily fudged? Too naive?

P2Pool already logs hash area, and I've been using that to dish out merged coin rewards, and while there might be a problem with that, I don't know what it is.

I think the fundamental reason p2pool is appealing is it just works.  You don't have to trust a pool operator.  It takes care of constructing the potential blocks so that when one is found, each miner receives his fair share of the block.  You can't hack your p2pool node so that you get the block proceeds.

I don't think your method would still work with the TNO decentralized process p2pool has now.

TNO = trust not needed?

The split by hashpower idea isn't very complicated...I'm sure someone would have thought of it before and decided against it. I just wonder if anyone knows what those reasons were.

I don't see why P2Pool itself couldn't assign payments according to that, still no trust needed.
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
Is something like a kickstarter or pozzible project suitable for this? the 51% attack possibility has hit pretty major news outlets so would have some public interest. I'm happy to set something up but again we need a way of distributing the funds to whoever contributes.
Open to ideas, does anyone know of anything like that? Would be really nice if it accepted Bitcoin as well as fiat currency.
legendary
Activity: 1540
Merit: 1001
One possible way to address this problem is to introduce a concept of tiered nodes.  Just like the share chain is now kept to store miners/payouts/etc, we would introduce sub-chains.  Each of these sub-chains would have lower difficulty.  As miners submit shares, those shares would be evaluated against difficulty for that share chain, the one above it, and so on, right up to the BTC block chain.  Implementation would be tricky because miners would have to be restricted and directed properly to an appropriate share chain.  You wouldn't want a miner with 10TH/s hitting the share chain whose difficulty was set to handle miners with an average of 100GH/s.  Either the pool would have to dynamically adjust and put the miner on the appropriate chain based upon the miner's calculated hash rate, or it would have to outright reject the miner because of the calculated hash rate.  This is just one possible solution, and I need to think on it further to discover pros and cons of the approach, and if it would be feasible to introduce.  Comments and suggestions are most certainly welcomed.

Just a thought, why aren't payouts split by straight valid hashpower between blocks? Is it too easily fudged? Too naive?

P2Pool already logs hash area, and I've been using that to dish out merged coin rewards, and while there might be a problem with that, I don't know what it is.

I think the fundamental reason p2pool is appealing is it just works.  You don't have to trust a pool operator.  It takes care of constructing the potential blocks so that when one is found, each miner receives his fair share of the block.  You can't hack your p2pool node so that you get the block proceeds.

I don't think your method would still work with the TNO decentralized process p2pool has now.

Also, a third reason why p2pool isn't appealing, is, as someone said earlier, the whole merged mining issue.  It just doesn't work.  Each node operator can keep the proceeds for himself, or he can manually divvy it out.  We need something more automated and TNO.


M
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
The problem is finding a dev who is familiar with python, bitcoin & the p2pool idea who doesn't want a large payout for doing the work. Trust me, I tried it a year or so ago here:  https://bitcointalk.org/index.php?topic=213051.0 - it ain't easy.

I actually found a dev who was willing to do it - but at a price, which I didn't have. I also had doubts about his ability & reasons for doing it.

The only difference between now & then is that now it seems that people are in agreement - back then when I dared to disagree & voice my concerns about the lack of development (over a year ago!) forrestv was considered some kind of demi-god, an untouchable, he could do no wrong. He also used to post every now and again back then......I was scorned - how dare I say such blasphemous things..... Cheesy Cheesy

Now look at us. Funny how things change eh?

Nice work PatMan, I admit I'm relatively new to all this but I like the concept and how it all works. Good to see someone trying to get some work going. You come across quite jaded and seeing this I can understand some of that. You probably see me as quite naïve lol I guess I'm just an optimist and hope that we can drum up some interest in this.
My c# skills are pretty limited, if I knew more I'd be happy to put in some work on it.
member
Activity: 73
Merit: 10
@p2p improvement talk

So It sounds like after a prioritized list is made, we need donations & bounty system via reputable escrow to get some of these changes implemented. Basically a P2p consortium. 
Jump to: