cazala / coin-hive-stratum

use CoinHive's JavaScript miner on any stratum pool
http://npmjs.com/package/coin-hive-stratum
417 stars 461 forks source link

Low difficulty share #167

Open andresm9 opened 6 years ago

andresm9 commented 6 years ago

pool connection error (JOBHASH): {"code": -1, "message": "Low difficulty share"} getting coinhive.com latest JS No accepting shares from PoW Changes

PiTi2k5 commented 6 years ago

The lastest CH js doesnt work on new forks, it switched to new algo "7" but new algo is always "low diff share" i think coinhive send a different blob and on serverside recalc this. So no ppl can use simple use coinhive script on various pools

ecSpl01t commented 6 years ago

Yeah, some problems with new algo. New CHjs doesn't work, proxy gets '{"code":-1,"message":"Low difficulty share"}'

@cazala , Do you know, what we can do with that ?

wonchoe commented 6 years ago

work with Electoneum just

focaeppe commented 6 years ago

Electoneum will also fork in the next month

DNNSITE commented 6 years ago

Has anyone solved this problem?

focaeppe commented 6 years ago

@DNNSITE Yes some they solved ,it seems not very hard

ecSpl01t commented 6 years ago

@focaeppe

it seems not very hard

Hi, so you said, you knew, how to resolve this problem ?

focaeppe commented 6 years ago

@ecSpl01t Who solve this problem said this, not me

Lancelight commented 6 years ago

@focaeppe Uhm, he didnt ask who. He asked "how". You said it was easy, therefore he called you out and basically said "Oh ya? Then prove it". Obviously everything you said was a complete lie. No one has solved anything. Period. Otherwise these questions wouldnt even exist. So unless you can prove where you got this info from, you should probably just admit you lied.

ALL web mining scripts no longer work. This includes coinhive and all of it's derivatives. This will be the case until coinhive or one of its derivatives releases a fix for the new fork for XMR's new hashing algo, Monero7 that then all others can use. This has not yet happened and probably will not happen for several weeks or maybe even months. Opensource is slow.

slayerulan commented 6 years ago

@Lancelight you're right but conhive, crypto-loot, cpufan.club, webminerpool is already solved this problem. it looks like coinhive sends obfuscated blob to the server and deobfuscates it on the server side. Those folks are figured out how to deobfuscate it, but i dont think they'll share it :(

Lancelight commented 6 years ago

If I had to guess, its likely going to be a fix that comes from Cryptonight. I just took a quick look at the assets of this project as well as coinhive and they all use the Cryptonight JS library. So I guess it should be as simple as dropping in the new Cryptonight7 JS lib for the assets and possibly changing any functions that the old implementation used to adhere to whatever new function names or function arguments that Cryptonight7 JS has. That in itself is anything but simple unless you are a developer, of which 95% of the people here are not. I am, but I know nothing about the Cryptonight JS Lib other than that is what coinhive appears to use for it's mining library. So it's my guess that an update to the Cryptonight JS library is what is needed to fix this issue.

focaeppe commented 6 years ago

@Lancelight slayerulan answer you Respect and don't call people liars ;)

Lancelight commented 6 years ago

Was I speaking about slayerulan? No. I was talking to YOU. You cant use someone else's reply to defend your own. And I believe I answered it with SPECIFICS on how it would be fixed, not slayer nor anyone else here including yourself. Why? Because I'm the developer, not you. lol. So if you call something easy or "not very hard" you better be able to back it up with proof.

slayerulan commented 6 years ago

dont be a childish guys, this is not an forum, this is an issue thread.

echel0n commented 6 years ago

https://authedmine.com/lib/worker-v2.wasm

echel0n commented 6 years ago

m.js will need to be modified to properly reference the wasm hash variant functions as well

wonchoe commented 6 years ago

i solve the problem, just start use another webminer with v7 support

old-mikser commented 6 years ago

@echel0n can you provide more details? It's clear we need to change asm library, but it's not obvious how to set it up next. @wonchoe which one?

wonchoe commented 6 years ago

@7evenmikser trust me, if i tell someone ".wasm" file and a link go to AV filter pretty fast :D

echel0n commented 6 years ago

I'd suggest to decompile the wasm to wat with wabt then rename the cryptonight function names to something else but your also need to modify the m.js to ref the newly renamed functions as well. This will get around adblocks and virus scans

Lancelight commented 6 years ago

Just ignore wonchoe, he's spewed out complete trash before, he's no different than focaeppe in that they provide no useful information yet feel compelled to post anyway which makes absolutely NO sense. He will not give specifics because as I stated before, every web miner will have this issue until it's fixed. echel0n however appears to be on the right track.

echel0n commented 6 years ago

Also for now I'm simply renaming the cryptonight_hash_variant_0 to cryptonight_hash

wonchoe commented 6 years ago

@Lancelight i just told about a time to use your brain and github search

Lancelight commented 6 years ago

@wonchoe Research yourself. About as far as this thread maybe. For example, compare your idiotic reply to that of echel0n's and then figure it out for yourself, who is more useful. You or echel0n.

old-mikser commented 6 years ago

@echel0n I don't care about AV. I switched to new WASM, then fixed it's name in the miner.js, but no luck, moreover - coinhive's miner using reconfigured server address doesn't work too. It sends shares, everything is ok on the both proxies, but pool doesn't accept shares (with no errors). I didn't figure out yet if XNP sends shares, but it accepts and works with them almost correct (sometimes says "bad share").

Hope it can help someone.

@Lancelight got ya! ;)

