Some of you might actually know this story - after all, I’m not very secretive about it.
So this was around 2011-2012; The S-Crypt Boom hasn’t yet fully started and ASICs weren’t mainstream.
My friend managed to be on the shortlist of some S-Crypt ASICs, the first of it’s kind actually, to be shipped to us in Europe directly from the factory.
This was big news as the ASICs were far superior from any CPU/GPU mining back then, obviously.
We immediately bought a few - The only issue, we’re both in Highschool and completely broke. So 3 had to do.
We both were already mining Litecoin on our PCs at the time so the idea of just joining a mining-pool was very much the first thing that came to mind.
However we realized that due to the massive hashrate these ASICs would put out, we would not want to run them on just anybody’s mining pool and pay their fees etc.
Queue: “Let’s do our own pool - with Blackjack and Hookers!”
Back then almost all mining pools were based on a PHP spaghetti code called MPOS.
Luckily I knew my fair deal of PHP so I started digging around and we quickly decided that this is well within the realm of doable and profitable.
Onward with the question: “Where the hell are we going to host this?…”
I jumped on IRC and asked around and got us an old HP DL360 G2 (Yes, a G2…) and a few days and queries later I found it a home in a well known DC in Sweden!
Being rather security centric (paranoid), we started compiling our own spin of Gentoo with Xen virtualization stack for that server.
We started writing our own CLI abstracting the Xen API to our needs and automating network deployment and configurations.
This was before all of that Cloud and DevOps talk we have today… Back then AWS just started providing persistence to their instances…
So by this time we had:
- Colocation and a small dualstack range
- Hardened OS
- Virtualization & Automation Stack
- ASICs - hopefully on their way to us
Let’s go already!
We packed the server into a luggage bag, moved all the HDDs and other heavy things like PSUs into our carry-on and booked two flights to Sweden. Exciting!
Obviously nobody thought about how much that bulky piece of metal weights… Turns out we had to pay quite a lot of overweight charges, who would’ve guessed!
Anyway we’re too committed into this so we pressed forward into the unknown.
We went to the DC the next day and hooked everything up. We had all networks preconfigured and also had our management VM set to autostart. In theory that is.
The moments between power-on and the first ping-replies where the longest and most intense either of us ever had so far. But all went well thanks to thorough testing.
We set up MPOS for Litecoin (LTC) and advertised it on the usual forums.
To our surprise it actually gained traction as it turns out we had the lowest fees of them all.
The arrival of the ASICs
A week went past and the ASICs have finally arrived!
We had about two weeks of head start on those ASICs which is exactly how long we could mine LTC profitable with our very few ASICs.
By this time and with our ASICs our pool was already 500 users strong and somewhere in the top 10 LTC mining pools at the time.
Once everyone else had their ASICs we were a bit in a drag - although we would still be mining, it would not be enough to realistically cover costs of the whole operation.
This is when we expanded to other S-Crypt based coins and started to look at the rest of the landscape.
Luckily this was also the time right before the S-Crypt Boom happened.
I rewrote parts of MPOS to support a single account for multiple coins making us one of the very first multicoin mining pools with seamless switch between the coins.
Quickly this developed to a more serious game. We started to hunt coin-launches and collect bounties for first compiled GUI Wallet, first WebWallet, first Mining Pool, first Block Explorer, … You name it, we collected it.
We had automated the entire deployment pipeline to the point where we just needed a Git URL (Mostly GitHub).
A poller would continously try to fetch the code, build the coind-binary, spin up a small server for it and configure it’s RPC for the patched MPOS and stratum to connect to it.
At our peak we had 50+ coins actively mined and we would add new ones every week along with wallet services and primitive internal trading.
But wait, there’s more
Following requests to enhance our internal trading, we started working on an actual/true trading platform now.
First we only allowed users to get paid in a different coin than they were mining based on a best-effort balanced attempt.
Then we introduced a profit-switching stratum service where miners could just point their gear at a single stratum service and it would decide which coins to mine to gain maximum efficiency and BTC payouts - constantly readjusting the hashrate provided to different coins.
This profit-switching stratum became a beast on it’s own. It could distribute miners to multiple coins simultaneously while honoring their preferred payout-coins and other user-supplied metrics (such as not sending weak CPUs to high diff coins)
Ultimately we wrote trading bots to a few platforms that automatically rebalanced sheets and made sure that everyone would get their payments minus fees ofc.
At this point we were operating for perhaps a year or so and our userbase is well in the thousands…
Still running on that shitty G2 and only possible through hyper-optimization of the resources.
PHP-FPM, Varnish, NGINX, MySQL, Redis, RabbitMQ, … All became our friends, all got custom patches to support our workloads and stress.
All things must come to an end
Honestly it became tiresome now. This has become a full time job from monitoring, optimizing and handling the forums and trading disputes… And we were approaching our Finals at school too!
We sat together one night and had a serious talk about the future of this “Fun Project” and we decided to drop it in favor of getting our Finals done.
Although this “Fun Project” was financing itself and also dropped off some coins left and right for us, back then the crypto values were mere cents.
There was just no way that we could live of this then. Even as one of the largest mining pools out there.
A very anticlimactic ending to a very exciting part of my history. I wish I could go further into details about some things but I feel this post is too long already.
I would do it all again in a heartbeat.