mining stuff

This commit is contained in:
counterweight 2026-04-16 11:44:01 +02:00
parent df2776bb7b
commit b8be909609
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
7 changed files with 178 additions and 0 deletions

View file

@ -126,6 +126,9 @@
<li>
<a href="https://bitcoininfra.contrapeso.xyz" target="_blank" rel="noopener noreferrer">My open access Bitcoin infrastructure that you can use freely.</a> It includes access to the peer port of my Bitcoin node, an Electrum server and a mempool.space instance.
</li>
<li>
<a href="https://github.com/counterweightoperator/hashbidder" target="_blank" rel="noopener noreferrer">hashbidder</a>, a CLI tool to automatically manage your bids on Braiins Hashpower to maintain a target hashrate at minimal cost.
</li>
</ul>
<p>
There are also some other projects that I generally keep private but
@ -147,6 +150,10 @@
<h2 id="writings-header">Writings</h2>
<p>Sometimes I like to jot down ideas and drop them here.</p>
<ul>
<li>
<a href="writings/my-first-petahash.html" target="_blank"
rel="noopener noreferrer">My first petahash</a>
</li>
<li>
<a href="writings/my-fitness-journey.html" target="_blank"
rel="noopener noreferrer">My fitness journey</a>

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

BIN
public/static/many-phs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

View file

