Bitcoin Forum
March 19, 2024, 07:58:51 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 ... 205 »
  Print  
Author Topic: bitHopper: Python Pool Hopper Proxy  (Read 355541 times)
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
July 17, 2011, 01:42:13 PM
 #361

Interestingly, the 'cheater function' shows that even hopping at <your shares>=<difficulty> has a 22% increase in effective hashrate (and thus coinage), which is better than eligius/arsbitcoin at 0% increase. So I it seems like it might pay have the jump off proportion of difficulty at 1.0 instead of 0.4

It's better to think in terms of the expected value of a share. If x is (50 / difficulty) The first share submitted in a round has an expected value of about 13x. The multiplier drops below 1 at approximately 0.4348 * difficulty. In other words, on average, there's no good reason to submit a share to a proportional pool after it has crossed that threshold, when SMPPS, PPLNS, or Geometric alternatives are available. (If for some reason you wanted to use Deepbit PPS as your backup, no idea why you'd do such a thing, you can wait until more like 0.525 * difficulty.)


This goes against nearly everything I've read - could you please explain a little more where you got these figures from? If you're referring to expected efficiency, that of course goes to 1.0 at <difficulty> total shares. If you're referring to Raulo's paper, that has a maximum at 0.435, but is still providing a 22% hashrate increase at <difficulty> total shares.

So I guess I'm missing something here - can you find a simple way to explain the results you got above?

btw, I've had multipliers of over 120x for a few shares of short rounds. 13x is *not* the maximum.

Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
1710835131
Hero Member
*
Offline Offline

Posts: 1710835131

View Profile Personal Message (Offline)

Ignore
1710835131
Reply with quote  #2

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

Posts: 1710835131

View Profile Personal Message (Offline)

Ignore
1710835131
Reply with quote  #2

1710835131
Report to moderator
1710835131
Hero Member
*
Offline Offline

Posts: 1710835131

View Profile Personal Message (Offline)

Ignore
1710835131
Reply with quote  #2

1710835131
Report to moderator
Aexoden
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
July 17, 2011, 02:04:35 PM
Last edit: July 17, 2011, 02:59:20 PM by Aexoden
 #362

This goes against nearly everything I've read - could you please explain a little more where you got these figures from? If you're referring to expected efficiency, that of course goes to 1.0 at <difficulty> total shares. If you're referring to Raulo's paper, that has a maximum at 0.435, but is still providing a 22% hashrate increase at <difficulty> total shares.

So I guess I'm missing something here - can you find a simple way to explain the results you got above?

btw, I've had multipliers of over 120x for a few shares of short rounds. 13x is *not* the maximum.

These are expected values. If the round finishes on the first share, then you will receive 50BTC, which is difficulty * x, as far as efficiency goes. However, the average value of that first share is more like 14.2x. (Sometimes it'll be a long round and get a much lower payout.)

Sticking around until the difficulty still has a positive net effect because you already feasted on tons of early-round shares, which have a higher expected value. Every share you submit after 0.4348 diminishes your overall expected efficiency, but that overall efficiency will remain greater than 1 as long as you switch out at some point.

EDIT: Updated the expected value of the first share, since it depends on difficulty, and I was using a figure from an older difficulty.
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
July 17, 2011, 02:08:08 PM
 #363

Work is being done on identifying the who created each block with various heuristics, but it's not incredibly accurate yet, and it may prove difficult or impossible to be reliably accurate.

Some things that might work:
  • Monitoring block announces on bitcoind (especially which node told you of which block first). I assume pools don't switch neighbours too often, so blocks from pools might take similar routes to you. Especially great if you manage to directly connect to a pool's bitcoind.
  • LongPoll timing
  • Measuring somehow server load (getwork response speed?) - after a block was solved, some database load should kick in. This might be delayed though, so not that reliable...
  • Monitor own getwork submissions for winning blocks and announce these not just to the pool but also on a 3rd party website (maybe with some incentives?). If everyone did it, we wouldn't need to guess! Also very hard (current difficulty hard!) to fake.
  • Combining all of the above measures on a website, ideally submitted automatically by a poolhop program. Attached could be a valid share for any pool with a certain difficulty, so it's not easy to submit bogus data, but these shares will emerge anyways during a miner's day ensuring constant submissions.
  • Monitoring the coinbase hash in the getwork. At least it can be assumed that NO block has been found globally if it stays the same...

Most of these things are NOT possible to be delayed at all, and most are even time critical (especially block announcements have to be done as fast as possible, no matter the cost), so pools have to get them out fast, no matter the payout scheme.

Edit:
If this can be done in an at least sufficiently reliable way, we wouldn't even need these stupid fakeable APIs any more!
LP timing could already be done by bitHopper, the more difficult part would be to emulate bitcoind traffic and to establish + monitor connections to other "real" bitcoind nodes (as many as possible...)

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
July 17, 2011, 02:10:48 PM
 #364


Quote
Every share you submit after 0.4348 diminishes your overall expected efficiency, but that overall efficiency will remain greater than 1 as long as you switch out at some point.
OK, that sounds about right. But earlier you wrote:

Quote
The multiplier drops below 1 at approximately 0.4348 * difficulty

These seem contradictory statements to me, so I'm still missing something! Huh

Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
flower1024
Legendary
*
Offline Offline

Activity: 1428
Merit: 1000


View Profile
July 17, 2011, 02:13:13 PM
 #365

Work is being done on identifying the who created each block with various heuristics, but it's not incredibly accurate yet, and it may prove difficult or impossible to be reliably accurate.

Some things that might work:
  • Monitoring block announces on bitcoind (especially which node told you of which block first). I assume pools don't switch neighbours too often, so blocks from pools might take similar routes to you. Especially great if you manage to directly connect to a pool's bitcoind.
  • LongPoll timing
  • Measuring somehow server load (getwork response speed?) - after a block was solved, some database load should kick in. This might be delayed though, so not that reliable...
  • Monitor own getwork submissions for winning blocks and announce these not just to the pool but also on a 3rd party website (maybe with some incentives?). If everyone did it, we wouldn't need to guess! Also very hard (current difficulty hard!) to fake.
  • Combining all of the above measures on a website, ideally submitted automatically by a poolhop program. Attached could be a valid share for any pool with a certain difficulty, so it's not easy to submit bogus data, but these shares will emerge anyways during a miner's day ensuring constant submissions.
  • Monitoring the coinbase hash in the getwork. At least it can be assumed that NO block has been found globally if it stays the same...

Most of these things are NOT possible to be delayed at all, and most are even time critical (especially block announcements have to be done as fast as possible, no matter the cost), so pools have to get them out fast, no matter the payout scheme.

VERY nice; that could give good data

could you pm techwtf?
maybe he is able to put some of those on his site: http://fasthoop.appspot.com/

(i guess we need people working at isps to watch winning getwork requests too)
dewon
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
July 17, 2011, 02:13:56 PM
 #366

I have multiple gpu's so soes it matter if I have 1 worker for each pool and running multiple phoenix clients pointed to only 1 bithopper client or should I have 1 worker, 1 bithopper client and 1 phoenix client for each gpu?

Also I get syntax error and script wont start when applying nofee's code to pools.py, any clue why's that?
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
July 17, 2011, 02:17:31 PM
 #367

I have multiple gpu's so soes it matter if I have 1 worker for each pool and running multiple phoenix clients pointed to only 1 bithopper client or should I have 1 worker, 1 bithopper client and 1 phoenix client for each gpu?

Bithopper is a proxy. Point as many clients as you like at it.

Quote
Also I get syntax error and script wont start when applying nofee's code to pools.py, any clue why's that?

Can you post your code as entered in pools.py and password.py as well as the error?


Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
dewon
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
July 17, 2011, 02:27:08 PM
 #368

I have multiple gpu's so soes it matter if I have 1 worker for each pool and running multiple phoenix clients pointed to only 1 bithopper client or should I have 1 worker, 1 bithopper client and 1 phoenix client for each gpu?

Bithopper is a proxy. Point as many clients as you like at it.

Quote
Also I get syntax error and script wont start when applying nofee's code to pools.py, any clue why's that?

Can you post your code as entered in pools.py and password.py as well as the error?



Error:
Code:
Traceback (most recent call last):
  File "D:\aaaphoenix\bithopper\bitHopper.py", line 7, in <module>
    import work
  File "D:\aaaphoenix\bithopper\work.py", line 12, in <module>
    from bitHopper import *
  File "D:\aaaphoenix\bithopper\bitHopper.py", line 9, in <module>
    import stats
  File "D:\aaaphoenix\bithopper\stats.py", line 6, in <module>
    import pool
  File "D:\aaaphoenix\bithopper\pool.py", line 62
    'nofee':{'shares': default_shares, 'name': 'nofee',
          ^
SyntaxError: invalid syntax
>>>

pools:
Code:
  'nofee':{'shares': default_shares, 'name': 'nofee',
           'mine_address': 'nofeemining.com:8332', 'user': nofee_user,
           'pass': nofee_pass, 'lag': False, 'LP': None,
           'api_address':'http://www.nofeemining.com/api.php?key=' + nofee_user_apikey, 'role':'mine'}
        }
.
.
.
def nofee_sharesResponse(response):
    global servers
    info = json.loads(response)
    round_shares = int(info['poolRoundShares'])
    servers['nofee']['shares'] = round_shares
    bitHopper.log_msg('nofee:' + FormatShares(round_shares))
.
.
.
'nofee':nofee_sharesResponse,

password:
Code:
#nofee
nofee_user = 'my worker id'
nofee_pass= 'my password'
nofee_user_apikey = 'my api'
joulesbeef
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


moOo


View Profile
July 17, 2011, 02:43:13 PM
 #369

you are missing a comma

you pasted this


Code:
 'nofee':{'shares': default_shares, 'name': 'nofee',
           'mine_address': 'nofeemining.com:8332', 'user': nofee_user,
           'pass': nofee_pass, 'lag': False, 'LP': None,
           'api_address':'http://www.nofeemining.com/api.php?key=' + nofee_user_apikey, 'role':'mine'}

at the end of the list of others?

the one above it that used to be the last one.. NOW needs a comma after 'mine'}


so

      
Code:
'ozco':{'shares': default_shares, 'name': 'ozco.in',
           'mine_address': 'ozco.in:8332', 'user': ozco_user,
           'pass': ozco_pass, 'lag': False, 'LP': None,
           'api_address':'https://ozco.in/api.php', 'role':'mine'},

'nofee':{'shares': default_shares, 'name': 'nofee',
           'mine_address': 'nofeemining.com:8332', 'user': nofee_user,
           'pass': nofee_pass, 'lag': False, 'LP': None,
           'api_address':'http://www.nofeemining.com/api.php?key=' + nofee_user_apikey, 'role':'mine'}

mooo for rent
dewon
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
July 17, 2011, 02:47:05 PM
 #370

you are missing a comma

Working now, thanks  Smiley
joulesbeef
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


moOo


View Profile
July 17, 2011, 02:56:23 PM
 #371

has any hopper actually made any coin on ozco.in? seems like I have mined there quite a bit to have a zero account.

they dont seem to post any info on pending... Are we sure they are proportional?

I also get a high stale rate there, anyone else?


and why does our hopper disagree with fasthopper.com so often?

er what is the formula for hopping?


mooo for rent
muyoso
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
July 17, 2011, 03:07:49 PM
 #372

has any hopper actually made any coin on ozco.in? seems like I have mined there quite a bit to have a zero account.

they dont seem to post any info on pending... Are we sure they are proportional?

I also get a high stale rate there, anyone else?


and why does our hopper disagree with fasthopper.com so often?

er what is the formula for hopping?



I was just semi freaking out about this exact thing.  Thought they might have sent automatic payment or something but it wasn't showing up.  Their website needs to be updated to show unconfirmed payment.  To see how much you have made, go to Pool Stats, go to the section that says "Last 10 Blocks Found" and click on All Blocks Found and it will tell you how much you earned per block and how many confirmations are left.


I get like 10% stales there because they are apparently hosting their site in the middle of the outback off of a laptop using a tethered cell phone for internet access.

I drink it up!
Clipse
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502


View Profile
July 17, 2011, 03:12:18 PM
 #373

mmm just questioning again, do any of you also get api errors with mtred ? I assume mtred is also unusable now or am I wrong?

...In the land of the stale, the man with one share is king... >> Clipse

We pay miners at 130% PPS | Signup here : Bonus PPS Pool (Please read OP to understand the current process)
muyoso
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
July 17, 2011, 03:22:50 PM
 #374

mmm just questioning again, do any of you also get api errors with mtred ? I assume mtred is also unusable now or am I wrong?

I never get api errors with mtred.  I get api errors with btcguild.

Also, weirdness with ozcoi.in.  I have two solved blocks with them, and the newer one has 3x the confirmations as the older one??  How is that possible? 

I drink it up!
OCedHrt
Member
**
Offline Offline

Activity: 111
Merit: 10


View Profile
July 17, 2011, 03:27:48 PM
 #375

btcg no longer reporting pool shares at all?

ALL.ME  ●●●  SOCIAL NETWORK OF THE BLOCKCHAIN TIME ●●●
▄▄▄▬▬▄▄▄  Bounty all.me ▶ Jan 29th - May 8th 2018  ▄▄▄▬▬▄▄▄
Facebook   ▲   Twitter   ▲   Telegram
Clipse
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502


View Profile
July 17, 2011, 03:36:03 PM
 #376

mmm just questioning again, do any of you also get api errors with mtred ? I assume mtred is also unusable now or am I wrong?

I never get api errors with mtred.  I get api errors with btcguild.

Also, weirdness with ozcoi.in.  I have two solved blocks with them, and the newer one has 3x the confirmations as the older one??  How is that possible? 

Well its not hopping to mtred anymore so the API in latest bithopper doesnt work with mtred anymore? Did you change anything?

Mtred is at ~130k shares so it should have been hopping to mtred long ago, just gettin api error similar to btcg api error :/

...In the land of the stale, the man with one share is king... >> Clipse

We pay miners at 130% PPS | Signup here : Bonus PPS Pool (Please read OP to understand the current process)
Clipse
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502


View Profile
July 17, 2011, 03:40:56 PM
 #377

btcg no longer reporting pool shares at all?

Yeh, not sure if its just for hoppers or also so users cant see how unlucky the round is.

Maybe bit of both, To be honest even if I didnt use bithopper I wouldnt use a pool that doesnt show shares.

...In the land of the stale, the man with one share is king... >> Clipse

We pay miners at 130% PPS | Signup here : Bonus PPS Pool (Please read OP to understand the current process)
joulesbeef
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


moOo


View Profile
July 17, 2011, 04:13:32 PM
 #378

I was mining mtred earlier. so it still hops there.

mooo for rent
muyoso
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
July 17, 2011, 04:49:03 PM
 #379

mmm just questioning again, do any of you also get api errors with mtred ? I assume mtred is also unusable now or am I wrong?

I never get api errors with mtred.  I get api errors with btcguild.

Also, weirdness with ozcoi.in.  I have two solved blocks with them, and the newer one has 3x the confirmations as the older one??  How is that possible?  

Well its not hopping to mtred anymore so the API in latest bithopper doesnt work with mtred anymore? Did you change anything?

Mtred is at ~130k shares so it should have been hopping to mtred long ago, just gettin api error similar to btcg api error :/

My bithopper jumped the INSTANT mtred solved a block to mtred.  What I am wondering is why it switched off of mtred and went back to ozcoin before hitting the magic 43% or whatever number.  I don't know exactly when bithopper hopped off of mtred and back to ozcoin, but it was before 500k shares on mtred.  Does bithopper see greater potential in mining at ozcoin at 250k shares than at mtred at 500k shares or something?  No idea how that works.

I thought bithopper jumped to a new pool and mined there until 680k shares unless there was a block solved at one of the other pools?  It seems to jump to a pool after it solves a block but then switch pools again before hitting or coming near to 680k shares and return to the smaller pool with fewer shares that hasn't solved a block in hours.  Maybe this is the right way to do it, i have no idea.  

I drink it up!
joulesbeef
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


moOo


View Profile
July 17, 2011, 05:05:03 PM
 #380

Quote
To see how much you have made, go to Pool Stats, go to the section that says "Last 10 Blocks Found" and click on All Blocks Found and it will tell you how much you earned per block and how many confirmations are left.

thanks I thought I looked everywhere. They didnt hide it or anything huh? Surprised it wasnt down a broken flight of stairs in a darken room with a sign on the door saying beware of leopard.


Quote
What I am wondering is why it switched off of mtred and went back to ozcoin before hitting the magic 43% or whatever number.


Try as I might, I cant seem to figure out the logic in the hopper but I havent tried to look too much at the code.

mooo for rent
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 ... 205 »
  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!