Author

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

donator
Activity: 1218
Merit: 1079
Gerald Davis
Everything is constantly scrolling, it's hard to read and know what means what.

Maybe forrestv should slow the refreshing.  That is a legitimate point.  Even better may be someone extending the application to provide a nicer interface (GUI or web based) which would provide updated stats.

There also should be better explanation as to what all the info is.

Quote
 It spams "current payout: 0.1276" constantly, I guess this is the once per second you are talking about.  Except for a newbie, it's not clear what the "per" is.  My first instinct would be that it is telling me each time I get a payout.  Obviously this isn't true at all, or I would be earning far too many bitcoins.  My next instinct is that might be the payout "per share" when a block is discovers- this is what I really thought it was, which is why I still wasn't sure if it was working right, I could be earning zero shares and still see a payout per share.  

Current payout = your cut of the block reward.  It IS per payout, you only get paid when a block is found.  If the block was found right now you would earn 0.1276.  If another block was found 2 seconds later you would earn another 0.1276.  If a third block wasn't found until 52 hours later you would still earn another 0.1276.

The number will only change if your % of the p2pool hashing power changes.  If you make up 2% of the a pool (any PPLNS pool)  you will earn ~1BTC per block (excluding tx fees).  That won't change unless either your hashing power or pool's hashing power changes.

An estimate per 24 hour average would be a useful enhancement.

Quote
Compare this to most pools.  You can see current unpayed rewards very easily, and most pools also do an expected 24 hour earnings estimate.

Well there is no such thing as unpaid rewards in p2pool.  Your payment is part of the coinbase.  You get paid when block is found so your unpaid reward is continually 0.000 BTC forever.  That likely needs to be made more clear.

Quote
Running bitcoind is extra work, running p2pool is extra work.  I guess you can run it all on one computer and connect to that one from your other computers, but I mine from multiple physical locations, and I don't like a single point of failure setup.  Also, maybe I'm retarded, but as far as I can tell the only way to see my coin balance on the mining machine is to terminate bitcoind, stop mining, and start up my bitcoin wallet.  I guess I could copy the wallet.dat to another computer and view the wallet there, but couldn't there be an easier way?

You could use -a option set a static reward address and have all payments go to a single address.

Quote
 Like, p2pool could display your current balance now and then?  I see work-arounds, but any work-around is extra work that I don't have to do if I am mining at a regular pool.

There is no such thing as a "current balance". Rewards are sent instantly to the address you specify.  p2pool never holds an funds in reserve.  The address doesn't need to be on the machine being used. 

Quote
With pool mining, I don't need ANYTHING installed on the local mining computer.  I run my miner and tools from a dropbox folder.  As best as I can tell, switching all my systems to p2pool would make it impossible to mine that way, and add an extra level of difficulty in setup.  Closest thing I could do is copy the bitcoin wallet I use with p2pool to dropbox and p2pool to dropbox, but it seems like a terrible idea as far as the security of my bitcoins.

Use the -a option.   Delete the copy of the wallet if it has any value and bitcoind will make a new empty wallet (which you will never use for anything).  p2pool needs bitcoind, it doesn't need a wallet.  There is no option to run bitcoind as just a bitcoind with no wallet but it doesn't mean you need to use it.

The "-a" option lets you set any valid Bitcoin address as the address to pay rewards.  I don't really see any difference from a "conventional pool".  Do you?


I think these posts simply reinforce the fact that p2pool is very flexible but it is hobbled by beyond horrible documentation.   It needs very detailed, comprehensiveness documentation because nothing you have expressed indicates a problem with p2pool and instead shows a lack of understanding.  Not your fault it currently requires a lot of reading, asking questions, checking forum threads, etc to get a good understanding of p2pool.  That needs to change.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
If you use the -a option, you can have p2pool mine to an offline address or to an address on a secured computer. You only need one instance of bitcoind and p2pool on a central computer, and once it is set up you can point all your nodes at it in the same way that you set up a pool. The central computer's bitcoind doesn't need to hold any bitcoins at all, and the wallet can be empty.

If your P2Pool node finds a block are the transactions fees then put into node wallet.dat or the -a address?
I believe it is correct that they are split to all the miners, and therefore would go to the -a address.
donator
Activity: 1419
Merit: 1015
If you use the -a option, you can have p2pool mine to an offline address or to an address on a secured computer. You only need one instance of bitcoind and p2pool on a central computer, and once it is set up you can point all your nodes at it in the same way that you set up a pool. The central computer's bitcoind doesn't need to hold any bitcoins at all, and the wallet can be empty.

