Bitcoin Forum
December 04, 2016, 12:31:13 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 [93] 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 ... 744 »
  Print  
Author Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool  (Read 2029430 times)
jiyu_shi
Member
**
Offline Offline

Activity: 78


View Profile
April 09, 2012, 12:40:38 PM
 #1841

My stale is 7.2%,it seems too high,why?
Does p2pool support longpoll?
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480854673
Hero Member
*
Offline Offline

Posts: 1480854673

View Profile Personal Message (Offline)

Ignore
1480854673
Reply with quote  #2

1480854673
Report to moderator
1480854673
Hero Member
*
Offline Offline

Posts: 1480854673

View Profile Personal Message (Offline)

Ignore
1480854673
Reply with quote  #2

1480854673
Report to moderator
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
April 09, 2012, 12:54:35 PM
 #1842

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)
Gabi
Legendary
*
Offline Offline

Activity: 1050


View Profile
April 09, 2012, 01:19:14 PM
 #1843

+1 to what he said, p2pool stales are not like other pools stales.
VoluntaryMan
Newbie
*
Offline Offline

Activity: 29



View Profile WWW
April 09, 2012, 02:21:56 PM
 #1844

So if p2pool finds one share every 10 seconds (vs 600 sec for Bitcoin), would that mean that p2pool should have ~60 stales?
EDIT: About 60 times as many stales.

Want to thank me for a post? Send some BTC my way:
1C3wPaCGAYh9RBhMwpWMkmj1yJJP3U6XmP
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
April 09, 2012, 02:33:54 PM
 #1845

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?
chiropteran
Sr. Member
****
Offline Offline

Activity: 348



View Profile WWW
April 09, 2012, 02:40:33 PM
 #1846

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.

DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
April 09, 2012, 02:46:09 PM
 #1847

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.
rjk
Sr. Member
****
Offline Offline

Activity: 420


1ngldh


View Profile
April 09, 2012, 03:01:16 PM
 #1848

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 <ip address>:9332
after opening the port on your firewall.
or something similar to that.

Mining Rig Extraordinaire - the Trenton BPX6806 18-slot PCIe backplane [PICS] Dead project is dead, all hail the coming of the mighty ASIC!
Ente
Legendary
*
Offline Offline

Activity: 1834



View Profile
April 09, 2012, 03:36:26 PM
 #1849

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
freshzive
Sr. Member
****
Offline Offline

Activity: 447


View Profile
April 09, 2012, 03:39:00 PM
 #1850

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

DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
April 09, 2012, 03:46:12 PM
 #1851

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.
chiropteran
Sr. Member
****
Offline Offline

Activity: 348



View Profile WWW
April 09, 2012, 03:52:28 PM
 #1852

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.

rjk
Sr. Member
****
Offline Offline

Activity: 420


1ngldh


View Profile
April 09, 2012, 03:58:12 PM
 #1853

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.

Mining Rig Extraordinaire - the Trenton BPX6806 18-slot PCIe backplane [PICS] Dead project is dead, all hail the coming of the mighty ASIC!
chiropteran
Sr. Member
****
Offline Offline

Activity: 348



View Profile WWW
April 09, 2012, 04:01:12 PM
 #1854

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.

Raize
Donator
Legendary
*
Offline Offline

Activity: 1374


View Profile
April 09, 2012, 04:06:37 PM
 #1855

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?

OrganofCorti's Neighbourhood Pool Watch - The most informative website on blockchain health
rjk
Sr. Member
****
Offline Offline

Activity: 420


1ngldh


View Profile
April 09, 2012, 04:09:47 PM
 #1856

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.

Mining Rig Extraordinaire - the Trenton BPX6806 18-slot PCIe backplane [PICS] Dead project is dead, all hail the coming of the mighty ASIC!
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
April 09, 2012, 04:10:53 PM
 #1857

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.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
April 09, 2012, 04:16:44 PM
 #1858

If your P2Pool node finds a block are the transactions fees then put into node wallet.dat or the -a address?

Simple version:
p2pool (your node or any node) only has knowledge of the single payment address used.  Without -a it is a random address from the wallet (which changes on each run).  With the -a option it is the address you provide.  All compensation (block subsidy, tx fees, donations, etc) are split among all node's addresses by hashing power.

All nodes (not just yours) split the total block reward by the % each address has in the sharechain.  Anything else would be an invalid share.

More complex:
tx fees are part of block reward.  subisdy + tx fees = block reward.  For each getwork every node takes all the shares in the sharechain and determines what % belong to each address.  It then builds a coinbase sending that % of total block reward to each address.  If address a has 1% of shares in sharechain it gets 1% of reward, if address b has 10% it gets 10% of the reward. 
chiropteran
Sr. Member
****
Offline Offline

Activity: 348



View Profile WWW
April 09, 2012, 05:22:52 PM
 #1859

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. 

I was talking about the balance on the bitcoin wallet that bitcoind is running from.  Since you can't run the wallet simultaneously, the only way to find the balance is to stop mining briefly and open up the wallet.  If the p2pool occasionally showed the balance of the wallet in it's output this wouldn't be an issue.  Of course, I learned about the -a option later which makes this obsolete, maybe some people don't run with -a for various reasons and would like to know their balance with stopping the miners and bitcoind?



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?

Yes, the -a option makes it perform much like a regular pool.  There is just an extra piece that needs to be installed, but it's not too much extra work.  I'll be using -a to payout to my normal secure wallet from now on.  Maybe my case is unusual, but it seems like the -a option should be the default.

rjk
Sr. Member
****
Offline Offline

Activity: 420


1ngldh


View Profile
April 09, 2012, 05:28:43 PM
 #1860

I was talking about the balance on the bitcoin wallet that bitcoind is running from.  Since you can't run the wallet simultaneously, the only way to find the balance is to stop mining briefly and open up the wallet.  If the p2pool occasionally showed the balance of the wallet in it's output this wouldn't be an issue.  Of course, I learned about the -a option later which makes this obsolete, maybe some people don't run with -a for various reasons and would like to know their balance with stopping the miners and bitcoind?
FYI,you can send commands to a running bitcoind instance from another window. It is annoying that it doesn't just log to stdout or else fork to the background by default, but since it doesn't, just open a new command window and run the commands to access bitcoind as usual, and the one that you run will talk to the already-running instance and send you the data.

So, to get information about the currently running instance of bitcoind, just open a new command window and type 'bitcoind getinfo' (no quotes) and it will start a new instance of bitcoind that talks to the running instance and will spit out the requested information.

Although I haven't tested it, I hear it should be possible to tell the GUI to talk to a running bitcoind as well, but I don't what arguments that would require.

Mining Rig Extraordinaire - the Trenton BPX6806 18-slot PCIe backplane [PICS] Dead project is dead, all hail the coming of the mighty ASIC!
Pages: « 1 ... 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 [93] 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 ... 744 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!