Bitcoin Forum
November 18, 2024, 01:37:48 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: « 1 ... 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 [388] 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 ... 814 »
  Print  
Author Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool  (Read 2591902 times)
roy7
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


View Profile
February 11, 2014, 08:37:33 PM
 #7741

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

Activity: 434
Merit: 250


View Profile
February 11, 2014, 11:00:18 PM
 #7742

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 Wink ) 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 Offline

Activity: 216
Merit: 100

Don't let the nam-shub in your operating system.


View Profile
February 12, 2014, 12:00:05 AM
 #7743

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

Activity: 434
Merit: 250


View Profile
February 12, 2014, 12:02:42 AM
 #7744

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
Hero Member
*****
Offline Offline

Activity: 630
Merit: 501


View Profile
February 12, 2014, 12:43:56 AM
 #7745

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
Full Member
***
Offline Offline

Activity: 162
Merit: 100


View Profile
February 12, 2014, 01:10:52 AM
 #7746


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

Activity: 434
Merit: 250


View Profile
February 12, 2014, 01:15:50 AM
 #7747


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. Smiley 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
Hero Member
*****
Offline Offline

Activity: 630
Merit: 501


View Profile
February 12, 2014, 01:16:25 AM
 #7748

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

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.
bkminer
Full Member
***
Offline Offline

Activity: 216
Merit: 100

Don't let the nam-shub in your operating system.


View Profile
February 12, 2014, 02:32:08 AM
 #7749


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 Offline

Activity: 4620
Merit: 1851


Linux since 1997 RedHat 4


View Profile
February 12, 2014, 03:01:58 AM
 #7750


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.0

Check the history - this page was added a year ago:
https://en.bitcoin.it/wiki/Transaction_Malleability

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
bkminer
Full Member
***
Offline Offline

Activity: 216
Merit: 100

Don't let the nam-shub in your operating system.


View Profile
February 12, 2014, 03:26:31 AM
 #7751


Discussed almost 2 years ago:
https://bitcointalk.org/index.php?topic=8392.0

Check the history - this page was added a year ago:
https://en.bitcoin.it/wiki/Transaction_Malleability

Thanks for the clarification. 
clown
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile
February 12, 2014, 03:54:00 AM
 #7752

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

My Dogecoin mining pool. 0% fee, proxypool into p2pool network
roy7
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


View Profile
February 12, 2014, 04:16:25 AM
 #7753

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

Very 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?
clown
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile
February 12, 2014, 05:42:13 AM
Last edit: February 12, 2014, 09:47:14 AM by clown
 #7754

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

Very 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?

Yep, we have a reddit thread up as well for people who want to test. http://www.reddit.com/r/dogemining/comments/1xo9yq/help_us_beta_test_a_p2pool_with_almost_zero/

I have a thread up as well https://bitcointalk.org/index.php?topic=461632.0

My Dogecoin mining pool. 0% fee, proxypool into p2pool network
mmouse
Full Member
***
Offline Offline

Activity: 162
Merit: 100


View Profile
February 12, 2014, 03:53:17 PM
 #7755

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.

Code:
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 Roll Eyes
mmouse
Full Member
***
Offline Offline

Activity: 162
Merit: 100


View Profile
February 12, 2014, 04:19:01 PM
 #7756

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

Activity: 434
Merit: 250


View Profile
February 12, 2014, 04:41:23 PM
Last edit: February 12, 2014, 05:11:56 PM by roy7
 #7757

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 Roll Eyes

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 Offline

Activity: 7
Merit: 0


View Profile
February 12, 2014, 08:32:26 PM
 #7758

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 found


Does 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
Full Member
***
Offline Offline

Activity: 162
Merit: 100


View Profile
February 12, 2014, 10:08:36 PM
 #7759

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 Huh

To answer my own question:
Code:
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
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


View Profile
February 12, 2014, 10:35:25 PM
 #7760

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.)
Pages: « 1 ... 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 [388] 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 ... 814 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!