MVIS Mining Pool

MVis
7 min readJul 18, 2019

--

I would like to introduce you to MVIS Mining Pool, my new mining pool for 0xBitcoin. You can find it at http://mvis.ca. It has a few unique features that I hope will make it stand out from the crowd, including support for the well known Stratum protocol, a functional and fair varDiff system, 12 hour stats, full account history auditing, reliable payouts and more. See below for a full rundown on all the features.

Pool Fees

My intent is to stay generally competitive with other pools, and so I will be setting it at 3%.

Support

For now you can reach me on the r/0xBitcoin reddit, or privately at u/mining-visualizer. If things get busy I may open a Slack channel. Please take the time to read through the FAQ, which contains detailed mining instructions.

Features

Stratum Protocol

The Stratum protocol is a communication protocol used by mining software and mining pools to talk to each other. In order to understand why it is significant, it may be helpful to understand what came before stratum, which was the RPC protocol. RPC stands for Remote Procedure Call. In cryptocurrency circles it is often referred to as “getwork”. It means the miner continuously queries the mining pool to see if any of the mining parameters have changed. Some mining operators configure their software to poll the mining pool multiple times per second. Obviously, with many miners, this is very inefficient and places a heavy load on the mining pool.

The Stratum Protocol, on the other hand, avoids continuously polling the pool by establishing a persistent TCP connection with the mining pool. (It’s like phoning someone and keeping the line open.) When the link is first opened the mining pool sends the current mining parameters to the miner. Whenever the mining parameters change, the mining pool simply sends the new values down to the miner on the open TCP link. Very fast. Very efficient.

If your mining software supports the Stratum protocol, simply configure it to point to http://mvis.ca:8090. If it doesn’t (and at this point, most don’t), you’ll need to install and run a special program called a Stratum Proxy. A Stratum Proxy is a program that acts as both a stratum client and an RPC server. As a stratum client, it connects up to the pool on port 8090 in order to obtain the current mining parameters. As an RPC server, it configures itself to listen on port 8080 in order to receive RPC requests from your mining software. Once you have the proxy running and configured, simply point your miner to http://localhost:8080.

The only thing you need to configure is your ETH address in the config.ini file. Please see the Readme for complete details.

If you have multiple mining rigs, you can either run a separate instance of the proxy program on each mining rig, or you can point all miners to the same proxy via your local area network.

12 Hour Stats

The mining pool accumulates mining statistics for each miner over 12 hour periods, aligned on 0 and 12 o-clock UTC, and presents them in an easy to read tabular format. It gives you a handy way to monitor your recent mining activity, to detect any significant deviations in mining performance.

Full Account History

The mining pool also records each time you are awarded tokens, and each time you get paid and presents it in one easy-to-read list. This makes it very easy to self-audit your mining activity.

VarDiff

MVIS Mining Pool implements a functional and fair varDiff system, which stands for “variable difficulty”. What this means is that while all miners start at a certain level of difficulty (currently set to 20,000), the pool will continuously monitor your share submission rate and adjust your difficulty level until you are submitting approximately 2 shares per minute. So big miners will see their difficulty adjust upwards every 60 seconds, whereas small miners will be adjusted down every 10 minutes, until everyone is submitting at about the same rate.

A good, functional varDiff system is highly desirable because it avoids the inevitable trade-offs that occur with a fixed difficulty system. A big miner with a difficulty too low will produce so many shares that it can actually impede the mining process. Conversely, a small miner can be stuck in a situation where it is virtually impossible to produce any shares.

Now I understand that some people don’t trust varDiff systems. There is a thread you hear in some circles that varDiff is bad because it cuts down your profit by making it harder to find shares. That, however, reflects a misunderstanding held by some people who think that mining profit is solely determined by the number of shares you find. “The more shares you find, the more money you make.” That is not true. Your profit is actually determined by the number of credits you earn. The number of credits you earn is determined by the number of shares you submit times the difficulty level. So if your current difficulty is, say, 50,000 and you find one share, you just earned 50,000 credits! It is the credits that are used to calculate your awards, not the number of shares. When the pool eventually mines a block, every miner gets a proportion of reward relative to the number of credits they have earned compared to other miners in the pool.

Payouts

I’ve completely rewritten the payout code from scratch, with an emphasis on reliability and solid accounting principles. One important feature I would like to mention is that this pool takes a pessimistic approach to payout transaction success. What that means is that when it is time for you to receive a payout, the pool submits the necessary transaction to the blockchain to transfer the tokens, but it holds off on making any change to your account balance until after the transaction has been confirmed. That way, if the payout fails for whatever reason, your account balance on the pool will still reflect the correct amount, and the next time the payment module runs, it will see that you are still owed money and initiate another payment attempt. I am not expecting to ever have to send anybody any manual transfers to correct for failed transactions. The system will take care of itself. And you can have complete confidence that you will get paid everything you are owed.

Merge Mining

Ok, now this could be a somewhat controversial topic. MVIS Mining Pool does not support merge mining. Not only do I not support it, I am strongly opposed to it, at least the way it is implemented by certain mining pools. What is basically happening is that they have figured out some clever tricks with smart contracts to magically award extra tokens every time the pool mines a block. My response to that is, “If it cost you nothing to mine those tokens, how much are they really worth?” Yeah that’s right … NOTHING!! Any value those tokens might have on the markets comes at the expense of 0xBTC. Merge mining devalues 0xBitcoin, plain and simple.

Don’t get me wrong … I have no problem with real merge mining. Real merge mining is where you employ un-utilized compute resources on the mining rig to mine a different token. A perfect example is the ETH / decred pair. The ETH is mined using GPU resources, and the decred is mined using the CPU which would normally just sit there doing nothing. That makes perfect sense. The decred you mine actually has some value because resources were expended in mining them.

That’s not the way it works with SEDO, though. As I said, its all just smart contract trickery, and it hurts 0xBitcoin.

SEDO doesn’t just hurt 0xBitcoin economically though. It is my view that it also hurts our reputation in the cryptocurrency community. I’ve read through their website. I’ve read the white paper, or at least as much as I could before I started feeling nauseous! My conclusion is that SEDO is complete and utter trash! They claim to be working on some sort of document management system, but so far the only thing they have to show for themselves is they’ve managed to get listed on a few exchanges, they released a ‘Dice bot’ game, and they staged some sort of “Easter egg hunt”???? I fail to see what any of that has to do with a document management system. SEDO is a disgrace to the 0xBitcoin community and we need to rid ourselves of it!

If you agree with me, please send your hashing power to a mining pool that supports pure mined 0xBitcoin, which to my knowledge includes http://tokenminingpool.com, http://0xbtc.tosti.ro, and of course my new pool, http://mvis.ca.

--

--