Bitcoin Forum
April 27, 2024, 05:41:40 AM *
News: Latest Bitcoin Core release: 27.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 »
  Print  
Author Topic: [ANN][SRC] Securecoin | A Fast and Secure Version of Bitcoin | 2013  (Read 195266 times)
murraypaul
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
September 26, 2013, 12:36:57 PM
Last edit: September 26, 2013, 12:47:13 PM by murraypaul
 #901

The extra shares will never solve a block, because they are guaranteed to have been sent anyway if they had passed a difficulty 256 check.
Your pool will significantly overstate the sharerate of miners using the modified miner, compared to those using the standard miner.
This means they will take far more of the block reward, leaving very little for the users on the standard miner
Eventually all the users on the standard miner will leave, to go to a pool which doesn't have this issue, and will see their reward significantly increase.
You will be left with only users on the modified client, who are all submitting far too many shares, so the effect will cancel out.
The users with the modified miner will no longer see any advantage, as all they are doing is submitting more shares, not solving more blocks, so they only gain if there are standard miners to leech reward from.
You will be left with a small group of users on the modified miner, and will receive very little from running the pool, as your fee comes from solved blocks, not submitted shares, and these users are not solving blocks faster than users with the normal miner. The increase they are seeing is only in shares submitted, not in blocks found.

Did you not wonder why there are only three users left on your pool (excluding my testing), who (at a guess) are all running the modified miner. [Compared to 305 workers on coinmine, which uses a higher target share diff, and cannot be exploited this way]
A user running the standard miner would be insane to mine with you, as they will not receive a fair share of their effort.

BTC: 16TgAGdiTSsTWSsBDphebNJCFr1NT78xFW
SRC: scefi1XMhq91n3oF5FrE3HqddVvvCZP9KB
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714196500
Hero Member
*
Offline Offline

Posts: 1714196500

View Profile Personal Message (Offline)

Ignore
1714196500
Reply with quote  #2

1714196500
Report to moderator
ahmed_bodi
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500

Bitrated user: ahmedbodi.


View Profile
September 26, 2013, 12:47:28 PM
 #902

well tbqh i dont plan on touching the pool. I am retiring pushpool and moving to stratum which does not have that problem. Until then everyone is free to use the modified miner it doesnt affect me. I have someone with 150+ machines joining the pool tomorrow and will recommend him to use the modified miner to keep things equal for everyone until then

Bitrated user: ahmedbodi.
ig0tik3d
Legendary
*
Offline Offline

Activity: 1246
Merit: 1000



View Profile
September 26, 2013, 01:06:16 PM
 #903

in quark.c
change
Code:
  if ( ((hash64[7]&0xFFFFFF00)==0) && fulltest(hash64, ptarget)) {
to
Code:
  if ( ((hash64[7]&0xFFFFF000)==0) && fulltest(hash64, ptarget)) {

profit))
Neisklar
Member
**
Offline Offline

Activity: 60
Merit: 10


View Profile
September 26, 2013, 02:07:47 PM
Last edit: September 26, 2013, 02:22:54 PM by Neisklar
 #904

I only did a quick read through, and to lazy to do proper quiotation.

First let's make on thing clear:

The fault always lies in buggy server code.

It is always the pools and the deamons task to validate all hashes, validating thats above the needed target, and also validating that the hash is correctly calculated.

So even if the miner reports back shares under the target of what they should, then it is the pools task to sort them out.

It is even regardless of crytocurrency topic ALWAYS the servers task to validate ALL input, NEVER the clients task.

So just so we don't get a misunderstanding:
Of course one could build a miner which tries to cheat, but IF the server part is correct that try will be unsuccesful.

If someone honest got screwed by cheating miners, then he must blame the pools operator, not the cheater, since that's what the task of an pool operator is esp. when taking fees, provide a working system, monitor it, take action when needed.

That's also why you should not just do copy and paste without understanding of what exactly you are copying and how it is working.

---

Yes, the first released quark minerd had (accidently) a hard coded filter in it.
Two days later this was fixed in the repo: https://github.com/Neisklar/quarkcoin-cpuminer/commit/b1af442712ee82fe9764df3812d134a99e11e3f2

