An early version of Satoshi Nakamoto’s source code leaked: Blockchain was originally called Timechain, and Bitcoin has a built-in virtual poker game

An early version of Satoshi Nakamoto’s source code leaked: Blockchain was originally called Timechain, and Bitcoin has a built-in virtual poker game

This week, an early version of the Bitcoin source code surfaced, immediately causing heated discussions in the cryptocurrency community. According to old posts and mailing lists previously posted by "Satoshi Nakamoto" on the forum, before the Bitcoin network was officially launched on January 3, 2009, he had distributed a private version of the Bitcoin source code to some people.

Pre-release Bitcoin, and an abandoned genesis block with a completely different hashing algorithm

Since March 13, the cryptocurrency community has been discussing Satoshi Nakamoto’s original Bitcoin source code, and it has been discovered that Satoshi Nakamoto may have distributed a private version of the Bitcoin source code to others before the official release of the Bitcoin blockchain.

The cause of this incident was that Francis Pouliot, a well-known Bitcoin supporter, shared a very old version of the "Satoshi Nakamoto" source code. He also showed a letter written by "Satoshi Nakamoto", which detailed that he sent some "main files" to a person named James A. Donald.

In this letter to James A. Donald dated November 17, 2008, Satoshi Nakamoto wrote:

“What I mean is that a node only needs the pending-tx pool to get the best branch it has, which is the best branch it can think of at the moment, which will consist of blocks, and is what the pending-tx pool needs. I think I have the peer-to-peer broadcast mechanism covered, where each node sends an inventory list of transactions and the hash of the new block to its neighbors. The neighbors send requests for items they don't have yet, and if the timeout item never comes through, they send another request to other neighbors that have it. Since all or most neighbors should have every item, even if the items are messed up by one block, they can get them from other blocks, but they can only try one block at a time.

The inventory request data scheme introduces a small amount of latency, but request speeds are ultimately improved because the extra data chunks are kept out of the transmission queue, also saving bandwidth.

I have been working on all of these details and writing code for the past year and a half, but there is still a lot of work to do. The whitepaper is not yet in feature detail, but the source code is coming soon, and I sent you some of the main files (currently available upon request, the full version will be released later)"

There are also some interesting discoveries in the source code distributed to Bitcointalk.org member "Cryddit" that are believed to be the earliest versions of the Bitcoin code. For example, the term "Bitcoin miner" appears in the version of the Bitcoin code received by "Cryddit", which seems to be the first time that Satoshi Nakamoto described these network participants as "miners". Interestingly, the term "miner" is not used in the official Bitcoin white paper - they are called "nodes" throughout the article. In addition, according to the source code sent by "Satoshi Nakamoto" to "Cryddit", the word blockchain was originally called "timechain".

According to a screenshot by Bitcointalk.org user Deepceleron on January 3, 2009 (the same day as the Bitcoin Genesis block), there is an unpublished blockchain and three other connections at block 213, as follows:

The source code of an early version of Bitcoin explains it this way:

“The time chain is a tree structure, starting with the genesis block at the root. Each block may have multiple candidate blocks to become their next block. Pprev and pnext are connected to a path through the main chain/longest chain. The block index may have multiple pprev pointing to it, but pnext only points to the longest branch. Or, if the block is not part of the longest chain, the block index may be empty (null).”

This early version of the source code also mentions:

“Nodes collect new transactions into blocks, hash them into a hash tree, and scan the nonce so that the block’s hash satisfies the proof of work. Once the nodes have solved the proof of work, they broadcast the block to everyone and add it to the time chain. The first transaction in the block is a special transaction that creates a new token owned by the creator of the block.”

(Editor's note: nonce is the abbreviation of Number used once or Number once. In cryptography, Nonce is an arbitrary or non-repeating random value that is used only once. It plays an important role in the initialization vector and cryptographic hash function in encryption technology. It ensures that the verification information is not reused in the communication applications of various authentication protocols to combat replay attacks.)

Another interesting discovery in the early Bitcoin code is that Satoshi Nakamoto originally named two smaller units of Bitcoin, namely "coin" (1,000,000) and "cent" (10,000), instead of the "satoshi" used today. In addition, the early Bitcoin code also mentioned a rating system and talked about issues such as "atoms" and "user reviews."

Below: The smallest unit of Bitcoin was not originally called "satoshi", but "coin" or "cent"

According to Mike Hearn, an early Bitcoin developer, Satoshi Nakamoto originally intended to integrate a peer-to-peer (P2P) platform into the Bitcoin protocol, but he did not complete the relevant code writing work, so the idea was shelved. Mike Hearn also revealed that there is an abandoned genesis block in Bitcoin, and it has a completely different hash algorithm. If this abandoned genesis block was used for testing, then it may have been born on September 10, 2008.

Above: From this part of the code, it seems that Satoshi Nakamoto may want to launch a P2P platform similar to Openbazaar, and this idea has been written into the Bitcoin protocol. However, after the Bitcoin network was released, the idea of ​​building this platform was abandoned.

Internet Relay Chat client, P2P platform and a virtual poker game

In addition to early versions before the release on January 3, 2009, the source code of Bitcoin version 0.1.0 also contains some very interesting details. For example, the original Bitcoin software included an Internet Relay Chat (IRC) client, which was designed to create a simpler way to guide message delivery. In addition, in the original library of the Bitcoin 0.1.0 code version, it was found that it contained a framework for creating a virtual poker game, which was added to Bitcoin on April 16, 2008.

However, right after the Bitcoin network was officially released, many of the previous ideas, including the P2P platform and virtual poker game, were not realized. And the idea of ​​an Internet Relay Chat client, although updated for several versions, was completely deleted after Bitcoin version 0.8.2.

As can be seen from the code in the figure below, Bitcoin once had a built-in virtual poker game that was not developed.

To this day, no one knows why Satoshi Nakamoto used those Bitcoin terms, nor does he know what his specific definitions of these terms were, or why he abandoned the P2P platform and the built-in poker game application. Satoshi Nakamoto maintained the Bitcoin code until version 0.3.19, but mysteriously left in 2010 and handed over the work to Gavin Andresen.

But at least, the early version of the Bitcoin source code mentioned in this article allows us to learn more about the mysterious creator of Bitcoin.

<<:  Bitcoin mining is no longer affordable? This miner says solar energy reduces costs by 75%

>>:  3.15 Heavy Exposure - List of the Top 100 MLM Coins in the Second Half of 2018

Recommend

Will Filecoin ride the wind and waves, or drift away?

The following article is from Erwenshuo, author J...

Head and Face View in Physiognomy

Head and Face View in Physiognomy In ancient time...

Is there a birthmark behind the ear?

Our moles have specific meanings wherever they gr...

A woman's fortune in life can be seen from her face

Everyone hopes to live a rich and prosperous life...

Look at the fingerprint: thumbprint to see your life luck

Look at the fingerprint: thumbprint to see your l...

Where will the mole grow make you lose money?

We all have a few moles on our body, but each mol...

A man who can easily get along with people around him

Most men are more serious, so they are not so eas...

Twitter accepts Musk's acquisition proposal, Dogecoin surges more than 20%

On April 26, after the news that Twitter accepted...

Coin Zone Trends: Bitcoin Price Trends Based on Big Data This Week (2016-04-27)

1. Price Trends Bitcoin : The current price is st...

Physiognomy: Disgusting looks evil

Physiognomy: Disgusting looks evil First of all, ...