Hello,
If anyone is interested in buying Dagger-Hashimoto hashing power to mine Ethereum even without having physical miners: we added
beta support for Ethereum Dagger-Hashimoto algorithm to
https://www.nicehash.com. Since original Ethereum specification lacks full stratum support, we made a few minor patches to the Ethereum specification in order to be able to put support for Ethereum on NiceHash. The specifications are published at
https://www.nicehash.com/sw/Ethereum_specification_R1.txtPools and mining software have to be patched in order to be compatible with the new specification. Currently there are no compatible public pools available, but we made a basic Ethereum pool which follows these specifications and other pools can be prepared according to these specifications. Full source code for the patched Ethereum pool can be found here:
https://github.com/nicehash/nhethpool. We also patched Genoils ethminer and full source code as well as beta windows binary can be downloaded here:
https://github.com/nicehash/cpp-ethereum/releases/tag/NiceHash-1.0.0.
MINING POOL OPERATORS BOUNTYSince we would like for pools to put support for NiceHash as soon as possible, we will pay 0.5 BTC to each of the
first three Ethereum pools operators that will make their pools compatible with NiceHash rented hashing power. Compatible pools will also be listed on our recommended pools page:
https://www.nicehash.com/index.jsp?p=pools.
Thank you for your support!
Best regards,
NiceHash team.
Comments
I hope your miner implementation to be included in genoil-ethminer release too as it's quite confusing to see several binary.
I will check proposal deeply if pool can support it.
Also the bandwidth requirements of the current stratum implementations do not pose any challenge for either pools nor miners.
You did what we were to lazy to do Coinotron's and Genoil's Stratum is almost the same as yours.
Only real difference is lack of support of extranonce. Extranonce is really needed if you want to safely offer variable difficulty shares.
You propose 3 byte long extranonce. Have you consider 2 byte extranonce instead?
Pools will still have available 65536 unique values. It is enough even for biggest pool. But protocol will support 938 GH/s miners, so we won't have to change it when ASIC miners arrive.
We can extend our Stratum pool to meet your specs. I think you should offer special bounty for Genoil's to modify his ethminer. It is critical to have one source of miner and stop forking it.
I'm a bit curious that why renting system needs extranonce1?
You need it because westhash and nicehash to work simultaneously without the need of checking nonce value for each server?
I think it must be checked on pool side. Whether the hash comes from westhash or nicehash, pool must be checking nonce value duplication on their own.
I like the idea of setting extranonce1 for each miner and it helps server load lower but not sure that it is *really* needed.
Even for your own mining, you can just set two base address for each wallet on each server so that it will produce totally different headerHash and will not make any problem with fake nonce.
we have added support for your protocol on our server and tested it with your fork of genoil's miner.
A new port was opened for this protocol version.
Servers are reachable under:
eu1.hitchpool.org:3334
and
us1.hitchpool.org:3334
We will add this to our webpage too, but will run a test on production with our mining rig before that.
*edit: the nicehash pool validator already confirms our pool as working
Oh.. I thought nicehash was counting only valid shares.
@kenshirothefist
Can you tell us about it?
Off the topic, but... this post is now in Jobs & Skills section.
It was pool discussion category at first.
Extranonce is used for us to be able to assign workers to different orders and forward work to target pool - this is one of the core features of NiceHash.
Regarding moving the topic -> well, it was moved by Forum admins, not much that we can do here ....
I'm testing my pool using Nicehash's pool validator tool.
I'm receiving this strange error:
Resolving pool host coinotron.com... O
Establishing connection with proxy... OK
Establishing connection with pool 178.217.186.125:44433... OK
Sending mining.subscribe... OK
Sending mining.authorize... OK
Error: Extranonce size is 3 (maximum is 2).
In your specs. you stated that extranonce size is up to 3 bytes, while validator says that it is max 2 bytes
If this is an issue for you, then you could make NH port, where extranonce is 2 and port for other miners where extranonce is 3 bytes.
Our pool is ready , passed your verification test.
We are supporting your miner and protocol on our ETH pool on port 3344.
We will add announcement on our main page as soon as Genoil's miner is ready.
We are working on improvements...
https://blockchain.info/tx/5e42a1bee994fd818dc7f67b28d11fec4309b915217ced0f28f7331376540929
Hi, MiningPoolHub implemented it.
I think bounty is still available, I'll send you PM about our server host, port, and BTC address.
As long as nicehash confirms, I will apply all changes to all our region servers.
I have some questions and suggestion.
(1) diff level. How about the vardiff?
Our pool supports vardiff, and here's initial settings I've set for this new stratum port.
starting diff : 1
minDiff : 0.069848127282057
maxDiff : 11.64135454700958
When connection is made but no submit shares for few minutes, pool decreases difficulty step by step. As this decrease can happen repeatedly, it can reach down to minDiff.
Pool doesn't have problem with massive low difficulty shares, but I wonder whether nicehash would wait the warming up phase or not.
minDiff is actually calculated from previous difficulty level which was 300000000.
It is well suited for old 1 gpu rig. As I want to optimize even low hash miner, I would like to set minDiff as low as possible.
(2) previous stratum
I see that your new miner replaced genoil-ethminer's stratum. "-S" option works differently, and it would make things incompatible. Is this what you intended? Whole stratum protocol replacement. Does pool have to detect miner type automatically and treat them with previous stratum protocol, and new stratum protocol from one port?
How about using other option like "-N" nicehash stratum mode. I don't care what option name you use, but breaking compatibility doesn't look good for miners. Maybe @Genoil would leave his opinion here.
(3) little bug.
When pool sends 0 difficulty, miner crashes. It's not big problem, but it would be better if it's fixed.
2. That is up to you how you would handle multiple versions of stratum protocol. The proposed one we are talking about here has name "EthereumStratum/1.0.0". Others don't even have a name, because whoever decided to make them was completely ignorant about anything, even it's name. The forked version of ethminer we did is just a fork and supports only EthereumStratum/1.0.0. If there will ever be EthereumStratum/1.0.0 in original Genoil's miner, then I am sure, Genoil will name it somehow and give miners an option to choose from available stratums.
3. Thank you for the report, we are already onto it to fix it.
Stratum hostname: coinotron.com
Stratum port: 3344
Username: COINOTRON-USERNAME.WORKER-NAME
Password: WORKER-PASSWORD
And here is the bounty reward for Coinotron: https://blockchain.info/tx/ff43e2a28c17d445c27ab62742c9483d66a36ab39dbdd2ea94809d05934ad073
Thanks!
Thank you for detailed explanation.
I like low diff because pool can measure small miner's hashrate more accurately.
Anyway, I implemented "NiceHash/" string detection and forced difficulty 1 as minimum value.
So it will be compatible with NiceHash.
It passes pool validator successfully.
I hope you test our pool again. I sent test server info and bitcoin address PM to @kenshirothefist already.
Thanks.
Stratum hostname: hub.miningpoolhub.com
Stratum port: 20534
Username: MININGPOOLHUB-USERNAME.WORKER-NAME
Password: WORKER-PASSWORD
And here is the bounty reward for MiningPoolHub: https://blockchain.info/tx/474a3f659cd3cb788e8bdd8558319058dd91f5ee5170a296cb65cc763c2d7e9e
Thanks!
This now concludes our "first three Ethereum pools bounty", however all other pools are of course very much welcome to add support for NiceHash,