I did not produce new binaries, since at at the time the diff for QRK was already so high, that i never thought about the need for diffs lower than 0.0039. I also didn't really thinked about the need in pools. And pools share diff can be adjusted by the pools operator.
Then there are some optimized miners, which others created, which just use more efficient implemtations of the hashing algorithms, and use the old code as base, and never merged the fixes in their branch.

As SRC (as a 1:1 clone of the QRC source/algo) came up, mostly all just used the available tools, without really looking what they are doing and how they are working.
Also in opposite to windows users, linux user mostly get a checkout from the git repo and compile themselves, so they also get the updated code.

So if someone used a minerd without that filter, on a pool with a target that low, he did not cheat, the pool op didn't set up the pool correctly and/or did not provide the right miner software for their miners.

The corrected code is already over a month in the repo, no one has a "secret advantage" or did cheat, it's all open and accessible for everyone.
So again: It is not a modified or tweaked miner, it's just the fixed miner, the other ones are just buggy miners.

In addition, that miner did not use a hole or bug, it worked like it should. The user could even NOT detect this error, since for him the reported hashrate by the minerd and the hashrate reported from the pool was correct.

---
toying with a miner you can get some accepted shares 50% of the time by dropping half the algo work
which is proof that all algos are not used at all times..

It's not really dropping half of the algo work, it's more like that the different hashing algos have different costs in terms of cpu power. Some are blazing fast, some need some heavy work from the cpu (maybe even 10 times more). When you are at the branch point, and see that you will go the heavy computation road, then it may be quicker to throw that try away, and do the next one, instead of calculating that one. (Didn't test and avaluate that at all, it's just an assumtion and depends on the used algo-implementations)
So in opposite to the sha256 stuff where each hash try needs roughly the exact same amount of time, the time for a complete quark-hash vary.


BTC: 1LZQkJCojCiomDb1FdFXN5g1Gtc6n95acB  -  QRK: QRrcffSmb6jqw6RmZLtJ6skg71AXRG3S6y
ahmed_bodi
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500

Bitrated user: ahmedbodi.


View Profile
September 26, 2013, 02:11:33 PM
 #905

the software i built myself using the python quark module along with tenebrix pushpool. Which i admit is possible to contain bugs, Python is far from my preffered language VB.Net Is

Bitrated user: ahmedbodi.
murraypaul
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
September 26, 2013, 02:30:40 PM
 #906

Yes, the first released quark minerd had (accidently) a hard coded filter in it.
Two days later this was fixed in the repo: https://github.com/Neisklar/quarkcoin-cpuminer/commit/b1af442712ee82fe9764df3812d134a99e11e3f2
[...]
Then there are some optimized miners, which others created, which just use more efficient implemtations of the hashing algorithms, and use the old code as base, and never merged the fixes in their branch.

This is the issue.
It is fixed in your repository, but not in the UncleBob one, which most users were pointed to in the SRC thread.

BTC: 16TgAGdiTSsTWSsBDphebNJCFr1NT78xFW
SRC: scefi1XMhq91n3oF5FrE3HqddVvvCZP9KB
Neisklar
Member
**
Offline Offline

Activity: 60
Merit: 10


View Profile
September 26, 2013, 02:45:07 PM
 #907

Yes, the first released quark minerd had (accidently) a hard coded filter in it.
Two days later this was fixed in the repo: https://github.com/Neisklar/quarkcoin-cpuminer/commit/b1af442712ee82fe9764df3812d134a99e11e3f2
[...]
Then there are some optimized miners, which others created, which just use more efficient implemtations of the hashing algorithms, and use the old code as base, and never merged the fixes in their branch.

This is the issue.
It is fixed in your repository, but not in the UncleBob one, which most users were pointed to in the SRC thread.

Yeah, thats one of it, but there maybe more:

QRKs Difficulty reported from the wallet (and therefore also in all QRK clones if not changed) is "1 Byte off", means on Bitcoin, Litecoin a Difficult=1 Target would need at average 2^32 hashes to be found. In QRK a Difficulty=1 Target needs only 2^24 hashes at average.

This fact is irrelevant when doing solo-mining, since then the target is directly communicated over getwork to the miner and not over the conversation to difficulty.

In the p2pool code i modified for QRK i changed that part as well on the p2pools statistic-frontend.

So it may then be, that in some pushpool or stratumpool implementations these corrections are not made. Especially stratum, which uses Difficulty and not Target.



