Bitcoin Forum
December 03, 2016, 11:56:23 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 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 439 ... 744 »
  Print  
Author Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool  (Read 2029190 times)
smoothrunnings
Hero Member
*****
Offline Offline

Activity: 546


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

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.

1480809383
Hero Member
*
Offline Offline

Posts: 1480809383

View Profile Personal Message (Offline)

Ignore
1480809383
Reply with quote  #2

1480809383
Report to moderator
1480809383
Hero Member
*
Offline Offline

Posts: 1480809383

View Profile Personal Message (Offline)

Ignore
1480809383
Reply with quote  #2

1480809383
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480809383
Hero Member
*
Offline Offline

Posts: 1480809383

View Profile Personal Message (Offline)

Ignore
1480809383
Reply with quote  #2

1480809383
Report to moderator
1480809383
Hero Member
*
Offline Offline

Posts: 1480809383

View Profile Personal Message (Offline)

Ignore
1480809383
Reply with quote  #2

1480809383
Report to moderator
mmouse
Full Member
***
Offline Offline

Activity: 174


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


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


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


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.

RoyalMiningCo: Pools retired. Was fun!
smoothrunnings
Hero Member
*****
Offline Offline

Activity: 546


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

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

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


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


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: 1918


Linux since 1997 RedHat 4


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


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 BTC: 1KanoiBupPiZfkwqB7rfLXAzPnoTshAVmb
CKPool and CGMiner developer, IRC FreeNode #ckpool and #cgminer kanoi
Help keep Bitcoin secure by mining on pools with Stratum, the best protocol to mine Bitcoins with ASIC hardware
bkminer
Full Member
***
Offline Offline

Activity: 216

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


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


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


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

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


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

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?

RoyalMiningCo: Pools retired. Was fun!
clown
Member
**
Offline Offline

Activity: 70


View Profile
February 12, 2014, 05:42:13 AM
 #7770

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: 174


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

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: 174


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

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


View Profile
February 12, 2014, 04:41:23 PM
 #7773

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.

RoyalMiningCo: Pools retired. Was fun!
Andradez
Newbie
*
Offline Offline

Activity: 7


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

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: 174


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

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


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

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

RoyalMiningCo: Pools retired. Was fun!
roy7
Sr. Member
****
Offline Offline

Activity: 434


View Profile
February 13, 2014, 01:23:20 AM
 #7777

Needs the patch I posted above for the miner_last_difficulties.

@roy7: thanks a lot for the guide, I'll try this asap.

You added average time to find a share for each miner! I love that. Smiley I might need to move to your front end instead of the default extended.

RoyalMiningCo: Pools retired. Was fun!
mmouse
Full Member
***
Offline Offline

Activity: 174


View Profile
February 13, 2014, 01:41:21 AM
 #7778

You added average time to find a share for each miner!
Did a pull request at donSchoe/p2pool-vtc for it. I thought VTC could use a bit of an advantage with a nice & shiny p2pool  Grin
Thanks again for the guide...

Quote
I might need to move to your front end instead of the default extended.

I found this frontend when searching for something more pretty than the original p2pool stats... I could push it to some repo also, but it needs a bit more cleanup. There is still a bug with non-active miners not being deleted from the list.
zvs
Legendary
*
Offline Offline

Activity: 1386



View Profile WWW
February 13, 2014, 04:03:11 PM
 #7779

re: creating p2pools for alt currencies

normally I just set up a solo pool, but DOGE already had too much hashrate, so I used some p2pool network that I think had the identifier/prefixes set by rav3n?

i modify the 'punishing share' crap in my local copy so it doesn't automatically screw people over, but i suspect nobody else does this.  if a share is found locally during this non-punish time, then all the other clients will build off of this new share, as it'll be the longest chain (and it'll be based on a valid block and thus be a valid share... err.. unless some other block is found before another p2pool share)

95% of my orphans are caused by valid shares being orphaned due to new blocks being found, i suspect at least 10-15% of the total orphan/doa rate of the pool as a whole is caused by this

pls modify this for any future altcoin that has block times of 60-120s or less

ed: actually I just went ahead and made it a solo pool,  i think the lotto is more fun then getting valid shares orphaned over and over

Dacentec, best deals for US dedicated servers. They regularly restock $20-$25 Opterons with 8-16GB RAM & 2x1-2TB HDD's (ofc, usually lots of other good stuff to choose from).  I did a Serverbear benchmark of one of my $20/mo Opteron (June last year), it's here.  Have had about a half dozen different servers with Dacentec, & none have failed to sustain at least 40MB/s (burst higher). My favorite is a 12-month rent-to-own ZT Systems 2XL5520 16GB 2x2TB SATA for $40/month (got lucky with the 'off-brand', haven't seen a RTO 2xL5520 for under $50/mo since -- at least for monthly contracts).  wholesaleinternet.com has some ancient 2-core intel CPUs @ $10/mo sometimes (I got an Intel Core 2 6300 @ 1.86GHz, with a 250GB HDD with 46000 hours on it, LOL. $20 @ Dacentec is much better, if you can grab one). joesdatacenter.com (same location as Wholesale Internet) also occasionally has specials (or if you don't want to wait, it has an AMD Opteron 170 @ $16/mo).
smoothrunnings
Hero Member
*****
Offline Offline

Activity: 546


View Profile
February 13, 2014, 06:49:05 PM
 #7780

Does P2Pool support Max-coin?

I am not sure what you use to mine it, if it's GPU or ASIC?
Pages: « 1 ... 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 439 ... 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!