Niagara Falls Into Grinmint

Catheryne Nicholson
BlockCypher Blog
Published in
4 min readFeb 5, 2019

TL;DR. We added significant infrastructure to Grinmint and are inviting more hashpower; we are committed to provide the most transparent and accurate mining pool; we are raising pool fees to 2% with an additional 0.5% for the Grin Project.

Grin Mainnet Launches on 1/15/19.

Two and a half years after Grin began, the genesis block for Mainnet launched on Tuesday January 15, 2019 at 16:01 UTC. It was a fair launch and the initial difficulty was appropriately set, giving miners adequate time to prepare.

Approximately 1.5 hours later, the first block was found. BlockCypher’s Grinmint mining pool found Block 5 at 18:17 UTC, followed quickly by a series of other blocks.

Everything was looking great and we quickly climbed to the 2nd largest mining pool, surpassing even China’s giant F2pool for a bit! Our hashrate climbed to 50 kG/s (graphs per second or GPS is more accurate than ‘hash’ when it comes to Grin).

Then, as the proverbial saying goes, shit hit the fan.

Hundreds of thousands of Grin shares began generating at a steeply exponential rate; in 2 days, we were going to generate over 1 billion shares in our database. None of the early mining software supported setting a minimum difficulty; we had to process every valid solution as a share. On top of that, everyone was checking their miner graphs on Grinmint, which started loading our database to 100%.

If things weren’t bad enough, all mining softwares were terrible at reconnecting effectively to the pool. They were creating multiple connections at once, effectively causing a massive DDoS attack. 24 hours after our first mined block, when customer shares began maturing, the payout and core wallet issues began.

Niagara Falls was dumping into our brand new pool.

Grinmint was going up and down, customers were wailing* at us on every imaginable channel. Stress levels on the team were the highest we have ever experienced. The week of January 15th 2019 will be indelibly marked in our company’s legacy as A. Very. Difficult. Week.

We triaged. We worked around the clock. We reached out individually to each of the mining software providers to fix their respective bugs. We communicated individually and via multiple status updates to all our customers. We optimized our backend. We asked the Grin core team and mining software authors to adjust the minimum difficulty and fix wallet issues. We added more capacity on all our infrastructure. We turned off our stats (temporarily) and are reimplementing them.

Gradually, we began recovering.

In less than 2 weeks, we added over 17K miners and went from a G/s of zero to 322.094 kG/s on the secondary proof-of-work (Cuckaroo29) and 4.96 kG/s on the primary proof-of-work (Cuckatoo31). At the time of this writing, Grinmint is one of the top 3 mining pools for Grin.

We believe in mining transparency and diversity** . This belief is why we do the following:

  • Use Pay-per-Last-N-Group (instead of PPS, which is opaque and obscures what the pool is distributing out to its miners)
  • Publish the actual blocks and shares (which reflects accurate hashrate, not a contrived one).
  • Provide detailed global and per-worker statistics

We’re also planning more improvements to leave no ambiguity on the calculation of your mining earnings.

We are ready to accept more mining power.

When we launched our pool, we set fees at 0%. We had to scrappily fight our way to compete against very large, established mining pools. But now that we have scaled and are continuing to add infrastructure, we are ready to implement fees. Grinmint will start enforcing mining fees shortly. The fee will be 2% for the mining pool and an additional 0.5% for the Grin project. The dev fee ensures that Grin continues to receive the recurring funding it needs to improve and drive the project forward.

In order to address the number of payouts we have to enable, we are also raising the minimum payout to 1 grin (originally 0.01 grin, which we were going to raise to 2 grins. However, based on feedback from our small miners, we decided on 1 grin). Miners must request payouts for their shares no more than 60 days after maturity. After 60 days, mature coins are considered expired and you will no longer be able to request them.

We are excited about all the upcoming improvements we have in the works. We see great things to come for Grin and Grinmint!

*Amidst this madness, our ETH API was knocked out — due to our upgrade to support the Ethereum Constantinople hard fork (originally planned for 1/15/19, the same day as Grin Mainnet) — further exacerbating our customer problems. Our challenges with ETH deserves another post, though.

**Mining should accessible to everyone, even for a 12-year old who built a miner for his school project. As his mom, my shameless ask: please click on his video and like it https://youtu.be/ySCPDblOWaQ He has been mining on and off since the Grin genesis block….when not playing Fallout.

--

--

Catheryne Nicholson
BlockCypher Blog

CEO @BlockCypher, Engineer, former US Naval Officer, Mother, STEM advocate for girls