Bitcoin Forum
May 25, 2024, 04:33:53 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 »
201  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 15, 2013, 02:32:12 AM
Is it possible that your client is reconnecting and trying to submit shares for jobs it learned about on a previous connection?
I'm using latest cgminer. If cgminer does that, then: yes.

But the hashes actually look very strange, don't they? Shouldn't the first 4 bytes always be zero?

Yes, that is why they were rejected.  They should start with zeros and if they don't have enough zeros they are rejected as something your client should never have submitted.  Now, this shouldn't happen.  For this to happen there needs to be some misunderstanding between the client and the server about what data you should be hashing.  I'm not sure what caused that.

202  Bitcoin / Pools / Re: [ANN] Stratum mining protocol - ASIC ready on: February 14, 2013, 03:34:27 PM
So, I've just made SockThing use the same extranonce1 for all connections.  I am also adding an extra random number to the coinbase and generate a new coinbase for each job.

Why is this better than generating custom extranonce1? Extranonce1 has been designed exactly for this. If you can achieve the same block template on all backends, then you can make session_id==extranonce1 and my proposal will work for you.

Yeah, your proposal is a clean way of doing it.  Mine was just a hack to work within the existing protocol.
203  Bitcoin / Pools / Re: [ANN] Stratum mining protocol - ASIC ready on: February 14, 2013, 03:21:52 PM
If just one pool op decides to implement this, I will support it in cgminer.

No problem. I just hope that the first daredevil will implement it properly, so response of mining.subscribe will have one extra argument 'session-id':

Quote
{"id": 1, "result": [[], "08000002", 4, "some-session-id"], "error": null}\n

If this parameter is set and non-null, the miner will store sesssion id internally and then, after the crash of the connection, miner will call mining.resume('session-id') instead of mining.subscribe(...). Pool will respond with true/false. If true, miner can continue in the previous session (so re-upload pending shares, ...), if false, miner must call mining.subscribe and throw away pending shares.

Correct?

That makes sense to me.  I know the ship has long since sailed, but I kinda with these weren't json arrays but instead where key value pairs so that it would be a little more self describing and easier to add various extensions.  Maybe any extensions should be done as pairs rather than tacking values on to keep things clear?
204  Bitcoin / Pools / Re: [ANN] Stratum mining protocol - ASIC ready on: February 14, 2013, 03:17:24 PM
1) Should a work unit (from a mining.notify message) be usable by a client if the TCP connection breaks and they reconnect?  It makes sense to me that it should, but I am having trouble because the mining.subscribe seems to occur before the mining.authorize so I need to issue (or reissue) the same extranonce1 before I know which user it is.

Please propose some protocol extension before you implement anything in this area. I was thinking about some session identifiers and resuming the connection, but I didn't find any usable (simple and scalable) solution yet. From my perspective this is actually much smaller problem that it seems to be; properly implemented server and client and standard internet connection won't drop the connection for days. And one second of lost work per day is definitely NOT worth all the effort.

So, I've just made SockThing use the same extranonce1 for all connections.  I am also adding an extra random number to the coinbase and generate a new coinbase for each job.

Now reconnects should work fine, except clients have no way of knowing that they will.

I'm thinking maybe adding a field to mining.subscribe that indicates this feature exists.

However, I don't imagine other pool operators are inclined to build a new coinbase for each user so I don't imagine my solution will be for everyone.
205  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 14, 2013, 02:01:47 PM
Rejects are very high  (6% with stratum, ~1% with getwork), I also get reject messages like "H-not-zero". Looks like something is screwed up...

Rejects over all are very low:
+-------------+----------+
| reason      | count(*) |
+-------------+----------+
| NULL        |     3756 |
| H-not-zero  |       20 |
| quite stale |       16 |
+-------------+----------+


The last two here are from me testing the difficulty target check.  It looks like the rest of these are failing the check, as they should.  Those hashes certainly aren't right.  That means there is some mismatch of data between the client and server.

Is it possible that your client is reconnecting and trying to submit shares for jobs it learned about on a previous connection?  I don't have that working quite yet.

+------------------------------------+------------+------------+------------+---------------------+------------------------------------------------------------------+
| username                           | our_result | reason     | difficulty | time                | hash                                                             |
+------------------------------------+------------+------------+------------+---------------------+------------------------------------------------------------------+
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 07:58:52 | 743523edf408749ae13d9ee873c092f3b8edf728eee6d184bc9ce0952f6e500b |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:37:44 | 757a6e1c4113c1f7501c36bd31ce7e4e4ce4d7eb234ecab9e1602bc85dce73de |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:37:41 | 4890db9d3eef1fd2d3ebbe842460d066958021fc8c6390db149621bf5814e969 |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:37:37 | 76dc456b0b1636ccdfa32f8baf1ad96474c283ad5a991ff40a45a6ea7947b5ac |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:37:35 | 6faecf3b91bde22c912c1406918beb3838f1ae148ebbacfc83a5e1e7347295fd |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:37:22 | 9384c003d606b77f46ad474d87d74e693e709d6a9d8e1c1e23d08d906ee11cbd |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:37:14 | c5def3f1a5b47dfc9d9219f5192a4c62a5d6c7fe7502d5eca1c3cf721ce2925d |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:37:12 | c47bec16ae761e326d5f57ecce3d720bea977ec26ea9d21664280ffb314c9bb2 |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:37:12 | c50de5de26c86d2227bf1d15df1a4b8f096eb0b1bd7fb8b78ac4a2739f49dd82 |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:37:01 | 0027b7553f825aa14bb188f5a034d172eab22ce7802adc63f96efc103d9a182f |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:36:52 | af0ca2e7217a48cae672e05318dbae53b1ad1cdc7be87c57826215269bef2943 |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:36:45 | 231392a762f6c4b1551e39e6b5b64407b4d956024418df2db403fe65289502c3 |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:36:39 | 3170f121c3591406476deacc8eb8c5f0c9f4a227e72ed7f1509e632c5ec68de8 |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 05:36:39 | a9692eb13e11e2a2b9bf6efb4b9cc1a6fe4d8d03ac847e61e91759065020e678 |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 02:24:45 | 79627670370a6c3670fabed26eb5537e7634544a1e397f4febd32f2d33b97d50 |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 02:21:42 | 80aedaae2514553fcdee97296def3670d2ef66d44d24ffe3b5c7da729fb61709 |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 01:24:01 | 8e8dc6c6354d3def9061cefdebdbb70622528969e57eb1dda03b86273ba7efa2 |
| 139Ez4YdvCU1dgbXVqAcsB62zzTdRMA43g | N          | H-not-zero |         64 | 2013-02-14 01:15:08 | 727be5db1bb10faa88f7950c837a62d7e811967d3c58ad92e91e609c012eff27 |
| 1FdKhHttWiwq6Wip1BBJG1f6ffD8pWYFiE | N          | H-not-zero |          4 | 2013-02-13 20:11:48 | 0000000027cb6379960f461326a676f1493d074803b0172ae3ca7e05b6d63410 |
| 1FdKhHttWiwq6Wip1BBJG1f6ffD8pWYFiE | N          | H-not-zero |          4 | 2013-02-13 20:11:38 | 000000001e9b9a1470e322aaac34201678b1f42244e29d39b794b8b6241cd964 |
+------------------------------------+------------+------------+------------+---------------------+------------------------------------------------------------------+
206  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 14, 2013, 06:18:40 AM
I've put the code on github:

https://github.com/fireduck64/SockThing
207  Bitcoin / Pools / Re: [ANN] Stratum mining protocol - ASIC ready on: February 14, 2013, 06:18:15 AM
I have made a java stratum pool server implementation.  It seems to be working pretty well.  Once I pull my passwords and settings out of the source into a config file I'll put it up on github.

Questions:

1) Should a work unit (from a mining.notify message) be usable by a client if the TCP connection breaks and they reconnect?  It makes sense to me that it should, but I am having trouble because the mining.subscribe seems to occur before the mining.authorize so I need to issue (or reissue) the same extranonce1 before I know which user it is.

2) I should be able to support a bunch of authenticated workers on a single TCP connection, right?  This means they are all going to work with the same mining.notify messages and with the same extranonce1 values?

If I do this, it makes me dedup code a little more complex.  If I don't do it, it probably disables some interesting proxy use cases.

I could also see an issue with select-able difficulty pools (like mine) where a user creates a stratum connection with a bunch of workers at different difficulty levels and then when they find a share they submit it as whichever worker has the highest difficulty that it matches, thus greatly increasing their pay at my expense.


I've put my code on github in case anyone is interested:
https://github.com/fireduck64/SockThing

It seems to work but is certainly not done.  I need to add metrics, probably some job management and clean up the multi-connection same user story a bit.
208  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 14, 2013, 05:13:09 AM
"Unable to get work from pool" error in BAMT with cgminer 2.9.5?

I don't know what the issue is, but I can't get 2.9.5 to work either.  Later versions seem to be fine.
209  Bitcoin / Pools / Re: [ANN] Stratum mining protocol - ASIC ready on: February 14, 2013, 12:23:59 AM
I have made a java stratum pool server implementation.  It seems to be working pretty well.  Once I pull my passwords and settings out of the source into a config file I'll put it up on github.

Questions:

1) Should a work unit (from a mining.notify message) be usable by a client if the TCP connection breaks and they reconnect?  It makes sense to me that it should, but I am having trouble because the mining.subscribe seems to occur before the mining.authorize so I need to issue (or reissue) the same extranonce1 before I know which user it is.

2) I should be able to support a bunch of authenticated workers on a single TCP connection, right?  This means they are all going to work with the same mining.notify messages and with the same extranonce1 values?

If I do this, it makes me dedup code a little more complex.  If I don't do it, it probably disables some interesting proxy use cases.

I could also see an issue with select-able difficulty pools (like mine) where a user creates a stratum connection with a bunch of workers at different difficulty levels and then when they find a share they submit it as whichever worker has the highest difficulty that it matches, thus greatly increasing their pay at my expense.
210  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 13, 2013, 11:41:20 PM
Stratum node is "dead", according to my cgminer.

Yeah, I was restarting it to try to improve something and it didn't work so well.  It is back up now.
211  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 13, 2013, 09:20:28 PM
If anyone wants to try it out, it is operational:

stratum+tcp://stratum.hhtt.1209k.com:3333/

I'd like to run it for a few days with some test users and then I'll put that header in the pushpool.


I am impatient, I've put in the redirect header and we shall see what happens.
212  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 13, 2013, 09:06:39 PM

Ok, mined some blocks on testnet3.  http://blockexplorer.com/testnet/address/mjo9y54EJthcxpZc4pLGHWvf4n8E3vaTrN

Since I am making this terrible coinbase transaction myself, I'm thinking of doing something fun like half of the transaction fees to miner who found the block right from the coinbase.  Since I am building the transaction per job that isn't really much trouble. 

If anyone wants to try it out, it is operational:

stratum+tcp://stratum.hhtt.1209k.com:3333/

I'd like to run it for a few days with some test users and then I'll put that header in the pushpool.
213  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 13, 2013, 04:03:15 PM
(snip) I expect tons of silly endian problems.

Oh, you have no idea.  Your blood will boil with the endianess and byteswappery nonsense.

Probably.  I'm just glad I have the miner side working, that way I can validate shares submitted by cgminer and assuming cgminer is correct I'll know if the rest of my nonsense is correct or not.  So I should have a solid idea before I even try making some blocks on testnet.


Ok, mined some blocks on testnet3.  http://blockexplorer.com/testnet/address/mjo9y54EJthcxpZc4pLGHWvf4n8E3vaTrN

Since I am making this terrible coinbase transaction myself, I'm thinking of doing something fun like half of the transaction fees to miner who found the block right from the coinbase.  Since I am building the transaction per job that isn't really much trouble. 
214  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 12, 2013, 03:25:28 AM
(snip) I expect tons of silly endian problems.

Oh, you have no idea.  Your blood will boil with the endianess and byteswappery nonsense.

Probably.  I'm just glad I have the miner side working, that way I can validate shares submitted by cgminer and assuming cgminer is correct I'll know if the rest of my nonsense is correct or not.  So I should have a solid idea before I even try making some blocks on testnet.
215  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 12, 2013, 01:03:17 AM

I'm looking into spinning up a stratum node now.
 

AWESOME!  You are my planned public pool when BFL delivers almost 2Th to my doorstep.  Would like to see you dig out of the deficit that was created before the reward drop...

Sweet.  I am working on my own stratum mining pool implementation in java.  I have the stratum side working, which includes getting work to miners and processing the shares.  I am working on the bitcoin side of actually making the blocks.

If anyone has an pointers on making a two part coinbase transaction in Java (in which I can cram my 8 bytes of extra-nonce), I'd love to hear about it.


With some help with Mr. Hearn over on the bitcoinj mailing list I think I have it figured out.  I also have a grip on the merkle branches sent over the wire with the stratum jobs.  I hope to have the entire thing working on testnet tomorrow or the day after.  I expect tons of silly endian problems.

After that, I'll do some cleanup and make it configurable and put it on github.
216  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 11, 2013, 06:52:06 AM
It looks like something is wrong with whatever mechanism is calculating the 'owed' amt,

http://hhtt.1209k.com/

as an example, it says it owes the 3rd user 3 BTC, from 10 hrs of ~3.5ghash

possibly giving too much for lower difficulty blocks.  My amt seems accurate

also

http://hhtt.1209k.com/user-details.php?user=14uNqUQNqbKLTFZGGqyR2pgkHeMvUNv9Fm

apparently it's actually making the payments, since that one was about 2.5x too high

Thanks for pointing this out.  I think I know what happened.  I was updating a bitcoind on my backend.  It switched to level db and was downloading the blockchain.  That is all good, except it is used to determine the difficulty for the purpose of share payments.  It probably ran a number of times while the blockchain was being downloaded and got some incorrect difficulties in the process.

I've stopped payments for a little while I cleanup the DB.  Some people will probably have been paid too much and go negative for a while (maybe forever if they stop mining).  But I won't ask people to be responsible for my mistake.


Should be fixed now.  Will be reflected on the web page in a little bit.
217  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 11, 2013, 06:41:52 AM
It looks like something is wrong with whatever mechanism is calculating the 'owed' amt,

http://hhtt.1209k.com/

as an example, it says it owes the 3rd user 3 BTC, from 10 hrs of ~3.5ghash

possibly giving too much for lower difficulty blocks.  My amt seems accurate

also

http://hhtt.1209k.com/user-details.php?user=14uNqUQNqbKLTFZGGqyR2pgkHeMvUNv9Fm

apparently it's actually making the payments, since that one was about 2.5x too high

Thanks for pointing this out.  I think I know what happened.  I was updating a bitcoind on my backend.  It switched to level db and was downloading the blockchain.  That is all good, except it is used to determine the difficulty for the purpose of share payments.  It probably ran a number of times while the blockchain was being downloaded and got some incorrect difficulties in the process.

I've stopped payments for a little while I cleanup the DB.  Some people will probably have been paid too much and go negative for a while (maybe forever if they stop mining).  But I won't ask people to be responsible for my mistake.
218  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 10, 2013, 06:32:09 PM

I'm looking into spinning up a stratum node now.
 

AWESOME!  You are my planned public pool when BFL delivers almost 2Th to my doorstep.  Would like to see you dig out of the deficit that was created before the reward drop...

Sweet.  I am working on my own stratum mining pool implementation in java.  I have the stratum side working, which includes getting work to miners and processing the shares.  I am working on the bitcoin side of actually making the blocks.

If anyone has an pointers on making a two part coinbase transaction in Java (in which I can cram my 8 bytes of extra-nonce), I'd love to hear about it.



219  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 03, 2013, 03:02:29 PM
So if I have a 60ghash ASIC I am going to get through the Nonce range in 1/15 secs. So even rolling time forward it is going to need to have 15 getwork connections in parallel?

So although I can pump up the difficulty so do not have to send you too much traffic need a lot of connects to run all the getworks?

I had my fiance read about stratum to me in the car on the way home yesterday.  She wasn't very pleased about that.  Anyways, it sounds like the time rolling wasn't as flexible as I thought it was.

I'm looking into spinning up a stratum node now.
 
220  Bitcoin / Pools / Re: [60 GH/s] HHTT - User Selected Share Difficulty/PPS/Paid Stales on: February 02, 2013, 05:38:56 PM

How do you expect ASICS to work with your pool? Do we need Stratum or just bump up the difficulty?

I expect they will work fine just cranking the difficulty.  From what I've read, the Avalon units are based on a recent cgminer and BFL units (at least the Singles and hot peppers) will be USB so the user can use existing mining software (like cgminer).  So I don't expect any problems.

If there are problems, I'll be happy to work with miners to solve them.  I don't support Stratum yet but if that ends up being needed or a good idea I can see doing that work.

I should really check my changes to pushpool into a branch and sync it up to the head sometime soon.
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!