Another thing to note is, that for scrypt-based coins (AFAIK only over stratum) the real diff is a multiply by 65536. That is then reversed for example by the cpuminer before it calculates the target.
For the quark-miner i did not do that reversing. So when using a litecoin-stratum implementation as base to create a pool to use with QRK-Algo-coins, that may also cause some problems.

BTC: 1LZQkJCojCiomDb1FdFXN5g1Gtc6n95acB  -  QRK: QRrcffSmb6jqw6RmZLtJ6skg71AXRG3S6y
murraypaul
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
September 26, 2013, 02:46:14 PM
 #908

toying with a miner you can get some accepted shares 50% of the time by dropping half the algo work
which is proof that all algos are not used at all times..
It's not really dropping half of the algo work, it's more like that the different hashing algos have different costs in terms of cpu power. Some are blazing fast, some need some heavy work from the cpu (maybe even 10 times more). When you are at the branch point, and see that you will go the heavy computation road, then it may be quicker to throw that try away, and do the next one, instead of calculating that one. (Didn't test and avaluate that at all, it's just an assumtion and depends on the used algo-implementations)
So in opposite to the sha256 stuff where each hash try needs roughly the exact same amount of time, the time for a complete quark-hash vary.

I had a look at this, and it seems to almost exactly come out in the wash, the overall hashrate (counting only fully computed hashes) stays almost exactly the same if you skip hashes that need the second Groestl function, at least with the UncleBob implementation.
Presumably this means that the performance difference between Groestl and Skein is about the same as the cost of performing Blake plus BMW?

BTC: 16TgAGdiTSsTWSsBDphebNJCFr1NT78xFW
SRC: scefi1XMhq91n3oF5FrE3HqddVvvCZP9KB
murraypaul
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
September 26, 2013, 02:54:43 PM
Last edit: September 26, 2013, 03:04:58 PM by murraypaul
 #909

Another thing to note is, that for scrypt-based coins (AFAIK only over stratum) the real diff is a multiply by 65536. That is then reversed for example by the cpuminer before it calculates the target.
For the quark-miner i did not do that reversing. So when using a litecoin-stratum implementation as base to create a pool to use with QRK-Algo-coins, that may also cause some problems.

Checking on the coinmine pool, it seems that they already correct for this on their end, so changing the miner to submit shares at difficulty/65536 results in the extra shares being rejected.
(Which means that I need to leave the 'incorrect' code in place, or waste time submiting 99% invalid shares)
I've found at least one pool that doesn't correct for it, which allows the submission of massively more shares than an uncorrected miner.

BTC: 16TgAGdiTSsTWSsBDphebNJCFr1NT78xFW
SRC: scefi1XMhq91n3oF5FrE3HqddVvvCZP9KB
ahmed_bodi
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500

Bitrated user: ahmedbodi.


View Profile
September 26, 2013, 03:07:03 PM
 #910

what the difference is i believe is feeleep uses stratum which contains more error checking code in comparison to pushpool which we use atm

Bitrated user: ahmedbodi.
Neisklar
Member
**
Offline Offline

Activity: 60
Merit: 10


View Profile
September 26, 2013, 03:49:27 PM
 #911

Another thing to note is, that for scrypt-based coins (AFAIK only over stratum) the real diff is a multiply by 65536. That is then reversed for example by the cpuminer before it calculates the target.
For the quark-miner i did not do that reversing. So when using a litecoin-stratum implementation as base to create a pool to use with QRK-Algo-coins, that may also cause some problems.

Checking on the coinmine pool, it seems that they already correct for this on their end, so changing the miner to submit shares at difficulty/65536 results in the extra shares being rejected.
(Which means that I need to leave the 'incorrect' code in place, or waste time submiting 99% invalid shares)
I've found at least one pool that doesn't correct for it, which allows the submission of massively more shares than an uncorrected miner.

Not doing the stratum-diff/65536 thing is the correct way.

IMHO changing the miner is to late, since all miners out there behave over stratum like bitcoin, and the p2pool stratum also behaves like bitcoin.
Having mixed miners out there will lead to massive problems.
BTW that's a thing i'm still a little angry with myself, since i didn't do that when i released the first standalone miners and p2pool software.
But now we have to see it as defacto standard that QRK-based coins behave like Bitcoin-based ones: no diff-adjustment over stratum.

