[Dev] p2pool altenate share schemes - increase scaleability
-
P2Pool is an important technology for helping to ensure distributed hash mining rate. Smaller miners can join together and the resulting payout is paid between the miners. This means they don’t have to wait for months then get one block, like in solo mining.
P2Pool has anonymity, you just register an address and shares / payouts are collated to that address.
P2Pool is a probability based system. If your hash is very low you may not get shares every day. At some point you will loose stratum. If your hash is very high, it becomes more efficient to run your own solo mine.
P2Pool would be ideal for some future environment where each merchant of say a 10,000 shop group has a small miner each to form a POS and to secure the system. It is better you get 10 reasonable payouts than 10,000 dust payments, each transaction recording 10,000 p2pool shares.
These are example where p2pool shows scaling problems, one answer is, it could be better split into separate p2pools.
In the merchant example you would have 1000 different p2pools they could connect to, to reduce the dust payments.
Initially p2pool was created to restrict coin hopping, so it’s shares distribution scheme is aligned to that use for each coin. However, p2pool share schemes could also be realigned to other uses such as favour the collection of night rate electricity, or weekly intermediate mining (at weekends).
This would be done by offering different flavours or colours of p2pool, initially with share schemes optimised to those other purposes.
For instance, longer stratum for low powered miners p2pool and giving more flexibility to disconnect without loosing stratum.
Whilst it is is not technologically trivial, implementing a coloured p2pools for one coin is similar what is involved to develop a p2pools for a new coin.
There could be other viable ideas (which have possibly already discused in the 300 pages of p2pool thread on BitcoinTalk).
One other idea that might be implementable, is the p2pool operates by devising up the shares to a maximum number of Node members, then starts another further share set i.e. p2pool_2, p2pool_3 etc. Perhaps those sets are customisable and another user joins that share distribution formula if they like it…
The proposal and work to update to Neo-scrypt hashing algorithm means changes are required for p2pool on Phoenixcoin and Feathercoin - Work on those issues has raised these P2pool issues / potential enhancements.
-
Interesting solutions. :)
Does each p2pool node only distribute coins to its own miners or is it p2pool wide? -
If you are going to do ‘night rate’ pools, don’t forget us with solar panels that may like ‘daylight hour’ pools too.
I mine for free when the sun is up. :)
-
Interesting solutions. :)
Does each p2pool node only distribute coins to its own miners or is it p2pool wide?P2pool distributes its shares to all the nodes. Even now there can be a lot of pay addresses.
Re: Solar panels p2pool share specification…
- Its good example doing a an ECO rate - where power might be very intermittent.
It would be advantageous to make the p2pool variables more open to fine tuning (at the pool level), thus making the pool nodes more configurable. Plus, one could then have a test net to align the distribution to the need.
-
Upstream -> p2pool node status hub.
https://github.com/johndoe75/p2pool-node-status
I was looking into security of p2pool, then this came up today :
**jasonswan ** commented 13 hours ago
There are two major security holes in the default jsonp.php file. An attacker could easily fetch any file off the local server by simply passing in a filename into $_GET[‘report’] variable. Second, an attacker could essentially send out and receive web requests on behalf of your server, since theres no validating of the hostname. I’ve added the ability to whitelist a hostname in case anyone wants to lock their script down.
git pull https://github.com/jasonswan/p2pool-node-status patch-1
Or view, comment on, or merge it at:
https://github.com/johndoe75/p2pool-node-status/pull/26
Commit Summary
Fixed two major security holes.
File Changes*M jsonp.php (36)