If your P2Pool node finds a block are the transactions fees then put into node wallet.dat or the -a address?
sr. member
Activity: 348
Merit: 250
If you use the -a option, you can have p2pool mine to an offline address or to an address on a secured computer. You only need one instance of bitcoind and p2pool on a central computer, and once it is set up you can point all your nodes at it in the same way that you set up a pool. The central computer's bitcoind doesn't need to hold any bitcoins at all, and the wallet can be empty.

Thanks for the suggestion, seems like the best way to do things for my particular situation.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
If you use the -a option, you can have p2pool mine to an offline address or to an address on a secured computer. You only need one instance of bitcoind and p2pool on a central computer, and once it is set up you can point all your nodes at it in the same way that you set up a pool. The central computer's bitcoind doesn't need to hold any bitcoins at all, and the wallet can be empty.
sr. member
Activity: 348
Merit: 250
Um there is a windows binary right on the first page.  The only other thing needed with the windows binary is bitcoind (which will always be necessary).

Ok, my error.  It looked like python and twisted were required.


I might note that it isn't totally clear that the python and twisted packages aren't necessary for the Windows users that wish to use the compiled binary.

Er, yeah.  If you don't need to go through those installs that is a big plus.  Almost as easy as setting up a regular pool.




It displays hashrate, sharecount, and expected return every second.

Code:
Shares: 1958 (91 orphans, 16 dead)  Stale rate 5.4%.  Efficiency ~101.5%.  Current Payout 1.4313 BTC

What else could it provide that says "everything is working"?

Everything is constantly scrolling, it's hard to read and know what means what.  It spams "current payout: 0.1276" constantly, I guess this is the once per second you are talking about.  Except for a newbie, it's not clear what the "per" is.  My first instinct would be that it is telling me each time I get a payout.  Obviously this isn't true at all, or I would be earning far too many bitcoins.  My next instinct is that might be the payout "per share" when a block is discovers- this is what I really thought it was, which is why I still wasn't sure if it was working right, I could be earning zero shares and still see a payout per share.  

I now believe the 0.1276 figure is my earnings for when the block is discovered.  But this this still doesn't tell me how much I have earned so far, or how much I'll earn on average per day.  I have no idea.  

Compare this to most pools.  You can see current unpayed rewards very easily, and most pools also do an expected 24 hour earnings estimate.


Now that it is setup it requires no more extra work than a normal pool.  You have already done all the "extra work" that will ever be required.  You have your "own" pool which protects the network requires no additional work, has no fees, and pays out all tx fees.   Most p2pool users see it as a useful way to decentralize bitcoin.  

Running bitcoind is extra work, running p2pool is extra work.  I guess you can run it all on one computer and connect to that one from your other computers, but I mine from multiple physical locations, and I don't like a single point of failure setup.  Also, maybe I'm retarded, but as far as I can tell the only way to see my coin balance on the mining machine is to terminate bitcoind, stop mining, and start up my bitcoin wallet.  I guess I could copy the wallet.dat to another computer and view the wallet there, but couldn't there be an easier way?  Like, p2pool could display your current balance now and then?  I see work-arounds, but any work-around is extra work that I don't have to do if I am mining at a regular pool.

With pool mining, I don't need ANYTHING installed on the local mining computer.  I run my miner and tools from a dropbox folder.  As best as I can tell, switching all my systems to p2pool would make it impossible to mine that way, and add an extra level of difficulty in setup.  Closest thing I could do is copy the bitcoin wallet I use with p2pool to dropbox and p2pool to dropbox, but it seems like a terrible idea as far as the security of my bitcoins.
donator
Activity: 1218
Merit: 1079
Gerald Davis
Even when a share becomes orphan, if it included a valid bitcoin block it will be broadcasted, right? There are options for this in the miners, I think, cgminer namely. So the p2pool hashrate doesnt change with high/low orphans. Only your personal rate vs p2pool rate matters.

Am I getting this right?

Ente

Correct.  
cgminer has no knowledge that the share eventually becomes orphaned.
p2pool sends all valid blocks to bitcoind which broadcasts it to the bitcoin network.

The data flow is like this

1) cgminer finds share and submits it to your local p2pool node.
2) At the local p2pool node
   a) If the share is a block level solution it is relayed to bitcoind and broadcast to bitcoin network (block is also relayed to all peers so they can simultaneously broadcast it via their bitcoinds).
   b) If the share is DEAD (already invalid/stale) it is not forwarded or broadcast.  Dead counter incremented by one
   c) if it is valid share but not a block it is relayed to peers for inclusion in blockchain
3) At peer p2pool node
   a) If peers find the share as valid they include it in their sharechain and notify all other peers (causes an LP across p2pool network)
   b) If peers find that share height is already in the sharechain they respond with ORPHAN notification.  Local p2pool node increments OPRHAN counter by one.
sr. member
Activity: 447
Merit: 250
how do you update your p2pool folder using git? I thought you could use the "pull" command but that gives an error...
What error?

Didn't realize I needed to do it within the folder. Worked perfectly when I figured that out Cheesy
legendary
Activity: 2126
Merit: 1001
Even when a share becomes orphan, if it included a valid bitcoin block it will be broadcasted, right? There are options for this in the miners, I think, cgminer namely. So the p2pool hashrate doesnt change with high/low orphans. Only your personal rate vs p2pool rate matters.

Am I getting this right?

Ente
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
I might note that it isn't totally clear that the python and twisted packages aren't necessary for the Windows users that wish to use the compiled binary. It might be good to make a note that those packages are only necessary if you are running the python script manually.

I was going to work on a NSIS based installer, but I abandoned that because it would be better if forrestv created it. There are a number of different ways that it could be installed, and I am not good at creating the script so that it will be foolproof.

For new users, it also might be handy to have it pause and say
Code:
P2Pool has now finished initializing, and is ready to provide work.
Please point your miner to :9332
after opening the port on your firewall.
or something similar to that.
donator
Activity: 1218
Merit: 1079
Gerald Davis
1-  Setup is pretty ridiculous for computer novices.  Isn't there some way the binaries can be compiled to run without requiring python and twisted packages all being installed?

Um there is a windows binary right on the first page.  The only other thing needed with the windows binary is bitcoind (which will always be necessary).

From the OP:
Quote

Quote
2- There wasn't any clear indicator that it was working, as far as I could tell.   I saw a lot of random text and stuff but nothing that said "okay you are good to go just wait and bitcoins will come in".  I just let it run overnight as it was mostly as a matter of faith, and luckily I did it right, I found I had mined a few BTC 2 days later.  I can just imagine other p2pool newbies doing what I did except with something configured wrong and finding that after running for 2 days they have nothing to show for it.  It would be a big turn off to find you have wasted your mining potential for several days.

It displays hashrate, sharecount, and expected return every second.

Code:
Shares: 1958 (91 orphans, 16 dead)  Stale rate 5.4%.  Efficiency ~101.5%.  Current Payout 1.4313 BTC

What else could it provide that says "everything is working"?

Quote
3-  Lots of effort for little returns.  There are already plenty of 0 fee or low fee pools.  

Don't get me wrong, it was fun to setup and tinker with in my spare time, but I don't see the big advantage to doing this as opposed to simply pointing a miner towards an existing pool.

Now that it is setup it requires no more extra work than a normal pool.  You have already done all the "extra work" that will ever be required.  You have your "own" pool which protects the network requires no additional work, has no fees, and pays out all tx fees.   Most p2pool users see it as a useful way to decentralize bitcoin.  

I do agree the largest thing missing is solid, clear, and detailed documentation outside of the forum.  If I ever get some time I will start work on a comprehensive wiki.  If you have a specific improvement please name it but simply saying things like "it was confusing" doesn't really help.
sr. member
Activity: 348
Merit: 250
A few comments from a new p2pool user...

1-  Setup is pretty ridiculous for computer novices.  Isn't there some way the binaries can be compiled to run without requiring python and twisted packages all being installed?

2- There wasn't any clear indicator that it was working, as far as I could tell.   I saw a lot of random text and stuff but nothing that said "okay you are good to go just wait and bitcoins will come in".  I just let it run overnight as it was mostly as a matter of faith, and luckily I did it right, I found I had mined a few BTC 2 days later.  I can just imagine other p2pool newbies doing what I did except with something configured wrong and finding that after running for 2 days they have nothing to show for it.  It would be a big turn off to find you have wasted your mining potential for several days.

3-  Lots of effort for little returns.  There are already plenty of 0 fee or low fee pools.  

Don't get me wrong, it was fun to setup and tinker with in my spare time, but I don't see the big advantage to doing this as opposed to simply pointing a miner towards an existing pool.
donator
Activity: 1218
Merit: 1079
Gerald Davis
So if p2pool finds one share every 10 seconds (vs 600 sec for Bitcoin), would that mean that p2pool should have ~60 stales?

