Author

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

full member
Activity: 125
Merit: 100
Did anybody else's graphs at /static/graphs clear recently?

I did a git pull and restarted p2pool, now graphs are just empty.  Been running for over a day now, still all the graphs are empty, and it looks like its not even registering the miners, because the section under Miners is empty.  The old ones (rrdtool) still work fine, and the info at /static looks fine as well, but all the graphs are blank.

donator
Activity: 1218
Merit: 1079
Gerald Davis
Well you said TIME that confused me.  Your right the length vs expected can be used but that is because it is already adjusted for what matters (hashes observed vs hashes expected).

Not sure where you are getting 400 observations.  p2pool has only found 275 blocks?

Lastly the length of block isn't a normal distribution.  It is an exponential one.

Still even using incorrect 400 observation, incorrect assumption of a normal distribution I have no idea how you determined confidence interval is ~99% to ~101% over 400 blocks.  I even tried to make mistakes and math just doesn't add up.
member
Activity: 88
Merit: 10
Gliding...
The standard deviation (s) can be easily calculated from the time of calculation blocks given on p2pool.info (Recent Blocks).
You can't use time.  You must use hashes and difficulty.  The avg length of a block (and expected length of a block) depends only on # of hashes and difficulty.

Expected length = (2^32)(difficulty) in hashes.

Not!!!
You are wrong.

This is only a probability and linear distribution.
The level of difficulty has nothing to do with it.
All data, together with the expected value is calculated and placed on the main page.
You just have to know how to read it!

Panda Mouse.
donator
Activity: 1218
Merit: 1079
Gerald Davis
The standard deviation (s) can be easily calculated from the time of calculation blocks given on p2pool.info (Recent Blocks).
You can't use time.  You must use hashes and difficulty.  The avg length of a block (and expected length of a block) depends only on # of hashes and difficulty.  Technically even then there will be minor error when blocks cross over difficulty changes but it should be minimal or those blocks could be excluded.

Expected length = (2^32)(difficulty) in hashes.

To get std deviation you need the actual length of each block in hashes.
donator
Activity: 1218
Merit: 1079
Gerald Davis
BTW in last 7 days there was 2 orphaned blocks.
Why they are invisible, they should be crossed out.

They weren't produced by the main fork of p2pool.
member
Activity: 88
Merit: 10
Gliding...
Please use a monte carlo simulation

Not a problem I made this in excel for 400 probe.
The result is exactly the same. Please try or I can send you this sheet.

BTW in last 7 days there was 2 orphaned blocks.
Why they are invisible, they should be crossed out.

Panda Mouse.
member
Activity: 88
Merit: 10
Gliding...
What is your calculation for s ?
Standard Deviation for block length (in hashes) is likely much larger than you think.

The standard deviation (s) can be easily calculated from the time of calculation blocks given on p2pool.info (Recent Blocks).
For a finite population is the mean square deviation of the differences between variable values ​​and their arithmetic mean.
The standard deviation can be calculated from the formula:

where xi is another feature value in the population, u is the expected value, N is the number of observations in the population = 400.

Panda Mouse.
legendary
Activity: 2912
Merit: 1060
Please use a monte carlo simulation
donator
Activity: 1218
Merit: 1079
Gerald Davis
What is your calculation for s ?
Standard Deviation for block length (in hashes) is likely much larger than you think.
member
Activity: 88
Merit: 10
Gliding...
How exactly did you compute that? That confidence interval is much tinier than is possible... From my simulations this outcome is clearly within the 95% confidence interval.

Well:
If there is a large population sample and the distribution of the features did not challenge the validity characteristics of the distribution in the general population with normal distribution (N (m, σ)),
we calculate the sample estimate of standard deviation (s).
Then the confidence interval for standard deviation (σ) in the general population is determined by the formula:

Where:
s - standard deviation of the sample estimate,
uα value of the random variable U (sdandarised normal distribution) (N (0,1))
determined in the same way as for the arithmetic mean.

The result - easy to calculate, is in the range of 99.56-100.44 (we have 90.6).

Panda Mouse
donator
Activity: 1218
Merit: 1079
Gerald Davis
Within three months the probability of 400 samples should be at 99.56% (99.56% - 100.04%).
We have 90.6%.
This is an obvious bug.
No luck for so long demonstrates the mathematical inconsistency of assumptions.
I'm sorry, but leave the project.
I hope not for long.

Well you are free to leave but your math and thus the assumption based on it is flawed.
hero member
Activity: 516
Merit: 643
How exactly did you compute that? That confidence interval is much tinier than is possible... From my simulations this outcome is clearly within the 95% confidence interval.
member
Activity: 88
Merit: 10
Gliding...
Within three months the probability of 400 samples should be at 99.56% (99.56% - 100.44%).
We have 90.6%.
This is an obvious bug.
No luck for so long demonstrates the mathematical inconsistency of assumptions.
I'm sorry, but leave the project.
I hope not for long.