@ -0,0 +1,127 @@
<!DOCTYPE HTML>
<html>
<head>
<title>Pablo here</title>
<meta charset="utf-8">
<meta viewport="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../styles.css">
</head>
<body>
<main>
<h1>
Hi, Pablo here
</h1>
<p><a href="../index.html">back to home</a></p>
<hr>
<section>
<h2>My first petahash</h2>
<p>I've recently started mining Bitcoin at a scale I never had before, so I thought it would be interesting
to jot down a few observations on my recent errands.</p>
<p>My friend Unhosted Marcellus has been following closely the evolution of the
<a href="https://ocean.xyz">OCEAN mining pool</a> since its launch. I hadn't used it personally until
recently, so for years all the info I had on it was second hand. What he was most excited about was the
<a href="https://ocean.xyz/docs/datum-setup">DATUM Gateway</a>: the great innovation is that you are
building your own block templates, which is something no other pool does. By using OCEAN with DATUM, you
enjoy the benefit of more stable mining rewards as opposed to lotto mining, while still being a sovereign
miner in the sense that you rely on your own node and you do your own templating. Great news for
decentralization.</p>
<p>The reason I had not bothered with setting all of this up so far was... that I really don't mine much. I
got gifted a cute <a href="https://bitronics.store/collections/bitaxe/products/bitaxe-supra">Bitaxe
Supra</a> from the <a href="https://bitronics.store/">Bitronics Shop</a> that produces some humble
600GH/s, so it felt pointless to do all the setup for such a tiny hashrate.</p>
<p>But then, Unhosted Marcellus started to tell me about these new markets started by Braiins called
<a href="https://hashpower.braiins.com/">Hashpower</a>. Other articles explain the market better, so
I'll leave it up to you to find those to learn about it. Although I must say, if learning is what you
want, nothing beats using it. The TLDR is that you can sign up, send sats, and rent hashrate that you
can point to your own DATUM gateway. And the surprise (at least for me) is how you can literally rent
petahashes for peanuts, when you account for the fact that most of the sats you put towards buying
hashrate will come back as mining rewards.</p>
<p>Unhosted finally triggered me with this tweet. Cheeky bastard.</p>
<p>I started toying around with a few PH/s, eventually trying out double digit petahashes. There is this
funny feeling to suddenly be controlling the equivalent of tens of thousands of little bitaxes.</p>
<figure style="width: 75%; margin: 10px auto;">
<img width="100%" height="auto" src="../static/many-phs.png" alt="Double digit petahashes on OCEAN">
<figcaption>Double digit petahashes on OCEAN</figcaption>
</figure>
<p>The economics around it are interesting. The bidding prices in Hashpower are usually (not always!) above
hashvalue. It's common to pay a 1%-5% premium over hashvalue. So, the most probable thing is that you
end up operating at a small loss. This is not strictly guaranteed if you mine with OCEAN, since the luck
factor is important and can easily swing rewards +-10%. So unless you mine at a stable rate with a
months-long time horizon, luck is going to play a more important role than the premium on the
hashrate.</p>
<p>To optimize your outcome, it is important to constantly update your bids in Hashpower. Bids are set at a
fixed price in sats, so as the market auction moves every few seconds, you will be either overpaying or
end up unserviced.</p>
<figure style="width: 75%; margin: 10px auto;">
<img width="100%" height="auto" src="../static/order-book-bids-here.png" alt="Hashpower order book">
<figcaption>Hashpower order book</figcaption>
</figure>
<p>On the first days I was using Hashpower, I would log into it multiple times a day to adjust my bids to
stay at the right height of the order book. At first it was fun, then it felt tedious, and it started to
generate this Twitter-esque addiction feeling I didn't like. I quickly concluded I wanted to automate
this out so my only task was to contemplate how pretty my OCEAN hashrate dashboard looked like, and I
could leave behind pulling levers in Hashpower's webpage like a financial monkey.</p>
<figure style="width: 75%; margin: 10px auto;">
<img width="100%" height="auto" src="../static/dreaming-bids.jpeg" alt="Dreaming of automated bids">
<figcaption>Dreaming of automated bids</figcaption>
</figure>
<p>I solved this problem for myself with
<a href="https://github.com/counterweightoperator/hashbidder">hashbidder</a>. It's a small CLI tool
that I run every couple minutes with cron. The TLDR is you can give it a config file that reads "I want
to mine at 5PH/s" and the tool will set your bids with two goals in mind:</p>
<ul>
<li>To bring your hashrate in line with your goal (e.g. if you want to be at 5PH/s, and you're
currently averaging 3PH/s in the last 24 hours, it will drive your bids to a total of 7PH/s. If
instead, you're scoring an average of 10PH/s, it will stop your bids completely to let your average
go lower).</li>
<li>To pay as little as possible, but guarantee you get served. The logic here is to set the price right
above the cheapest bid that is being served currently.</li>
</ul>
<p>The result is quite pleasant. Delivery is choppy because, even with frequent updates, trying to be cheap
means you often get dragged into being overbid by others and you stay there for some minutes. But the
self-adjusting hashrate compensates for it: if you've been falling behind a lot recently, hashbidder
will just hash at a higher hashrate to make up for it. I'm currently targeting 5PH/s, and this is what
my OCEAN hashrate timeline looks like.</p>
<figure style="width: 75%; margin: 10px auto;">
<img width="100%" height="auto" src="../static/recent-hashrate.png" alt="OCEAN hashrate timeline">
<figcaption>OCEAN hashrate timeline at ~5PH/s target</figcaption>
</figure>
<p>There are still a few more optimizations I'll add to hashbidder to reduce cost and decrease the
volatility of delivery, but they're just marginal improvements. The gist of it is already there and it's
doing its work fine.</p>
<p>My next steps are simply to sit and watch. I've decided I will pour 10 million sats during a few months
into this setup and then stop to measure what my rewards have totalled to, so I can provide people
interested in this with a real-life report of how everything turned out.</p>
<p>Overall, I'm having lots of fun. Setting this up made me excited in a way that felt oddly similar to the
first time I was setting up lightning nodes. The night I started out my DATUM gateway and pointed some
hashrate to it felt like the night I spun up an LND and started doing some lightning triangles in
<a href="https://lightningnetwork.plus/">Lightning Network+</a>.</p>
<p>Some interesting links in case you want to learn more or give it a shot at mining with rented hash
yourself:</p>
<ul>
<li><a href="https://rentsomehash.com/">rentsomehash.com</a>, guides on how to set up your DATUM
gateway and start mining with rented hash</li>
<li>A video guide from Matthew Kratter:
<a href="https://x.com/mattkratter/status/2043692900190753089">on X</a></li>
<li>You can check what Unhosted tweets here, since he's pretty much obsessed with this and doesn't pay
attention to anything else: <a href="https://x.com/oomahq">https://x.com/oomahq</a>. Also, some
podcasts and articles from him. Many kudos for starting this fire:
<ul>
<li><a href="https://x.com/oomahq/status/2042692591469367692">Interesting tweet #1</a></li>
<li><a href="https://fountain.fm/episode/zwmdkwdhy0jQT5dVkhah">Once Bitten! episode</a></li>
<li><a href="https://www.youtube.com/watch?v=k8ZRNyr3ofA">The Bitcoin Libertarian episode (in
Spanish)</a></li>
</ul>
</li>
</ul>
<hr>
<p><a href="../index.html">back to home</a></p>
</section>
</main>
</body>
</html>