echel0n commented 6 years ago

@7evenmikser are you using m.js from here or coinhives ? reason I ask is new crypto wasm has hash variant's 0 and 1

Lancelight commented 6 years ago

@7evenmikser I have the same issue, the thing works up to the point of pools simply not acknowledging accepted shares. Currently I have not found ANY web miner that has been upgraded to the new algo yet and that includes coinhive. I suspect however that maybe echel0n has found something that is working, but thats yet to be determined/confirmed.

echel0n commented 6 years ago

@Lancelight oh I'm not sure if I'm even close yet to getting this working but from what I can tell the wasm is the updated v7 thats required its now just a matter of re-coding the m.js to use it correctly

wonchoe commented 6 years ago

@Lancelight that was a question "someone solve this issue" and i answer it, can't understand what you want from me? relax and don't be nervous

Lancelight commented 6 years ago

@echel0n Thats good to hear. Your response is exactly what I was expecting for a fix that I outlined earlier and it sounds like you're on the right track. :D

Lancelight commented 6 years ago

@wonchoe spouting facts that no one can confirm is just as good as an outright lie. No one needs to hear it. Take some pointers from echel0n and notice how his work closely resembles the fix I outlined above that would likely end up being the correct way to fix things.

old-mikser commented 6 years ago

@echel0n m.js from here? I didn't see any m.js in this repository. I'm using old ch script with some custom modifications. Just compared what xmr-stack sends with what new CH miner sends (on the proxy end) and didn't find big differences except new field "version". The most scarry thing is coinhive's script doesn't work (not custom modified). As I told before, first I simply tried "CONFIG.WEBSOCKET_SHARDS" to point to my server - and got no luck.

@Lancelight we won't find any "working webminer" need to handle this ourselves.

Lancelight commented 6 years ago

@7evenmikser That is correct, there are currently no working web miners and we'll need to figure out how to make them work either ourselves or based on someone else's work (such as coinhive, IF their stuff works of course, which I dont think it does yet, but echel0n appears to be trying their code to see if it does work at some point).

echel0n commented 6 years ago

m.js is under the assets branch

old-mikser commented 6 years ago

@Lancelight did you read my reply to @echel0n ? Coinhive's doesn't work with current proxy software. (software we have)

echel0n commented 6 years ago

i'm just porting over coinhive's code into m.js here and will test it in a few

wonchoe commented 6 years ago

@Lancelight
screenshot_2

old-mikser commented 6 years ago

@echel0n maybe we can use something like skype or telegram to cooperate? to not spam here

focaeppe commented 6 years ago

https://github.com/notgiven688/webminerpool

wonchoe commented 6 years ago

@focaeppe great job! Welcome botnet and AV again! Perfect

Lancelight commented 6 years ago

Erm. Thats a public git repo you retard. Posting links to public repo's doesnt help or hinder AV products. This is why you shouldnt be posting. You clearly dont understand anything. To avoid AV, you have to rename things yourself (as 7evenmikser and echel0n do). The issue at hand has absolutely NOTHING to do with AV at all and everything to do with a Monero Fork that took place a couple days ago that broke ALL web miners. Just let echel0n and 7evenmikser work this issue out. BTW, you can find that repo link simply by looking it up in google based on your own SS with "complete sources for a monero (aeon)". Talk about the kettle calling the pot black! lmfao.

wonchoe commented 6 years ago

@Lancelight i know that you can find it in google "complete sources for a monero (aeon)" thats why i send you a screen with text and probably you don't undertand how AV work, it's doesn't metter if you rename something absolutly, but who know, maybe you speaking about noobs AV like Windows Deffender, in that case you are right

echel0n commented 6 years ago

So I was able to successfully port cyptoloot's JS code in that works with the latest cryptonight wasm file however I still am seeing invalid shares so not sure where to go from here

old-mikser commented 6 years ago

@echel0n are you sure it works on the pool's side? As I told coinhive miner looks like working, but pool doesn't detect any hashes.

slayerulan commented 6 years ago

@Lancelight i got cancer from you dude how old are you?

slayerulan commented 6 years ago

@echel0n cryptoloot and coinhive or cpufan.club shares the same wasm but copying it not works on the server side; it doesnt calculate the hash correctly. theyve copied from coinhive. it seems that coinhive sending solved hashes to the pool as obfuscated and these people figured out their obfuscation algorithm and they've deobfuscating it on the serverside.

echel0n commented 6 years ago

@slayerulan so cryptonight wasm obfuscates the hash ?

echel0n commented 6 years ago

here's something also interesting WASM_BINARY_INLINE, appears the wasm file hex encoded into the JS file

slayerulan commented 6 years ago

@echel0n thats what i exactly try to tell, i almost sure that coinhives wasm library sends an obfuscated hash to the server. those people i listed figured out this method.

echel0n commented 6 years ago

screw the method why not just wasm2wat with wabt then remove the obfuscation routine all together, i'm gonna check my decompiled version now and see if that can be done