No. There is no linear relationship.  If all the p2pool node were on low latency links so they could share new shares in sub 100ms to to every other node of the network then it is possible it would have ~0% orphan rate even with a 10 second (or possibly 1 second) LP interval (time between shares/blocks).

Still reducing orphans to 0% achieves nothing.  Shares have no value.  They are simply a method of fairly and accurately recording work.  They record utterly useless and worthless work simply because there is no know method to fake it.  

Lastly your ~60 stales doesn't make any sense?  ~60 stales when over what time period involving what number of nodes?
legendary
Activity: 1148
Merit: 1008
If you want to walk on water, get out of the boat
+1 to what he said, p2pool stales are not like other pools stales.
donator
Activity: 1218
Merit: 1079
Gerald Davis
My stale is 7.2%,it seems too high,why?
Does p2pool support longpool?

p2pool does support longpolls.

orphans in p2pool aren't the same as other pools.  They aren't lost work they are simply a limit of the sharechain only being able to make 1 share become the next share.  

The key thing to remember is that shares are worthless.  They have absolutely no real value.  Shares are just used as a work tracking mechanism that can't be cheated.  

p2pool has a high orphan rate because the network finds one share every 10 seconds (vs 600 sec for Bitcoin).    When two nodes submit a share at roughly the same time only 1 can become the next share in the chain and the other is orphaned.   Blocks are subject to p2pool internal orphans because they don't go into the sharechain, the node finding it broadcasts it directly to Bitcoin network (and relays it to all p2pool nodes).

That isn't to say orphans don't matter at all.  For p2pool oprhan rate what matters is your stale vs network stale.  If they are similar then you will earn at same rate .

An example may help.
Say you generate 10 shares per hour and the network generates 1000.  Both you and the network average have an orphan rate of 10%.

Work completed:  
You 10, network: 1000, 10 / 1000 = you contributed 1% of work

Shares orphaned:
You 1, network 100,  1/100 = your orphans are 1% of all shares orphaned

Work recorded in sharechain:
You 9, network 900,  9/900 = your share of reward is 1%

You provided 1% of the total work and got 1% of the reward.


dead on arrival is more comparable to a conventional pool's "stale rate".  It is work that your p2pool node determined was invalid by the time it was received.  In a similar fashion a conventional pool marks shares as stale if they are invalid by the time received by the pool.  

You should strive to keep that number as low as possible to increase your profits and to make p2pool more efficient.

To lower your DOA in cgminer you may want to try the following settings:
threads per GPU: 1
queue: 1
intensity: 1 lower than w/ conventional pools (i.e. for 5970 I use I:9 on normal pools and I:8 on p2pool)

TL/DR version:
1) p2pool stales aren't comparable to other pools because they include internal share orphans.
2) As long as your stale rate is comparable to the p2pool avg you will earn the same amount
3) DOA are more comparable to stale rate in other pools.
4) To lower DOA rate use "faster" cgminer settings (less threads, smaller queue, lower intensity)
member
Activity: 81
Merit: 10
My stale is 7.2%,it seems too high,why?
Does p2pool support longpoll?
donator
Activity: 1218
Merit: 1079
Gerald Davis

Excuse me,but how to "run p2pool with the -a option, with a payment address"?

run_p2pool - a 1QCnJU2qK1ufNouQoEqRhuRkbWU1Qpo2uw http://USER:[email protected]:8336/

No need for user/pass.  If bitcoind is on the same machine as p2pool, p2pool will read pass from config file. 
member
Activity: 81
Merit: 10

Excuse me,but how to "run p2pool with the -a option, with a payment address"?

run_p2pool - a 1QCnJU2qK1ufNouQoEqRhuRkbWU1Qpo2uw http://USER:[email protected]:8336/


Thanks a lot!
It runs successfully!
hero member
Activity: 910
Merit: 1000
Items flashing here available at btctrinkets.com

Excuse me,but how to "run p2pool with the -a option, with a payment address"?

run_p2pool - a 1QCnJU2qK1ufNouQoEqRhuRkbWU1Qpo2uw http://USER:[email protected]:8336/
member
Activity: 81
Merit: 10
I've updated v0.10.3,run it and shows errors:
p2pool.util.jsonrpc.error:-12 error:keypool ran out,please call keypoolrefill first
error getting payout address from bitcoind:
traceback (most recent call last):

My bitcoin-qt is v0.6.0.6 and os is win7 x64
What is the matter?

The problem is due to you using an encrypted wallet, which is locked. The easiest solution would be to run p2pool with the -a option, with a payment address.

Excuse me,but how to "run p2pool with the -a option, with a payment address"?
Jump to: