Bitcoin Forum
November 10, 2024, 01:32:11 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3]  All
  Print  
Author Topic: SOLVED [Bitcoins.lc] Issue with invalid shares (10 BTC bounty)  (Read 16733 times)
Phil21
Full Member
***
Offline Offline

Activity: 155
Merit: 100


View Profile
June 12, 2011, 06:38:05 AM
 #41

This has been bugging the crap out of me since I saw you refused to release the actual problem.

I'm offering to pay you 5BTC should you release a detailed explanation of the problem, and the fix.  I don't even mine in your pool (I actually hopped on IRC the first day you started to give you a couple suggestions/features that I would have needed to join).  This way, you are now splitting the cost and the entire community as a whole benefits.

Or heck, just PM me the problem and I'll write up the problem/solution myself after I test it in a dev environment.

-Phil
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1100


View Profile
June 12, 2011, 07:36:18 AM
 #42

I'm planning to keep that to me self, due to i think the other pools based on pushpoold will eventually face the same problem.
This issue costed the pool/me personally 10 BTC + a whole day of hard work with debugging, tcpdump and ~10 people that tried in all ways to help us.

So...  you won't even tell the author of pushpool?

pushpool certainly cost me a lot more than "10 BTC + a whole day of hard work."

Zip for donations or thanks, just people asking for free support all the time, too.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
lizthegrey
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
June 12, 2011, 01:53:54 PM
 #43

I'm offering to pay you 5BTC should you release a detailed explanation of the problem, and the fix.  I don't even mine in your pool (I actually hopped on IRC the first day you started to give you a couple suggestions/features that I would have needed to join).  This way, you are now splitting the cost and the entire community as a whole benefits.
Code:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

As one of the people who was trying to help track the bug down, I'm a little offended too with the "I'm going to withhold the fix", especially given that Pushpool is open source and cost a lot more than a day to develop.

I'm going to raise the bounty by another 2 btc for releasing the fix, but encourage you to just do the right thing instead of being mercenary and taking the money.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAk30xMYACgkQaj+LAPvd0qQCtQCfQjbjz0HLky0RwIO6j1lqLw36
3fwAmwSbONdoFibFZ/jbZ/bjGE8RIf53
=m0/A
-----END PGP SIGNATURE-----
padrino
Legendary
*
Offline Offline

Activity: 1428
Merit: 1000


https://www.bitworks.io


View Profile WWW
June 12, 2011, 02:10:04 PM
 #44

Did he pay for the fix, if so I find myself conflicted about whether or not it should be released. Maybe cover his cost plus what he lost and he should step up in the spirit of the community. You may want to go to the source of the fix and see if he will discuss since he posted his name earlier.

1CPi7VRihoF396gyYYcs2AdTEF8KQG2BCR
https://www.bitworks.io
Jine (OP)
Sr. Member
****
Offline Offline

Activity: 403
Merit: 250


View Profile
June 12, 2011, 02:20:45 PM
 #45

The problem lies in poclbm's support for X-Roll-NTime.
There are 2 patches for this applied to our source, first disable the header that allows X-Roll-Ntime.
And secondly disabling the support completely.

Seems to have fixed all issues we had.

jgarzik: The patch you merged that added support that, consisted of 2 commits for those two - we undid them.

Now - back to coding, our pool is growing extremely fast.
Sorry about the withhold of the solution. I'm all in for the sprit of the community, and all further patches will be publicly available at my own github.

We're _STILL_ having problems with low number of duplicates, but not even close to 5-6%.

Once again, sorry. Smiley
If you want to, donate the "bounty" to ius which works hard to help us out with both bugs and improvements.

Previous founder of Bit LC Inc. | I've always loved the idea of bitcoin.
lizthegrey
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
June 12, 2011, 02:56:36 PM
 #46

If you want to, donate the "bounty" to ius which works hard to help us out with both bugs and improvements.
http://blockexplorer.com/tx/6647483f1329e5fab259b5d5619a7c20a28d6b440a1d866d25971dba78001912
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1026



View Profile
June 12, 2011, 02:57:34 PM
 #47

The remaining duplicates are probably coming from the clock problem ArtForz found.  Since you are running NTP on your server, I recommend patching bitcoind to disable the crappy clock adjustment.

The file is util.cpp, look for function GetAdjustedTime().

Code:
int64 GetAdjustedTime()
{
    return GetTime() + nTimeOffset;
}

Change to:

Code:
int64 GetAdjustedTime()
{
    return GetTime();
}

That should probably end up in the official client, in case any devs are watching.  If they really want to keep the clock adjustment even though NTP does a much better job, the getwork() function in rpc.cpp should be changed.  pBlock->nTime needs to be set to nPrevTime, which increases monotonically, after the call to IncrementExtraNonce().

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
padrino
Legendary
*
Offline Offline

Activity: 1428
Merit: 1000


https://www.bitworks.io


View Profile WWW
June 12, 2011, 03:02:07 PM
 #48

The remaining duplicates are probably coming from the clock problem ArtForz found.  Since you are running NTP on your server, I recommend patching bitcoind to disable the crappy clock adjustment.

The file is util.cpp, look for function GetAdjustedTime().

Code:
int64 GetAdjustedTime()
{
    return GetTime() + nTimeOffset;
}

Change to:

Code:
int64 GetAdjustedTime()
{
    return GetTime();
}

That should probably end up in the official client, in case any devs are watching.  If they really want to keep the clock adjustment even though NTP does a much better job, the getwork() function in rpc.cpp should be changed.  pBlock->nTime needs to be set to nPrevTime, which increases monotonically, after the call to IncrementExtraNonce().


Great point, I was wondering about that myself and can definitely see why it causes issues. Applying this to the official client with an NTP flag for those running right time may be worthwhile. Some PCs are great at it while others are poor because of hardware and/or software.

1CPi7VRihoF396gyYYcs2AdTEF8KQG2BCR
https://www.bitworks.io
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1026



View Profile
June 12, 2011, 03:08:38 PM
 #49

The client will already complain if the clock is wrong by a lot.  I think that should be enough.  NTP is trivial to install, configure, and run on any OS.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
Jobbernowl
Member
**
Offline Offline

Activity: 222
Merit: 12


View Profile
June 12, 2011, 04:43:54 PM
Last edit: May 09, 2018, 03:20:20 PM by Jobbernowl
 #50

The problem lies in poclbm's support for X-Roll-NTime.
There are 2 patches for this applied to our source, first disable the header that allows X-Roll-Ntime.
And secondly disabling the support completely.

Seems to have fixed all issues we had.

jgarzik: The patch you merged that added support that, consisted of 2 commits for those two - we undid them.

Now - back to coding, our pool is growing extremely fast.
Sorry about the withhold of the solution. I'm all in for the sprit of the community, and all further patches will be publicly available at my own github.

We're _STILL_ having problems with low number of duplicates, but not even close to 5-6%.

Once again, sorry. Smiley
If you want to, donate the "bounty" to ius which works hard to help us out with both bugs and improvements.
Cheesy

You talk well. But I do not understand anything. We must quit this business. In this I do not understand much.

ius
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
June 12, 2011, 05:20:13 PM
 #51

I have opened a pull request to revert the offending commits: https://github.com/jgarzik/pushpool/pull/24
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1100


View Profile
June 12, 2011, 06:45:50 PM
 #52


Oh.  This is an old and well known problem.  Nothing to do with pushpool at all.

luke-jr worked around it in bitcoind with http://luke.dashjr.org/programs/bitcoin/w/bitcoind/luke-jr.git/shortlog/refs/heads/getwork_dedupe but there are other options for varying the coinbase as well.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1026



View Profile
June 12, 2011, 11:37:57 PM
 #53

Ugh.  Why wasn't it merged in a month ago?

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
Pages: « 1 2 [3]  All
  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!