Could an IBM mainframe from the bitcoin mining wikipedia mine Bitcoin? The idea seemed crazy, so I decided to find out. I implemented the Bitcoin hash algorithm in assembly code for the IBM 1401 and tested it on a working vintage mainframe.
It turns out that this computer could mine, but so slowly it would take more than the lifetime of the universe to successfully mine a block. How Bitcoin mining works Bitcoin, a digital currency that can be transmitted across the Internet, has attracted a lot of attention lately. If you’re not familiar with how it works, the Bitcoin system can be thought of as a ledger that keeps track of who owns which bitcoins, and allows them to be transferred from one person to another. The interesting thing about Bitcoin is there’s no central machine or authority keeping track of things. Mining requires a task that is very difficult to perform, but easy to verify.
Bitcoin mining uses cryptography, with a hash function called double SHA-256. With a cryptographic hash, there’s no way to get a hash value you want without trying a whole lot of inputs. But once you find an input that gives the value you want, it’s easy for anyone to verify the hash. The dark blue boxes mix up the values in non-linear ways that are hard to analyze cryptographically. If you could figure out a mathematical shortcut to generate successful hashes, you could take over Bitcoin mining. The Ch “choose” box chooses bits from F or G, based on the value of input E.
Internally, the computer was very different from modern computers. Since it was a business machine, the computer used decimal arithmetic instead of binary arithmetic and each character of storage held a digit, 0 through 9. Performance comparison The IBM 1401 can compute a double SHA-256 hash in 80 seconds. It requires about 3000 Watts of power, roughly the same as an oven or clothes dryer. 125,600, which is about a million dollars in 2015 dollars.