BTC: 1LZQkJCojCiomDb1FdFXN5g1Gtc6n95acB  -  QRK: QRrcffSmb6jqw6RmZLtJ6skg71AXRG3S6y
murraypaul
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
September 26, 2013, 06:43:09 PM
 #912

Yeah, thats one of it, but there maybe more:

QRKs Difficulty reported from the wallet (and therefore also in all QRK clones if not changed) is "1 Byte off", means on Bitcoin, Litecoin a Difficult=1 Target would need at average 2^32 hashes to be found. In QRK a Difficulty=1 Target needs only 2^24 hashes at average.

This fact is irrelevant when doing solo-mining, since then the target is directly communicated over getwork to the miner and not over the conversation to difficulty.

In the p2pool code i modified for QRK i changed that part as well on the p2pools statistic-frontend.

So it may then be, that in some pushpool or stratumpool implementations these corrections are not made. Especially stratum, which uses Difficulty and not Target.

At least one pool is vulnerable to this, and will accept shares 256 times too easy for the requested difficulty.
I have let the pool operator know.
(Being honest is sadly unprofitable:) )

BTC: 16TgAGdiTSsTWSsBDphebNJCFr1NT78xFW
SRC: scefi1XMhq91n3oF5FrE3HqddVvvCZP9KB
ahmed_bodi
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500

Bitrated user: ahmedbodi.


View Profile
September 26, 2013, 07:21:09 PM
 #913

luckily my fee is 0 so i dont lose at all. i've kept it at 0 for a long time since i began to plan out my stratum work

Bitrated user: ahmedbodi.
Eli0t
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile
September 26, 2013, 08:02:57 PM
 #914

murraypaul has said everything that needs to be said

Eliot i done with with you.. and stop asking for my magical cheating client AND bitching about me please..
youll be happy to hear i can stop being nice to you now


LTC:  LKpJf3uk7KsHU73kxq8iFJrP1AAKN7Yni7  DGC:  DKXGvEbj3Rwgrm2QQbRyNPDDZDYoq4Y44d  XPM:  AWV5AKfLFyoBaMjg9C77rGUBhuFxz5DGGL
dhingydog
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
September 26, 2013, 08:33:46 PM
 #915

Just a quick tip:
I wrote something down about cost efficient cloud mining, check it out if interested:

https://bitcointalk.org/index.php?topic=303122.0
Spoetnik
Legendary
*
Offline Offline

Activity: 1540
Merit: 1011


FUD Philanthropist™


View Profile
September 26, 2013, 08:51:43 PM
 #916

interesting and wow i want to reply to everything said lol

first off happy Cheating Eliot Wink ..hypocrite lol

i spent time debugging this last night and have tried out ALL the code and all the tweaks so i understand every comment here
except the ones regarding the pools.. and its obvious who i would agree with Wink

murraypaul i don't know why you are claiming to be an authority on this by doing some half ass after the fact checking of random code
you could of simply asked me.. anything as i have said 4 times now..
and your assertion that "everybody" is running the same slow client is unproven and almost certainly false and that is the basis of your cheating argument..

and that comment by ig0tik3d  saying "profit" is an excerpt of a code fix that KILLER stated ALL people should patch their clients with
and i asked more than once about it in the Quark ANN topic and was ignored (his diff patch was posted 1 page after the v2 QRK miner was posted for win64)
and NOW you guys catch on months later after many of you have been raping quark with it and have some cheating bullshit for me and only me LOLOLOL

and murraypaul you are sooo wrong when you said there is no difference in hash speed between Stoenfoz's version vs Neisklar's
i have compared hashing using same difficulty settings and UncleBob's old git hub code he updated over a month ago is WAAAAY faster
it also has issues compiling and i said that ALSO numerous times once again on the Quark topic and got little reply if any..

I didn't do squat.. i have done nothing but try and learn this crap and help out and i have been unjustly screwed over big time !
So where are the people screaming cheater for the XPM HP series of miners ? same situation different people using different miners..
did you guys go and call that guy who made it a scammer or something ? of course not lol

murraypaul  your making dumb excuses to call me a cheater

FUD first & ask questions later™
murraypaul
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
September 26, 2013, 09:11:44 PM
 #917

and your assertion that "everybody" is running the same slow client is unproven and almost certainly false and that is the basis of your cheating argument..