Panda Mouse.
hero member
Activity: 742
Merit: 500
You don't need to specify $BITCOIN_USER or $BITCOIN_PASS if the user running p2pool has it in their bitcoin.conf
You do if you want p2pool to be able to connect to your Bitcoin instance.
No. You don't.

This is the command I use to start p2pool.

Code:
python ./run_p2pool.py -a 1HZY2Bks6HjTXFxXSj8ivhWCnkosypiUxR --p2pool-port 8335 -w 8336 --merged http://namecoindrpcuser:[email protected]:9332/ --disable-upnp -f 0.5

See any bitcoind username/password there?
hero member
Activity: 591
Merit: 500
You don't need to specify $BITCOIN_USER or $BITCOIN_PASS if the user running p2pool has it in their bitcoin.conf
You do if you want p2pool to be able to connect to your Bitcoin instance.
hero member
Activity: 742
Merit: 500
Here's a simple bash script which avoids running an out-of-date version of p2pool and minimizes downtime as much as possible during upgrades.
It assumes everything runs as the "bitcoin" user, you have a git clone of the master branch and the screen utility is used to launch p2pool.
You'll have to change some variables and/or p2pool parameters to suit your configuration/needs before launching it with crontab. If your environment (the email system more specifically) is configured correctly you should receive an email telling if a restart was needed or not. Enjoy !

Code:
#!/bin/bash
P2POOL_DIR="~/p2pool"
FEE="0.5"
PAYOUT="change_this"
BITCOIN_USER="change_this"
BITCOIN_PASS="change_this"
EXISTINGPID=`pgrep python -U bitcoin`

cd $P2POOL_DIR
if git pull | grep -q 'Already up-to-date'; then
        echo "No restart needed for p2pool"
else
        echo "Starting new p2pool"
        screen -U -d -m python run_p2pool.py --disable-upnp -f $FEE -a $PAYOUT $BITCOIN_USER $BITCOIN_PASS
        if [[ ! -z "$EXISTINGPID" ]]; then
                echo "Waiting for new p2pool to be ready"
                sleep 90
                echo "Killing old p2pool"
                kill $EXISTINGPID
        fi
fi

If you find it useful : 1AVb1PuguzpAL9zpufh5K2cS5C9CWn5U7t
You don't need to specify $BITCOIN_USER or $BITCOIN_PASS if the user running p2pool has it in their bitcoin.conf
hero member
Activity: 896
Merit: 1000
Here's a simple bash script which avoids running an out-of-date version of p2pool and minimizes downtime as much as possible during upgrades.
It assumes everything runs as the "bitcoin" user, you have a git clone of the master branch and the screen utility is used to launch p2pool.
You'll have to change some variables and/or p2pool parameters to suit your configuration/needs before launching it with crontab. If your environment (the email system more specifically) is configured correctly you should receive an email telling if a restart was needed or not. Enjoy !

Code:
#!/bin/bash
P2POOL_DIR=~/p2pool
FEE="0.5"
PAYOUT="change_this"
BITCOIN_USER="change_this"
BITCOIN_PASS="change_this"
EXISTINGPID=`pgrep python -U bitcoin`

cd $P2POOL_DIR
if git pull | grep -q 'Already up-to-date'; then
        echo "No restart needed for p2pool"
else
        echo "Starting new p2pool"
        screen -U -d -m python run_p2pool.py --disable-upnp -f $FEE -a $PAYOUT $BITCOIN_USER $BITCOIN_PASS
        if [[ ! -z "$EXISTINGPID" ]]; then
                echo "Waiting for new p2pool to be ready"
                sleep 90
                echo "Killing old p2pool"
                kill $EXISTINGPID
        fi
fi

If you find it useful : 1AVb1PuguzpAL9zpufh5K2cS5C9CWn5U7t
hero member
Activity: 516
Merit: 643
Most updates have had 2-3 weeks, but this one was on the short side because it had to mesh with the BIP16 deadline, which was only announced days before I released 0.10.3.
donator
Activity: 1218
Merit: 1079
Gerald Davis
Or just hook your local git clone up to a cronjob.

Or miners just take the tiniest amount of personal responsibility and if they can't be bothered to keep the network secure by upgrading to meet deadlines announced months in advance they should quit.
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
P.S.  Sign up for this mailing list so that you get proactively notified when there are required upgrades in the future:

http://groups.google.com/group/p2pool-notifications



Or just hook your local git clone up to a cronjob.
Jump to: