For well over ten years, Satoshi Nakamoto’s version 0.1 codebase was thought to be lost. If one is to search, it’s extremely difficult to find and some people have discovered bits and pieces of the code.
Bitcoiner Jim Blasko revealed on October 7 via a Facebook post that using a touch of browser hacking he was able to scrape up the long-lost code. After explaining a bit of history, Blasko detailed that it took Bitcoin’s creator roughly six months to mine the inventor’s stash of 1 million BTC.
“Satoshi would take at least 6 months to mine 1 million bitcoin,” Blasko’s post explains. “As block 20,000 wouldn’t come until July 22nd, 2009, and others like Hal [Finney] were mining as well, so at least this time or shortly thereafter. [The network’s difficulty] was only 1 at the time and basic [CPU] mining would continue for a couple of years.” Furthermore, the bitcoiner explained that in late August 2009, Martti Malmi uploaded the raw code of Bitcoin v0.1 to sourceforge.net.
“Since 2012 it was thought that the raw code and the files were gone as they had been scraped from the Sourceforge search engine for some reason,” Blasko’s post says. “I know many users [were] looking for the original v0.1 code for a very long time and Hal Finney was planning to email it to some people in 2012, but his health was poor and by his own words didn’t get online much to respond,” the crypto researcher adds.
Blasko’s post continues:
"I’m not sure if Hal ever did send it out, as Hal was the earliest to receive Bitcoin v0.1 code from Satoshi. Either way, I did some digging and I was able to find the original code still on Sourceforge using some browser hacking."
Via Blasko’s discovery, the hidden code uploaded on August 30, 2009 can be found here and here. Blasko’s discovery is unique because it is the very first version of Bitcoin presented in an untampered way and it contains all of Satoshi’s personal notations in the early codebase. Blasko said that he was aware that there are existing versions of Bitcoin version 0.1’s codebase on Github, however, he believes it’s “the cleanest original version of Bitcoin.”
In the codebase, Nakamoto explains things like why base-58 was chosen instead of standard base-64 encoding, and other notations like things the inventor planned “to do” later in the future. There’s also a great description of the original Bitcoin operations codes (opcodes) and what each one does. Opcodes such as OP_CHECKSIG, OP_CHECKSIGVERIFY, OP_CHECKMULTISIG, and OP_CHECKMULTISIGVERIFY.