Tilting at Windmills
This is a series that takes machine learning approaches, points them at a very hard problem, and documents how they fail.
The very hard problem is Bitcoin mining: given a block header, find a nonce such that the double-SHA256 hash meets a difficulty target. Cryptographic hash functions are designed so their outputs reveal nothing about their inputs, which makes the problem resistant to any approach that relies on learning structure in the input-output relationship.
SHA256 is not formally proven to be resistant to this kind of attack, but in practice it definitely is. We can learn a lot about new and shiny ML approaches by watching how they fail when thrown at this particular grinder.
Each post tries a different technique, documents the experiment in detail, and explains what the failure reveals about the limits of that approach.
Recent
Keycarver
I had a junk drawer of old USB drives and a suspicion that some lost Bitcoin keys were still on them. The keys were there. The wallets were empty.
Tilting at Windmills I
REINFORCE applied to nonce prediction, and why SHA-256's avalanche effect makes the expected gradient exactly zero.