The builds that were posted in the SRC thread all had the speed limiter in.
The UncleBob repository still has the speed limited code, so anyone building from there will build a speed-limited version.
I think it is reasonable to think that most people were using them.
It also fits in with what people have seen, that they make less SRC when using a pool that allows the lower-diff shares.
Soon after the coin was released I found that I earnt a lot more on the coinmine pool that on crypto-expert (https://bitcointalk.org/index.php?topic=270852.msg3036951#msg3036951), maybe this was the reason?

Quote
and murraypaul you are sooo wrong when you said there is no difference in hash speed between Stoenfoz's version vs Neisklar's

? I don't think I said that?

Quote
murraypaul  your making dumb excuses to call me a cheater

I've tried to remember to put 'cheat' in quotes, as here, but have probably forgotten a few times.
A client submitting lower-diff shares is doing exactly what the pool has asked it to do, so is playing fair with the pool.
The problem is that most (I think) people are using a broken client that voluntarily chooses to make life harder for itself.
By using the faster client, you get more shares for the same hashpower.
People using the client they were told to use will probably think that is cheating.

BTC: 16TgAGdiTSsTWSsBDphebNJCFr1NT78xFW
SRC: scefi1XMhq91n3oF5FrE3HqddVvvCZP9KB
murraypaul
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
September 26, 2013, 09:13:28 PM
 #918

Question for you about cheating.
I have found a pool that will accept shares at 1/256th the difficulty that it asks for.
Doing so as a test took me from a measly ~240kh/s in accepted shares to over 25Mh/s.
I think it would be cheating to run a miner submitting those low-difficulty shares, as it is clearly exploiting a bug.
Do you agree, or do you think it is fair game?

BTC: 16TgAGdiTSsTWSsBDphebNJCFr1NT78xFW
SRC: scefi1XMhq91n3oF5FrE3HqddVvvCZP9KB
ahmed_bodi
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500

Bitrated user: ahmedbodi.


View Profile
September 26, 2013, 09:13:56 PM
 #919

interesting and wow i want to reply to everything said lol

first off happy Cheating Eliot Wink ..hypocrite lol

i spent time debugging this last night and have tried out ALL the code and all the tweaks so i understand every comment here
except the ones regarding the pools.. and its obvious who i would agree with Wink

murraypaul i don't know why you are claiming to be an authority on this by doing some half ass after the fact checking of random code
you could of simply asked me.. anything as i have said 4 times now..
and your assertion that "everybody" is running the same slow client is unproven and almost certainly false and that is the basis of your cheating argument..

and that comment by ig0tik3d  saying "profit" is an excerpt of a code fix that KILLER stated ALL people should patch their clients with
and i asked more than once about it in the Quark ANN topic and was ignored (his diff patch was posted 1 page after the v2 QRK miner was posted for win64)
and NOW you guys catch on months later after many of you have been raping quark with it and have some cheating bullshit for me and only me LOLOLOL

and murraypaul you are sooo wrong when you said there is no difference in hash speed between Stoenfoz's version vs Neisklar's
i have compared hashing using same difficulty settings and UncleBob's old git hub code he updated over a month ago is WAAAAY faster
it also has issues compiling and i said that ALSO numerous times once again on the Quark topic and got little reply if any..

I didn't do squat.. i have done nothing but try and learn this crap and help out and i have been unjustly screwed over big time !
So where are the people screaming cheater for the XPM HP series of miners ? same situation different people using different miners..
did you guys go and call that guy who made it a scammer or something ? of course not lol

murraypaul  your making dumb excuses to call me a cheater

ontopic now, spoetnik point ur miner to my pool on port 7103, using stratum+tcp://stratum.crypto-expert.com:7103 plz

Bitrated user: ahmedbodi.
murraypaul
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
September 26, 2013, 09:18:22 PM
 #920

ontopic now, spoetnik point ur miner to my pool on port 7103, using stratum+tcp://stratum.crypto-expert.com:7103 plz

You are requesting a Bitcoin-style difficulty of 16, that is massively high for an scrypt coin.
You probably mean 0.000244140625 (16/65536)

BTC: 16TgAGdiTSsTWSsBDphebNJCFr1NT78xFW
SRC: scefi1XMhq91n3oF5FrE3HqddVvvCZP9KB
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 »
  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!