roy7
|
|
February 11, 2014, 08:37:33 PM |
|
Forrestv mentioned in irc he's willing to pull in all the coin settings from other repos into the main distribution. It's be nice if the coin devs would submit pull requests with their coin setups to the official distribution when launching their coins.
|
|
|
|
roy7
|
|
February 11, 2014, 11:00:18 PM |
|
I like it! It's helpful to see the per-miner share difficulty targets.
Thanks. Do we have some repo, where we could work on this and some other improvements to p2pool for altcoins? I'd really like to consolidate the many altcoin builds (one git repo per coin ) into one build which works for most coins, for example... I don't know if it's a rounding error or a concern, but the slower miners have target difficulties a bit lower than the network minimum it seems.
|
|
|
|
bkminer
Full Member
Offline
Activity: 216
Merit: 100
Don't let the nam-shub in your operating system.
|
|
February 12, 2014, 12:00:05 AM |
|
mutable-tx attack on Bitcoin
Has anyone noticed any effects from this "attack?" A couple of days ago when it supposedly started my block template latency shot up from .1 to .45 and has been high every since. If there anyway to counter this kind of thing? Any know bot-net IPs to block?
I'm asking because I haven't seen any discussion about it here...
Thanks
|
|
|
|
roy7
|
|
February 12, 2014, 12:02:42 AM |
|
mutable-tx attack on Bitcoin
Has anyone noticed any effects from this "attack?" A couple of days ago when it supposedly started my block template latency shot up from .1 to .45 and has been high every since. If there anyway to counter this kind of thing? Any know bot-net IPs to block?
I'm asking because I haven't seen any discussion about it here...
Thanks
It's being worked on at a level above my pay grade. https://bitcoinfoundation.org/blog/?p=422
|
|
|
|
smoothrunnings
|
|
February 12, 2014, 12:43:56 AM |
|
mutable-tx attack on Bitcoin
Has anyone noticed any effects from this "attack?" A couple of days ago when it supposedly started my block template latency shot up from .1 to .45 and has been high every since. If there anyway to counter this kind of thing? Any know bot-net IPs to block?
I'm asking because I haven't seen any discussion about it here...
Thanks
I don't believe your latency is related to some fake attack as I have been looking around at other p2pool nodes to see what their front-ends look like and noticing their latency's are lower than mine. If you are having a latency issue I would check your internet connection first.
|
|
|
|
mmouse
|
|
February 12, 2014, 01:10:52 AM |
|
I don't know if it's a rounding error or a concern, but the slower miners have target difficulties a bit lower than the network minimum it seems.
Saw that, too. Miner share diff is only updated when get_work() for the miner is computed. So the miner share diff can be some seconds older than the latest minimum pool difficulty shown.
|
|
|
|
roy7
|
|
February 12, 2014, 01:15:50 AM |
|
I don't know if it's a rounding error or a concern, but the slower miners have target difficulties a bit lower than the network minimum it seems.
Saw that, too. Miner share diff is only updated when get_work() for the miner is computed. So the miner share diff can be some seconds older than the latest minimum pool difficulty shown. Ahh ok. I was concerned I had some sort of bug or oversight. Did you add a new api call for that info, or adjust an existing one? If so I'd love it if you'd private message it to me or post here. I might want to add "average time to share" per-worker sometime soon on my nodes.
|
|
|
|
smoothrunnings
|
|
February 12, 2014, 01:16:25 AM |
|
mutable-tx attack on Bitcoin
Has anyone noticed any effects from this "attack?" A couple of days ago when it supposedly started my block template latency shot up from .1 to .45 and has been high every since. If there anyway to counter this kind of thing? Any know bot-net IPs to block?
I'm asking because I haven't seen any discussion about it here...
Thanks
It's being worked on at a level above my pay grade. https://bitcoinfoundation.org/blog/?p=422Roy this issue you are pointing out isn't a bitcoin issue, its a site issue. The exchanges haven't been accountable for really anything that people have found an exploit which now requires them to be accountable for everything coming in and going out of their sites. So until they fix their own code nothing will change.
|
|
|
|
bkminer
Full Member
Offline
Activity: 216
Merit: 100
Don't let the nam-shub in your operating system.
|
|
February 12, 2014, 02:32:08 AM |
|
Roy this issue you are pointing out isn't a bitcoin issue, its a site issue. The exchanges haven't been accountable for really anything that people have found an exploit which now requires them to be accountable for everything coming in and going out of their sites. So until they fix their own code nothing will change.
Actually it's a bitcoin network issue. The malleable transaction attack involves flooding the bitcoin network with transactions that have changed so the hash is no longer valid. It takes the bitcoin client time to sort out the bad transactions, hence my latency issue. I was running right on the edge with transaction fee's and the extra load bumped me up. http://www.wired.com/wiredenterprise/2014/02/bitcoin-ddos/Apparently some of the exchanges are having trouble processing the bad transactions...Mt. Gox had a custom implementation of the client that wreaked havoc with them. (on my node the internet connection is an OC-3+ it's at a hosting facility)
|
|
|
|
kano
Legendary
Offline
Activity: 4620
Merit: 1851
Linux since 1997 RedHat 4
|
|
February 12, 2014, 03:01:58 AM |
|
Roy this issue you are pointing out isn't a bitcoin issue, its a site issue. The exchanges haven't been accountable for really anything that people have found an exploit which now requires them to be accountable for everything coming in and going out of their sites. So until they fix their own code nothing will change.
Actually it's a bitcoin network issue. The malleable transaction attack involves flooding the bitcoin network with transactions that have changed so the hash is no longer valid. It takes the bitcoin client time to sort out the bad transactions, hence my latency issue. I was running right on the edge with transaction fee's and the extra load bumped me up. http://www.wired.com/wiredenterprise/2014/02/bitcoin-ddos/Apparently some of the exchanges are having trouble processing the bad transactions...Mt. Gox had a custom implementation of the client that wreaked havoc with them. (on my node the internet connection is an OC-3+ it's at a hosting facility) What it is, is a bunch of phail sites (including MtGox) that ignored the issue that's been known for almost 2 years. If you use txid to decide about transactions, you'll phail sooner or later and when that happens, if you do something stupid to repeat the transaction you may also lose out because of it. Discussed almost 2 years ago: https://bitcointalk.org/index.php?topic=8392.0Check the history - this page was added a year ago: https://en.bitcoin.it/wiki/Transaction_Malleability
|
|
|
|
bkminer
Full Member
Offline
Activity: 216
Merit: 100
Don't let the nam-shub in your operating system.
|
|
February 12, 2014, 03:26:31 AM |
|
Thanks for the clarification.
|
|
|
|
clown
Member
Offline
Activity: 70
Merit: 10
|
|
February 12, 2014, 03:54:00 AM |
|
Hey guys I've released the proxypool that sits between p2pool and miners, ensuring smaller miners get paid accordingly. It's currently in a beta stage and fully open source, I'd be great if you guy can help test. It's at http://proxypool.doge.st
|
|
|
|
roy7
|
|
February 12, 2014, 04:16:25 AM |
|
Hey guys I've released the proxypool that sits between p2pool and miners, ensuring smaller miners get paid accordingly. It's currently in a beta stage and fully open source, I'd be great if you guy can help test. It's at http://proxypool.doge.stVery cool. Wasn't sure what you were actually doing. So the proxy will mine p2pool using a local wallet payment address, and then do payouts itself as people get enough coin balance saved up to justify a payout?
|
|
|
|
|
mmouse
|
|
February 12, 2014, 03:53:17 PM |
|
I might want to add "average time to share" per-worker sometime soon on my nodes.
I tried to produce a diff. Actually it's only a few lines added to work.py and web.py. You get some additional data in ..../local_stats and ..../global_stats by that. You will have to integrate that with your web frontend, of course. Or I'd forward my index.html if you send me your mail address. diff -ru p2pool-rav/p2pool/web.py /usr/local/p2pool.smc/p2pool/web.py --- p2pool-rav/p2pool/web.py 2014-02-12 16:35:17.519474099 +0100 +++ /usr/local/p2pool.smc/p2pool/web.py 2014-02-11 19:57:17.917758829 +0100 @@ -99,11 +99,15 @@ nonstale_hash_rate = p2pool_data.get_pool_attempts_per_second(node.tracker, node.best_share_var.value, lookbehind) stale_prop = p2pool_data.get_average_stale_prop(node.tracker, node.best_share_var.value, lookbehind) + diff = bitcoin_data.target_to_difficulty(wb.current_work.value['bits'].target) + return dict( pool_nonstale_hash_rate=nonstale_hash_rate, pool_hash_rate=nonstale_hash_rate/(1 - stale_prop), pool_stale_prop=stale_prop, min_difficulty=bitcoin_data.target_to_difficulty(node.tracker.items[node.best_share_var.value].max_target), + network_block_difficulty=diff, + network_hashrate=(diff * 2**32 // node.net.PARENT.BLOCK_PERIOD), ) def get_local_stats(): @@ -130,6 +134,10 @@ miner_hash_rates, miner_dead_hash_rates = wb.get_local_rates() (stale_orphan_shares, stale_doa_shares), shares, _ = wb.get_stale_counts() + + miner_last_difficulties = {} + for addr in wb.last_work_shares.value: + miner_last_difficulties[addr] = bitcoin_data.target_to_difficulty(wb.last_work_shares.value[addr].target) return dict( my_hash_rates_in_last_hour=dict( @@ -152,6 +160,7 @@ ), miner_hash_rates=miner_hash_rates, miner_dead_hash_rates=miner_dead_hash_rates, + miner_last_difficulties=miner_last_difficulties, efficiency_if_miner_perfect=(1 - stale_orphan_shares/shares)/(1 - global_stale_prop) if shares else None, # ignores dead shares because those are miner's fault and indicated by pseudoshare rejection efficiency=(1 - (stale_orphan_shares+stale_doa_shares)/shares)/(1 - global_stale_prop) if shares else None, peers=dict( diff -ru p2pool-rav/p2pool/work.py /usr/local/p2pool.smc/p2pool/work.py --- p2pool-rav/p2pool/work.py 2014-02-12 16:35:17.519474099 +0100 +++ /usr/local/p2pool.smc/p2pool/work.py 2014-02-11 19:44:08.277761641 +0100 @@ -36,6 +38,7 @@ self.removed_unstales_var = variable.Variable((0, 0, 0)) self.removed_doa_unstales_var = variable.Variable(0) + self.last_work_shares = variable.Variable( {} ) self.my_share_hashes = set() self.my_doa_share_hashes = set() @@ -319,6 +322,12 @@ self.current_work.value['subsidy']*1e-8, self.node.net.PARENT.SYMBOL, len(self.current_work.value['transactions']), ) + #need this for stats + self.last_work_shares.value[bitcoin_data.pubkey_hash_to_address(pubkey_hash, self.node.net.PARENT)]=share_info['bits'] ba = dict( version=min(self.current_work.value['version'], 2),
Question: Could somebody point me to a tutorial or so on how to get this merged into the p2pool-rav repo with a proper merge request? Never done that
|
|
|
|
mmouse
|
|
February 12, 2014, 04:19:01 PM |
|
I might want to add "average time to share" per-worker sometime soon on my nodes.
Additional note (after trying to figure this out for my own status page): If you only want "time to share" for the miners, you can do this without any changes to p2pool code. Time to share for the node is simply calculated as (local_stats.attempts_to_share/local_hashrate). So you could just do (local_stats.attempts_to_share/miner_hashrate). But this doesn't take into account the individual share diffs. So there really should be another way to calculate this better
|
|
|
|
roy7
|
|
February 12, 2014, 04:41:23 PM Last edit: February 12, 2014, 05:11:56 PM by roy7 |
|
Question: Could somebody point me to a tutorial or so on how to get this merged into the p2pool-rav repo with a proper merge request? Never done that I just went through this since I don't use github much myself. From http://git-scm.com/book/ch5-2.html I figured out to do this: 2050 git clone https://github.com/forrestv/p2pool 2051 cd p2pool 2054 git checkout -b vardiffbyaddress 2069 cd p2pool/ 2070 cp ~/p2pool/p2pool/work.py . 2071 git diff 2072 git commit -am 'set share diff target based on address hash rate' Stop here and go to repo on github. Click fork on top right. Replace url on next line with your fork repo url 2074 git remote add myfork https://github.com/roy7/p2pool 2075 git push myfork vardiffbyaddress 2071 was just to see it made sense. Now go to your repo web site and you should see a "compare and pull request" button lit up. Click it and put in your comments on the pull request to submit it to raven for review. Edit: Ahhhh that pubkey_hash_to_address I wish I knew sooner. I've updated my pull request to use it.
|
|
|
|
Andradez
Newbie
Offline
Activity: 7
Merit: 0
|
|
February 12, 2014, 08:32:26 PM |
|
Hello Guys, I am trying to Merge Mine LiteCoin and FeatherCoin but am getting this error all the time: 2014-02-12 18:25:06.003000 > Error while calling merged getauxblock on http://127.0.0.1:9336: 2014-02-12 18:25:06.033000 > Traceback (most recent call last): 2014-02-12 18:25:06.045000 > File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 577, in _runCallbacks 2014-02-12 18:25:06.059000 > current.result = callback(current.result, *args, **kw) 2014-02-12 18:25:06.071000 > File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 1155, in gotResult 2014-02-12 18:25:06.084000 > _inlineCallbacks(r, g, deferred) 2014-02-12 18:25:06.097000 > File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 1097, in _inlineCallbacks 2014-02-12 18:25:06.110000 > result = result.throwExceptionIntoGenerator(g) 2014-02-12 18:25:06.136000 > File "C:\Python27\lib\site-packages\twisted\python\failure.py", line 389, in throwExceptionIntoGenerator 2014-02-12 18:25:06.242000 > return g.throw(self.type, self.value, self.tb) 2014-02-12 18:25:06.253000 > --- <exception caught here> --- 2014-02-12 18:25:06.268000 > File "C:\Users\Andradek\Documents\GitHub\p2pool-rav\p2pool\util\deferral.py", line 41, in f 2014-02-12 18:25:06.279000 > result = yield func(*args, **kwargs) 2014-02-12 18:25:06.293000 > File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 1097, in _inlineCallbacks 2014-02-12 18:25:06.294000 > result = result.throwExceptionIntoGenerator(g) 2014-02-12 18:25:06.305000 > File "C:\Python27\lib\site-packages\twisted\python\failure.py", line 389, in throwExceptionIntoGenerator 2014-02-12 18:25:06.319000 > return g.throw(self.type, self.value, self.tb) 2014-02-12 18:25:06.331000 > File "C:\Users\Andradek\Documents\GitHub\p2pool-rav\p2pool\util\jsonrpc.py", line 133, in _http_do 2014-02-12 18:25:06.344000 > raise Error_for_code(resp['error']['code'])(resp['error']['message'], resp['error'].get('data', None)) 2014-02-12 18:25:06.371000 > p2pool.util.jsonrpc.NarrowError: -32601 Method not foundDoes anyone know how to solve this?Sorry if this has been answered before but i am lost here! Please Help! Note: I do not know if those coins are compatible for merged mining so forgive me if i am trying to mine "apples and and oranges" at the same time! Thank You for you help,
|
|
|
|
mmouse
|
|
February 12, 2014, 10:08:36 PM |
|
Time to share for the node is simply calculated as (local_stats.attempts_to_share/local_hashrate). So you could just do (local_stats.attempts_to_share/miner_hashrate). But this doesn't take into account the individual share diffs. So there really should be another way to calculate this better To answer my own question: miner_time_to_share = (local_stats.attempts_to_share / local_stats.miner_hash_rates[address]) * (local_stats.miner_last_difficulties[address] / global_stats.min_difficulty) Needs the patch I posted above for the miner_last_difficulties. @roy7: thanks a lot for the guide, I'll try this asap.
|
|
|
|
roy7
|
|
February 12, 2014, 10:35:25 PM |
|
Note: I do not know if those coins are compatible for merged mining so forgive me if i am trying to mine "apples and and oranges" at the same time!
The only merge minable coin I think that exists for scrypt is Unitedscryptcoin. Coins have to be designed to be merge-compatible. Almost none are since then they don't have much real value of their own. (Namecoin's value comes from the other things it can do.)
|
|
|
|
|