You guys really mucked up the implementation of the extranonce subscription extension. Of all the ways you could have done it, you chose the only option with the potential to create enabled mining clients that are incompatible with other pools by default. You had full control of your stratum server implementation, and full access to nearly all client miner implementations, but little or no access to oftentimes proprietary stratum implementations at other pools, so the fact that you decided to initiate extranonce subscription messages from the mining client side, demonstrates either your incompetence or ignorance as to how to extend an already well established protocol without introducing negative consequences elsewhere, or callous disregard for the effects upon miners and the other pool operators who are affected by your protocol extension.
Given the circumstances, you should be initiating the extranonce subscription from the stratum server side, at which point an enabled mining client can respond in the appropriate fashion, and an earlier version ignore the message as you can easily verify that most mining clients do. But as it stands now, you have created a situation where extranonce subscription enabled mining clients are sending unexpected messages to stratum servers at other pools potentially causing unknown consequences there. Or was sabotaging your competitors part of the original plan?
I have to agree with this (except the last sentance, which is kinda stupid).. I wonder if it is already too late to change this (also, this is just a feature nicehash added, or is it some standard?). I did not go into what this is actually useful for, if it's only for these rental/multipools, then we could simply turn this option off by default (opt-in instead of opt-out).
I posted that message to the nicehash forum over a month ago (not yesterday!), and your having removed that surrounding context does indeed make that last sentence sound kinda stupid. Nicehash devised that stratum protocol extension, with this glaring flaw, and it was so easy to get right too. All they needed to do to make it fully compatible with other pools without having to worry whether it was enabled or disabled by default in the client was to initiate the transaction from the server side -- by sending a "mining.subscribe_extranonce" message (or something like it) to the client and have it handled in within the parse_method function of a compatible cgminer/sgminer and ignored by all the rest -- instead of sending a subscribe.extranonce message before a mining.authorize message to all other unexpecting pools.
And no, it is never too late to change something that is clearly broken. The problem is a custom stratum protocol extension implemented by nicehash, for nicehash, and negatively effecting so many miners on other pools, including many who have no idea what is happening or how to disable it, thereby causing them to assume that there is something wrong with many other pools, when it is in fact their mining software at fault. At the very least, it should be disabled by default!