jtoomim
|
|
December 20, 2017, 12:57:26 AM Last edit: December 20, 2017, 01:19:00 AM by jtoomim |
|
How would one know if the p2pool network is getting attacked? It seems at times, over 100GH,while being only a 200-300GH network currently, can come jump on the p2pool LTC network and global rejection rates seems to spike. Rejections 30-40%, sometimes even 50% on some of the bigger nodes it seems. It could just be going crazy watching the networks numbers and trying to figure out whats going on. I know it would take someone with 50% or so of our hashrate to preform an attack. They would just submit mass invalid shares purposefully, correct?
It's far less likely to be an intentional attack than it is to be plain performance problems. The litecoin network has seen higher transaction volume recently, and that results in higher p2pool CPU load. If your CPU is not fast enough, it will take several seconds to process a share and issue new work to miners. Any work returned from your miners during that time will be considered DOA (dead) shares. Once you find a share, you have to send it to all of your peers, and they have to send it to all of theirs, etc. While the share is being propagated, there's a chance that someone else will mine a share that will out-propagate yours, which can cause your shares to be orphaned. Furthermore, each time mainnet p2pool changes blocks, the most recent share gets orphaned unless the person who mines the next share is the same as the person who mined that share. (This third effect was removed on jtoomimnet.) These three effects make p2pool biased towards miners with a lot of hashrate, and that bias increases as transaction volume increases. The first two biases are substantially reduced if node operators use CPUs with high single-threaded performance (e.g. Core i7 4790k, which runs at 4.4 GHz) and if they use pypy. I've put in a lot of work on p2pool's code on jtoomimnet to reduce the CPU load of p2pool and reduce these biases, but I have not yet managed to get jtoomimnet working for Litecoin. It might be ready now, actually -- the most recent issue I had was the port conflict with Bitcoin Cash, which I fixed, but I haven't tested it since. However, the improvements I've made so far do not eliminate the problem, and probably only reduce it by about 50% or so. In the long term, there are a few major design changes I can make to p2pool to nearly completely eliminate this issue, but I have not had enough time to implement one yet. The most important metric is your node's efficiency rating. If your efficiency is above 100%, you're gaining extra revenue at someone else's expense due to the average miner having more DOA and orphan shares than you. If it's below 100%, you're losing revenue because you have more DOAs and orphans than average. If your efficiency is 90%, for example, then you're effectively donating 10% of your potential revenue and hashrate to other miners who have better node hardware and maybe more hashrate than you. If you're not okay with that, then you should either upgrade your node hardware or (ugh) switch to a centralized pool. The data you've described suggests that the new large miners are poorly configured (e.g. running on slow CPUs using CPython), and are losing revenue because of that. If that's the case, other miners are probably benefiting from their incompetence. No, the smartest attack would not be to submit mass invalid shares purposefully. Attacks would probably take the form of submitting valid shares, but ignoring valid shares submitted by users other than the selfish miner. If this is the case, then the node that is selfishly mining will show a low-normal orphan and DOA rate, and everyone else will see normal DOA rates but high orphan rates.
|
Hosting bitcoin miners for $65 to $80/kW/month on clean, cheap hydro power. http://Toom.im
|
|
|
Kiefff
Newbie
Offline
Activity: 32
Merit: 0
|
|
December 20, 2017, 03:13:08 AM |
|
Jtoomim, Im willing to help in any way that I can with p2pool LTC side of things, if needed. I have made some youtube videos lately sparking interest in a lot of people, showing them how p2pool is beneficial(well, hopefully I did =D). As you can tell, crypto is bigger now more than ever, and people really believe in a decentralized currency and mining it on p2pool.
I have been running my node with pypy over python as you suggested before and notice quite a difference. But overall, I'm starting to come up to conclusion that p2pool rejects ~20% of its hashrate overall? I know both of my nodes are between 95-100% efficiency, so thats good to know and to try to explain to some people. I have one public node that everyone is on and my own private one. Showing others the difference in possible predicted payout running their own node. But so far, it seems to honestly not really matter, overall. Again, let me know if you ever need my miners help and thanks again JToomim.
|
|
|
|
|
Kiefff
Newbie
Offline
Activity: 32
Merit: 0
|
|
December 20, 2017, 07:06:22 PM |
|
Public node, average rejection rate 15-20%= 107.4% Efficiency Private node, average rejection rate 3-6%= 122% Efficiency
predicted payouts seem to be generally the same between the two nodes when comparing. But explaining this to some miners is hard, all they see is rejection rates 15-20% and think bad things.
|
|
|
|
jtoomim
|
|
December 21, 2017, 02:00:38 AM |
|
But overall, I'm starting to come up to conclusion that p2pool rejects ~20% of its hashrate overall?
mainnet p2pool will reject the last share mined in each block interval. For Litecoin, a share is mined roughly every 30 seconds and a block is mined roughly every 150 seconds, so this causes 30/150 = 20% of shares to get orphaned. P2pool will report "punishing share" and "block-stale detected!" when this happens. This effect happens to everybody almost equally, so it does not cause imbalance. The mining that is done in the last 30 seconds of each block interval can still be used to mine an actual block and pay all p2pool users, so it's not lost hashrate; it's merely unaccounted hashrate. However, if you are a large enough miner, you can mine another share on top of that when it happens to you and prevent your hashing from being unaccounted like everyone else's, so this mechanism *is* a centralization/selfish mining risk. I eliminated this mechanism in jtoomimnet: https://github.com/jtoomim/p2pool/commit/b57a4ff93e58c0702aa2481c164517e7290c8d43https://bitcointalk.org/index.php?topic=18313.msg18580559#msg18580559
|
Hosting bitcoin miners for $65 to $80/kW/month on clean, cheap hydro power. http://Toom.im
|
|
|
kano
Legendary
Offline
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
|
|
December 21, 2017, 02:25:10 AM |
|
... The mining that is done in the last 30 seconds of each block interval can still be used to mine an actual block and pay all p2pool users, so it's not lost hashrate; it's merely unaccounted hashrate. ...
Which is why luck statistics of p2pool show higher than they really are.
|
|
|
|
Kiefff
Newbie
Offline
Activity: 32
Merit: 0
|
|
December 21, 2017, 05:18:31 PM Last edit: December 21, 2017, 08:20:51 PM by Kiefff |
|
Also, now that nicehash is back, I think I may give renting hash from them another go. It seems even adding WALLET+DIFF(lowest they will allow >= 524288), nicehash is still giving me an error when trying to connect to a p2pool node, saying diff is too LOW. Any way around this? Scrypt hashing power.
|
|
|
|
mine4.com
Newbie
Offline
Activity: 11
Merit: 0
|
|
December 21, 2017, 08:51:47 PM |
|
208.84.223.121:9334 is live and running. If you can't connect to it, there's a problem on your end, possibly with your firewall configuration or your internet connectivity. You should be able to browse 208.84.223.121:9334 in a web browser, for example.
Hi Jtoomim, I'm able to access 208.84.223.121:9334 from a browser on the PC that I'm running jtoomim on. But when i run ./run_p2pool.py I'm still getting the handshake error. Any thoughts what I may need to look at? I thought about opening a port, but its happy to run mainnet without the port open. Thank you. James.
|
|
|
|
jtoomim
|
|
December 21, 2017, 08:53:00 PM |
|
Amazing. On jtoomimnet BTC, transaction fees are almost equal to the block subsidy: Current block value: 24.32189198 BTC Expected time to block: 17.2 days Mainnet BTC, for comparison: Current block value: 19.10029498 BTC Expected time to block: 75.5 days
|
Hosting bitcoin miners for $65 to $80/kW/month on clean, cheap hydro power. http://Toom.im
|
|
|
jtoomim
|
|
December 21, 2017, 08:55:56 PM |
|
I'm able to access 208.84.223.121:9334 from a browser on the PC that I'm running jtoomim on. But when i run ./run_p2pool.py I'm still getting the handshake error.
Are you using the most recent version of 1mb_segwit? Can you post the log output in code tags?
|
Hosting bitcoin miners for $65 to $80/kW/month on clean, cheap hydro power. http://Toom.im
|
|
|
mine4.com
Newbie
Offline
Activity: 11
Merit: 0
|
|
December 21, 2017, 09:22:24 PM |
|
Are you using the most recent version of 1mb_segwit? Can you post the log output in code tags?
I'm unsure how to check the 1mb_segwit. I'm used 'git clone https://github.com/jtoomim/p2pool' to get the program, is the 1mb_segwit part of that download or is there a command I'm missing? 2017-12-21 21:10:11.449563 p2pool (version 15.0-47-gaf1f8b1-dirty) 2017-12-21 21:10:11.449646 2017-12-21 21:10:11.449694 Testing bitcoind RPC connection to 'http://127.0.0.1:8332/' with username ''... 2017-12-21 21:10:11.835311 ...success! 2017-12-21 21:10:11.835398 Current block hash: 19f50533dfba877c161bfeafbb015b814067588174a990 2017-12-21 21:10:11.835435 Current block height: 500440 2017-12-21 21:10:11.835465 2017-12-21 21:10:11.835506 Testing bitcoind P2P connection to '127.0.0.1:8333'... 2017-12-21 21:10:11.837234 ...success! 2017-12-21 21:10:11.837282 2017-12-21 21:10:11.837331 Determining payout address... 2017-12-21 21:10:11.837410 Loaded cached address: 1Asw8HFnx5T5VLrHyS8QQGKnL6hGzXUUPy... 2017-12-21 21:10:11.839894 ...success! Payout address: 1Asw8HFnx5T5VLrHyS8QQGKnL6hGzXUUPy 2017-12-21 21:10:11.839941 2017-12-21 21:10:11.839980 Loading shares... 2017-12-21 21:10:11.840100 Share loading took 0.000 seconds 2017-12-21 21:10:11.840149 ...done loading 0 shares (0 verified)! 2017-12-21 21:10:11.840177 2017-12-21 21:10:11.840206 Initializing work... 2017-12-21 21:10:12.202098 ...success! 2017-12-21 21:10:12.202241 2017-12-21 21:10:12.202292 Joining p2pool network using port 9333... 2017-12-21 21:10:12.476768 ...success! 2017-12-21 21:10:12.476839 2017-12-21 21:10:12.477027 Listening for workers on '' port 9332... 2017-12-21 21:10:12.567105 ...success! 2017-12-21 21:10:12.567166 2017-12-21 21:10:12.567199 Started successfully! 2017-12-21 21:10:12.567231 Go to http://127.0.0.1:9332/ to view graphs and statistics! 2017-12-21 21:10:12.567267 Donating 1.0% of work towards P2Pool's development. Thank you! 2017-12-21 21:10:12.567304 You can increase this amount with --give-author argument! (or decrease it, if you must) 2017-12-21 21:10:12.567332 2017-12-21 21:10:42.567489 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:10:42.567584 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:10:51.979661 Handshake timed out, disconnecting from 208.84.223.121:9336 2017-12-21 21:11:12.567707 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:11:12.567786 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:11:42.567906 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:11:42.567996 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:11:56.637840 Handshake timed out, disconnecting from 208.84.223.121:9334 2017-12-21 21:12:12.568152 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:12:12.568259 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:12:41.939632 Peer 72.14.191.28:9333 says protocol version is 1600, client version 16.0-4-gde1be30-dirty 2017-12-21 21:12:41.939758 Peer 72.14.191.28:9333 misbehaving, will drop and ban. Reason: peer too old 2017-12-21 21:12:41.939815 Bad peer banned: (u'72.14.191.28', 9333) 2017-12-21 21:12:41.940003 Peer 72.14.191.28:9333 misbehaving, will drop and ban. Reason: first message was not version message 2017-12-21 21:12:41.940080 Bad peer banned: (u'72.14.191.28', 9333) 2017-12-21 21:12:41.940230 Peer 72.14.191.28:9333 misbehaving, will drop and ban. Reason: first message was not version message 2017-12-21 21:12:41.940304 Bad peer banned: (u'72.14.191.28', 9333) 2017-12-21 21:12:42.568382 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:12:42.568445 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:12:46.463634 Handshake timed out, disconnecting from 208.84.223.121:9336 2017-12-21 21:13:12.568592 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:13:12.568683 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:13:14.522222 Handshake timed out, disconnecting from 208.84.223.121:9334 2017-12-21 21:13:42.569292 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:13:42.569391 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:14:02.095014 Handshake timed out, disconnecting from 208.84.223.121:9336 2017-12-21 21:14:12.569536 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:14:12.569628 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:14:13.280343 Handshake timed out, disconnecting from 208.84.223.121:9336 2017-12-21 21:14:39.100831 Handshake timed out, disconnecting from 208.84.223.121:9334 2017-12-21 21:14:42.569788 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:14:42.569884 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:15:02.472063 Handshake timed out, disconnecting from 208.84.223.121:9334 2017-12-21 21:15:12.570019 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:15:12.570106 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:15:42.570256 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2017-12-21 21:15:42.570357 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ??? 2017-12-21 21:15:48.179448 Handshake timed out, disconnecting from 208.84.223.121:9334
Thanks for your help. James.
|
|
|
|
sawa
Legendary
Offline
Activity: 1308
Merit: 1011
|
|
December 21, 2017, 09:34:08 PM |
|
Are you using the most recent version of 1mb_segwit? Can you post the log output in code tags?
I'm unsure how to check the 1mb_segwit. I'm used 'git clone https://github.com/jtoomim/p2pool' to get the program, is the 1mb_segwit part of that download or is there a command I'm missing? cd p2pool git checkout 1mb_segwit
|
|
|
|
mine4.com
Newbie
Offline
Activity: 11
Merit: 0
|
|
December 21, 2017, 10:25:24 PM |
|
Are you using the most recent version of 1mb_segwit? Can you post the log output in code tags?
I'm unsure how to check the 1mb_segwit. I'm used 'git clone https://github.com/jtoomim/p2pool' to get the program, is the 1mb_segwit part of that download or is there a command I'm missing? cd p2pool git checkout 1mb_segwit The git checkout 1mb_segwit didn't work initially so I deleted p2pool and re-cloned it. I did the git checkout 1mb_segwit again and now it seems to be running. I'll let it synchronise through the night and see how its going in the morning. Thank you all for the help. James.
|
|
|
|
Kiefff
Newbie
Offline
Activity: 32
Merit: 0
|
|
December 22, 2017, 07:32:08 AM |
|
Currently in a nasty drought on LTC p2pool. Of course the last block we hit ended up be an orphan, or invalid? Not sure which, but I know no payout =] https://chainz.cryptoid.info/ltc/block.dws?1336553.htm How do you figure out what went wrong? Also, when will there be talk again of finally merging the two BTC p2pool nets? I think one needs to end, and finally put the two nets together. Now I am no programmer, but I feel I have a decent understanding over mechanics of p2pool. It is quite confusing to any new miners on what p2pool is already, so hearing about two different network adds to the confusion and seems to be a turn off. After seeing a BTC block today that was almost 25 BTC with fees and a LTC block at 36 LTC, I think p2pool really has a chance at attracting more miners if they see the lost revenue. I say combine the nets, and lets get p2pool going again. I'm going to continue pushing decentralized mining on p2pool networks as much as I can. May the blocks be with you....
|
|
|
|
tubexc
|
|
December 22, 2017, 10:40:13 AM |
|
Amazing. On jtoomimnet BTC, transaction fees are almost equal to the block subsidy: Current block value: 24.32189198 BTC Expected time to block: 17.2 days Mainnet BTC, for comparison: Current block value: 19.10029498 BTC Expected time to block: 75.5 days If you like stats. You could measure how long it takes to put all your shares on the sharechain.
|
|
|
|
jtoomim
|
|
December 22, 2017, 05:13:34 PM |
|
Currently in a nasty drought on LTC p2pool. Of course the last block we hit ended up be an orphan, or invalid?
Check your .litecoin/debug.log file and search for the block's hash. If it was invalid, the debug.log should say so. If it was valid, your debug.log should say something else, like UpdateTip (if you mined this block before your local node had heard of any other blocks). Feel free to post part of the log if you want help analyzing it. `grep -C 20 <hash> ~/.litecoin/debug.log` will find all lines that are within 20 lines of a line containing <hash>. Also, when will there be talk again of finally merging the two BTC p2pool nets?
Once my code is working and tested with altcoins (e.g. Litecoin), I will submit a pull request and ask forrestv to merge it in.
|
Hosting bitcoin miners for $65 to $80/kW/month on clean, cheap hydro power. http://Toom.im
|
|
|
|
Kiefff
Newbie
Offline
Activity: 32
Merit: 0
|
|
December 24, 2017, 04:11:41 AM |
|
Thank you for this info, I will give it a try. Maybe we can get 1TH on p2pool LTC? =D
|
|
|
|
sero2kk
Newbie
Offline
Activity: 16
Merit: 0
|
|
December 24, 2017, 09:26:10 AM Last edit: December 25, 2017, 05:15:29 AM by frodocooper |
|
hello, i´m running p2pool bitcoin, litecoin, sibcoin and dash. all works fine. but now i want to setup a quarkcoin p2pool and if i want test the pool with: python run_p2pool.py --net quarkcoin myRPCuser myRPCpassword
i allways get this message: 2017-12-24 10:14:31.029922 p2pool (version 13.2-16-g69aadfa) 2017-12-24 10:14:31.030025 2017-12-24 10:14:31.030140 Testing bitcoind RPC connection to 'http://127.0.0.1:11972/' with username 'myRPCuser'... Error while checking Bitcoin connection: Traceback (most recent call last): Failure: twisted.internet.error.ConnectionRefusedError: Connection was refused by other side: 111: Connection refused.
i´m using this p2pool for quarkcoin: my ~/.quarkcoin/quarkcoin.conf looks lite this: rpcuser=myRPCuser rpcpassword=myRPCpassword server=1 daemon=1 maxconnections=80 gen=1 genproclimit=-1
so now i changed my config and did a second test:new ~/.quarkcoin/quarkcoin.conf: rpcuser=myRPCuser rpcpassword=myRPCpassword server=1 daemon=1 listen=1 maxconnections=80 gen=1 genproclimit=-1 rpcport=8372 port=8373
i tried to run with: python run_p2pool.py --net quarkcoin --bitcoind-rpc-port 8372 --bitcoind-p2p-port 8373 myRPCuser myRPCpassword
and got this message: 2017-12-24 13:52:39.311194 p2pool (version 13.2-16-g69aadfa) 2017-12-24 13:52:39.311408 2017-12-24 13:52:39.311598 Testing bitcoind RPC connection to 'http://127.0.0.1:8372/' with username 'myRPCuser'... 2017-12-24 13:52:39.398251 > Check failed! Make sure that you're connected to the right Client with --bitcoind-rpc-port! 2017-12-24 13:52:40.408582 > Check failed! Make sure that you're connected to the right Client with --bitcoind-rpc-port! 2017-12-24 13:52:41.413383 > Check failed! Make sure that you're connected to the right Client with --bitcoind-rpc-port!
thanks for any help... (Moderator note: This post was edited by frodocooper to replace the quote tags used for the command-line entries and the log outputs with code tags.)
|
|
|
|
Kiefff
Newbie
Offline
Activity: 32
Merit: 0
|
|
December 24, 2017, 05:48:43 PM |
|
also, anyone work on setting up p2pool Verge(scrypt)?
|
|
|
|
|