I’ve come across SAT solver approach applied to bitcoin mining by Jonathan Heusser again and his thoughts on alternative to brute force mining made me think about mathematics and algorithms. So what we’re doing during mining is building coin algorithm and brute force it by incrementing nonce value by 1 every round in hope we’ll get hash that satisfies current difficulty (having certain amount of leading 0 in the resulting hash). If we look at the mining from another point it all boils down to building a directed weighted graph we’re trying to find shortest path from set of points with initial nonce to the point where the hash of source data has all that leading zeroes. The problem here is that our graph would be super complex with an option to not to have a solution to the shortest path problem, which means we gotta have new set of data to test if solution exists there.
So the mining comes all the way to building a graph, a complex graph, for the mining algo and resolving one of the common problem of Grpah Theory finding shortest path between vertices in a grpah.
While this is some kind food for brain to chew on and requires mathematics knowledge and experience I wanna give you simple solution to resolve shortest path problem that has nothing to do with mining or algorithms. I hope you was following the way I was thinking on that.
Basically my idea is to grab a whole bunch of different resistors and build your graph on the PCB where each resistor impedance reflecting actual weight of the connection between 2 vertices of the graph. When your graph is build in such a way just apply voltage (AC for non-directed graph and DC for directed graph) to 2 points of interest (I don’t recommend doing that at home, you’re better off using safe power supply with overload and overheat protection for the safety sake). The shortest way between 2 source points can be found by following burnt out resistors on the PCB.
PROS: almost instant result, no mathematics involved, no computers and no computational power involved
CONS: one would have to rebuild the graph every time if more than one solution is needed; too time consuming to build a complex graph; might get too expensive to build a graph for every task.
As you can see some tasks can be resolved faster using analog approach without using computers and computational power at all. That would be really cool if a mining algo can be done that way.
Again, do not try to perform this experiment at home!