Author

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

hero member
Activity: 516
Merit: 643
How is initial chain syncing accomplished?

Nodes download the most recent portion of the sharechain from their peers.


Only 1 day is kept, so how does a new peer distinguish which is the correct sharechain, since it can't trace back to genesis?

From the wiki:
Mining a sharechain that dies means that you share any winnings, but then there are no later winners to share back with you.

Is there persistence for the sharechain?

Does restart the p2pool daemon mean it has to re-acquire the sharechain from scratch?

Yes, you're mining on the assumption that the pool is not going to disappear while your shares are valid. I'm not sure exactly what you mean with the second question, but the sharechain is persisted to disk, so when you restart your node, it only has to download shares since it was stopped.

What are "heads" and "tails" (and what are "verified heads" and "verified tails")?

Why is the difficulty of the sharechain not linked directly to the main chain's difficulty?

Related to that is why not just keep 24 hours worth of main chain blocks?

"Heads" are shares without child shares (leaves of a tree structure). "Tails" are shares without their parent present (roots of a tree structure). The difficulty of the sharechain is unlinked so it can go as fast as possible, which we've empirically determined to be something like 20 to 30 seconds. Keeping 24 hours worth of main chain blocks would require storing an unbounded number of shares in memory, which is a bad idea.
legendary
Activity: 1232
Merit: 1094
This link should answer most of your questions. There's an error on the wiki though; the share chain difficulty is adjusted so that a share is found every 30 seconds now, not 10 seconds (for ASIC compatibility).

I was looking for a little more info than that, but thanks for the link.

Quote
How is initial chain syncing accomplished?

I think this has to do with the verification system.  Shares are compared to main chain blocks somehow?

What happens during the period until initial verification?

From what I can see, the node effectively solo mines, until it is sure that the sharechain is valid.

I think explaining "verified" heads and tails (what are heads and tails?) would give the info.
hero member
Activity: 591
Merit: 500
Is there any documentation explaining exactly how the system works?

How is initial chain syncing accomplished?

Only 1 day is kept, so how does a new peer distinguish which is the correct sharechain, since it can't trace back to genesis?

Mining a sharechain that dies means that you share any winnings, but then there are no later winners to share back with you.

Is there persistence for the sharechain?

Does restart the p2pool daemon mean it has to re-acquire the sharechain from scratch?

What are "heads" and "tails" (and what are "verified heads" and "verified tails")?

Why is the difficulty of the sharechain not linked directly to the main chain's difficulty?

Related to that is why not just keep 24 hours worth of main chain blocks?
This link should answer most of your questions. There's an error on the wiki though; the share chain difficulty is adjusted so that a share is found every 30 seconds now, not 10 seconds (for ASIC compatibility).
legendary
Activity: 1232
Merit: 1094
Is there any documentation explaining exactly how the system works?

How is initial chain syncing accomplished?

Only 1 day is kept, so how does a new peer distinguish which is the correct sharechain, since it can't trace back to genesis?

Mining a sharechain that dies means that you share any winnings, but then there are no later winners to share back with you.

Is there persistence for the sharechain?

Does restart the p2pool daemon mean it has to re-acquire the sharechain from scratch?

What are "heads" and "tails" (and what are "verified heads" and "verified tails")?

Why is the difficulty of the sharechain not linked directly to the main chain's difficulty?

Related to that is why not just keep 24 hours worth of main chain blocks?
hero member
Activity: 591
Merit: 500
If you need to read a readme to get it working, it's too complex by default.  Grin
According to that logic, p2pool and pretty much every other piece of mining software (except maybe BitMinter) are too complex. Cgminer is extremely easy to figure out even with the readmes.
full member
Activity: 194
Merit: 100
While chasing some other unrelated issue I found the following nodes haven't bothered upgrading yet:
Code:
107.23.239.94
108.23.226.104
118.208.155.250
118.208.3.142
128.250.61.122
128.84.98.23
132.187.207.113
178.208.137.77
178.219.102.86
184.185.89.116
195.162.48.78
198.144.178.100
198.211.112.91
199.21.86.50
202.60.68.242
213.112.114.73
218.104.84.203
222.83.251.105
46.170.233.26
46.23.72.52
47.67.129.61
58.210.65.114
59.167.237.19
63.246.129.56
69.47.57.170
76.117.124.58
79.140.64.11
86.50.113.159
87.244.203.17
88.190.229.196
88.190.60.96
91.127.111.209

Magical incantation to produce said list:
Code:
data/bitcoin$ grep peer log | grep "p2pool version: 1100"  | awk '{print $7}' | cut -d ':' -f1 | sort | uniq

