Pre-release Bitcoin source code reveals the early works by the creators of Bitcoin
In a recent article on news.bitcoin, discussions on an earlier version of Bitcoin on a private network surfaced. A very old version of Satoshi’s source code and letter was shared by Francis Pouliot, CEO and co-founder of Bull Bitcoin, on Twitter:
Accidentally discovered a mind-blowing artefact of Bitcoin history. I had heard rumors of its existence. I give you: the pre-release source code of Bitcoin!
The letter from the creator details the “main files” he sent to James A. Donald. But what was most fascinating was a code snippet shared on the bitcointalk forum.
The codes is an early version of Bitcoin's code, highlighting wallet creation, transaction hashes, blocks as well as the 'timechain' aka blockchain:
// The timechain is a tree shaped structure starting with the
// genesis block at the root, with each block potentially having multiple
// candidates to be the next block. pprev and pnext link a path through the
// main/longest chain. A blockindex may have multiple pprev pointing back
// to it, but pnext will only point forward to the longest branch, or will
// be null if the block is not part of the longest chain.
The timechain, an original term for the blockchain, is described as a hash tree with proof-of-work protocol as requirements for the success of a transaction.
The source code was posted by forum user "Cryddit' , who was on the Metzdowd cryptography list when "Satoshi posted asking for professional crypto geeks to review his project."
In another original email from Metzdowd, titled: "Bitcoin P2P e-cash paper" shows the exchange between James A. Donald and Satoshi:
James A. Donald wrote:
You have an outline and proposal for such a design, which is a big step forward, but the devil is in the little details.
I believe I've worked through all those little details over the
last year and a half while coding it, and there were a lot of them.
The functional details are not covered in the paper, but the
sourcecode is coming soon. I sent you the main files.
(available by request at the moment, full release soon)
Bitcoin's smaller unit was never 'Satoshi', but 'coin' and 'cent':
static const unsigned int MAX_SIZE = 0x02000000;
static const int64 COIN = 1000000;
static const int64 CENT = 10000;
static const int64 TRANSACTIONFEE = 1 * CENT;
/// change this to a user options setting, optional fee can be zero
///static const unsigned int MINPROOFOFWORK = 40; /// need to decide the right difficulty to start with static const unsigned int MINPROOFOFWORK = 20; /// ridiculously easy for testing
The small glimpse into Bitcoin's history can hardly describe its impact today on the global financial markets and related industries.