zvs
legendary
Activity: 1680
Merit: 1000
https://web.archive.org/web/*/nogleg.com
log:2013-08-13 08:54:28.443218  Shares: 1 (0 orphan, 0 dead) Stale rate: ~0.0% (0-80%) Efficiency: ~119.2% (24-120%) Current payout: 0.0156 BTC
log:2013-08-13 08:54:43.445825  Shares: 2 (0 orphan, 1 dead) Stale rate: ~50.0% (9-91%) Efficiency: ~59.6% (11-108%) Current payout: 0.0156 BTC
log:2013-08-13 08:56:13.468986  Shares: 2 (0 orphan, 1 dead) Stale rate: ~50.0% (9-91%) Efficiency: ~59.6% (11-108%) Current payout: 0.0156 BTC
log:2013-08-13 08:56:28.472261  Shares: 2 (0 orphan, 2 dead) Stale rate: ~100.0% (34-100%) Efficiency: ~0.0% (0-78%) Current payout: 0.0156 BTC

......

I'm curious as to how something like that happens?  Essentially some share from 2 minutes earlier was moved from OK to DOA?  It initially reported it as DOA, too.  (i'll refrain from posting more, the log is at www.nogleg.com/log)

Also, is there some setting I have messed up where it doesn't work properly with ASICs, or?  (re 3 out of 4 DOA)

(ed: I guess from looking at the graph it could have just been bad luck, looks like about 13% DOA)

oh, I'm also testing something at nogleg.net:9332 that may be faster (the blocksize is just at 1000 temporarily)
hero member
Activity: 1246
Merit: 501
If you need to read a readme to get it working, it's too complex by default.  Grin
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4

Get an RPi ~$50+ and it will run linux and mine on all those devices ... and never shutdown at 3am doing windows updates (that you'll have to know how to deal with) ... and not detect cgminer as a virus (that you'll have to know how to deal with) ... and not need buying the OS and updating the hardware (or wiping and reinstalling windows that you'll need to know how to deal with) every couple of years due to windows slowing down to a crawl ...


If any of this happens to you, you should definitely stick to Linux, because you suck at running Windows.   Kiss
It will definitely happen to anyone who thinks Zadig is too complex to follow the simple instructions I wrote in the cgminer READMEs
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
I've completed the rework of the stratum work generation code which was where most of the high CPU usage on p2pool was, and uploaded new firmware with the newly released version 3.3.3 of cgminer:
Updated link, with slightly newer firmware addressing slower speeds on auto:
http://ck.kolivas.org/apps/cgminer/avalon/20130813-1/
hero member
Activity: 1246
Merit: 501

Get an RPi ~$50+ and it will run linux and mine on all those devices ... and never shutdown at 3am doing windows updates (that you'll have to know how to deal with) ... and not detect cgminer as a virus (that you'll have to know how to deal with) ... and not need buying the OS and updating the hardware (or wiping and reinstalling windows that you'll need to know how to deal with) every couple of years due to windows slowing down to a crawl ...


If any of this happens to you, you should definitely stick to Linux, because you suck at running Windows.   Kiss
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
lol
I admit tux has some advantages but also has many disadvantages
If i would not have to cope with 5 ladies using winblows software like *cough* ms office *cough* and if games really would run smooth and instant on tux, like they do on winblows i would instant switch over.
This far non of the game industry is willing and able to port their games over to linux.
So i guess thats not gonna happen anytime soon, and i expect that not to happen for at least 10 decades.

Well, I guess if mining reliability and uptime takes a 2nd importance to playing games ... well yeah ... who cares Tongue

Get an RPi ~$50+ and it will run linux and mine on all those devices ... and never shutdown at 3am doing windows updates (that you'll have to know how to deal with) ... and not detect cgminer as a virus (that you'll have to know how to deal with) ... and not need buying the OS and updating the hardware (or wiping and reinstalling windows that you'll need to know how to deal with) every couple of years due to windows slowing down to a crawl ...

In my case I simply have all the consoles (for my kids Tongue)
Cheaper and more reliable than playing games on windows
(I got sick of having to spend up to $1k every couple of years updating the windows computer ... with a new cheap GPU etc)

I support 6 small companies (I'm their full IT department) and I sure don't run windows on my desktop ... even though every desktop they have I setup as Windows coz that's what they want.
I have a windows VM coz ... some people want to run cgminer on windows ... so I have to be able to test it Sad
legendary
Activity: 1540
Merit: 1001
Well i allways loved cgminer but i switched simply because the other just runs without doing any zadig crap.
It probably depends also on which version of windows your running in my case windows 8 pro x64.

You say : install zadig once and all work....... The hell it does not

It will not install on all usb devices.
You have to freaking add all by hand every freaking device

It simply not install any other then that one device you did, in my case each and every block erupter YES all 12

True after that .. it works flawless with this zadig, unless you want to use a different hardware with it ... like bfl jalapeno

Because indeed i could not get the freaking jala to work with or without zadig at all, cgminer simply refused to find that thing.
Even though it was clearly visible as a FTDI device in windows

And last but not least to get the zadig crap out your kinda busy as well, the only simple solution is delete each and every usb driver which was used with zadig and keep deleting them till the libusb driver is back instead of winusb.
It really turned out to be nastier then i expected, even now some ports still got the winusb installed after several attempts to get rid of them. I have not found one simple solution to remove that winusb driver yet.
The libusb which the zadig tool puts in IS not the one which works flawless with bfgminer

I didn't have such difficulty.  I installed zadig once for one, rebooted, and it's worked great ever since.  When I get a new USB erupter, I plug it in, modify my command line to launch cgminer, and it just works (tm). 

Quite different from my experiences with linux.  I can spend a day trying to get linux to work and fail, or an hour to get windows and succeed.  Easy choice for me.

M
legendary
Activity: 916
Merit: 1003
...and if games really would run smooth and instant on tux, like they do on winblows i would instant switch over.

I was quite the gamer in my time.  Fortunately I've moved on and it no longer influences me in important decisions like this.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
I believe this is why the abbreviation YMMV was invented, but we love you still.
hero member
Activity: 774
Merit: 500
Lazy Lurker Reads Alot
lol
I admit tux has some advantages but also has many disadvantages
If i would not have to cope with 5 ladies using winblows software like *cough* ms office *cough* and if games really would run smooth and instant on tux, like they do on winblows i would instant switch over.
This far non of the game industry is willing and able to port their games over to linux.
So i guess thats not gonna happen anytime soon, and i expect that not to happen for at least 10 decades.
legendary
Activity: 1792
Merit: 1008
/dev/null
Well i allways loved cgminer but i switched simply because the other just runs without doing any zadig crap.
It probably depends also on which version of windows your running in my case windows 8 pro x64.

You say : install zadig once and all work....... The hell it does not

It will not install on all usb devices.
You have to freaking add all by hand every freaking device

It simply not install any other then that one device you did, in my case each and every block erupter YES all 12

True after that .. it works flawless with this zadig, unless you want to use a different hardware with it ... like bfl jalapeno

Because indeed i could not get the freaking jala to work with or without zadig at all, cgminer simply refused to find that thing.
Even though it was clearly visible as a FTDI device in windows

And last but not least to get the zadig crap out your kinda busy as well, the only simple solution is delete each and every usb driver which was used with zadig and keep deleting them till the libusb driver is back instead of winusb.
It really turned out to be nastier then i expected, even now some ports still got the winusb installed after several attempts to get rid of them. I have not found one simple solution to remove that winusb driver yet.
The libusb which the zadig tool puts in IS not the one which works flawless with bfgminer
welcome to winblows Wink
hero member
Activity: 774
Merit: 500
Lazy Lurker Reads Alot
Well i allways loved cgminer but i switched simply because the other just runs without doing any zadig crap.
It probably depends also on which version of windows your running in my case windows 8 pro x64.

You say : install zadig once and all work....... The hell it does not

It will not install on all usb devices.
You have to freaking add all by hand every freaking device

It simply not install any other then that one device you did, in my case each and every block erupter YES all 12

True after that .. it works flawless with this zadig, unless you want to use a different hardware with it ... like bfl jalapeno

Because indeed i could not get the freaking jala to work with or without zadig at all, cgminer simply refused to find that thing.
Even though it was clearly visible as a FTDI device in windows

And last but not least to get the zadig crap out your kinda busy as well, the only simple solution is delete each and every usb driver which was used with zadig and keep deleting them till the libusb driver is back instead of winusb.
It really turned out to be nastier then i expected, even now some ports still got the winusb installed after several attempts to get rid of them. I have not found one simple solution to remove that winusb driver yet.
The libusb which the zadig tool puts in IS not the one which works flawless with bfgminer


legendary
Activity: 1792
Merit: 1008
/dev/null
Thanks for testing. Still got a little bit more to squeeze out of it but the cpu usage will always look a little higher due to the driver cpu usage all being attributed to cgminer now instead of hidden in the operating system (since there is no driver with direct usb).
I've completed the rework of the stratum work generation code which was where most of the high CPU usage on p2pool was, and uploaded new firmware with the newly released version 3.3.3 of cgminer:

http://ck.kolivas.org/apps/cgminer/avalon/20130813/
great, seems i have to try stratum + p2pool again, as stratum was worse than getwork and +, tough i dont have avalons Wink
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Thanks for testing. Still got a little bit more to squeeze out of it but the cpu usage will always look a little higher due to the driver cpu usage all being attributed to cgminer now instead of hidden in the operating system (since there is no driver with direct usb).
I've completed the rework of the stratum work generation code which was where most of the high CPU usage on p2pool was, and uploaded new firmware with the newly released version 3.3.3 of cgminer:

EDIT: Updated link, with slightly newer firmware:
http://ck.kolivas.org/apps/cgminer/avalon/20130813-1/
Jump to: