The Networked Ledger

The evolution of blockchain software from Bitcoin to Ethereum

On October 31st, 2008, a person, or group of people depending on who you ask, named Satoshi Nakamoto released the email titled, “Bitcoin P2P e-cash paper.”

I’ve been working on a new electronic cash system that’s fully peer-to-peer, with no trusted third party. — Satoshi Nakamoto

Here, Nakamoto details why autonomous digital currencies haven’t emerged in an age where the internet was widely available — double-spending. Double-spending is when a transaction is sent twice, allowing someone to send an amount greater than their balance. If someone double spends their full balance to another account they own, they could double their money, creating money from nothing, inflating a currency, and undermining that financial system.

Double-spending is a problem unique to digital currencies. Paper and coins can’t be cloned freely, and especially not in person at the moment of a transaction. But in a computer, files can be copied, and inputs can be duplicated. So, up until 2008, online transactions had to pass through a third party to prevent double-spending, which meant each online transaction had a single point of failure. If that third party were to be hacked, the hacker creates for himself money from nothing.

Excerpt from Satoshi Nakomoto’s Bitcoin white-paper

In the email sent that October, Nakamoto writes, “We propose a solution to the double-spending problem using a peer-to-peer network.” Transfers of digital currency would be verified by a distributed and decentralized network of multiple computers, doing so as volunteers who receive payments in and inflation for their service. This solution was previewed in the email and then detailed in a white-paper linked inside for a software called Bitcoin.

Over the next month and a half, Satoshi talked back and forth with his mailing list, answering concerns about the proposed infrastructure of Bitcoin.

Ray Dillinger: [T]he “currency” is inflationary at about 35% as that’s how much faster computers get annually … the inflation rate of 35% is almost guaranteed by the technology. Satoshi Nakamoto: As computers get faster and the total computing power applied to creating bitcoins increases, the increases proportionally to keep the total new production constant. Thus, it is known in advance how many new bitcoins will be created every year in the future. […] If the supply of money increases at the same rate that the number of people using it increases, prices remain stable. If it does not increase as fast as demand, there will be deflation and early holders of money will see its value increase.

January 8th, 2009, after the first week of the new year, ~70 days from the release of the White-paper in that original email, Bitcoin version 0.1 released.

Windows only for now. Open source C++ code is included.

- Unpack the files into a directory

- Run BITCOIN.EXE

- It automatically connects to other nodes — Satoshi Nakamoto

Nakamoto kept pushing updates to Bitcoin including new features and bug-fixes. And in 2010, the first Bitcoin exchange opened. Opening price set to $0.003.

Snapshot of Bitcoins historical price from 2013 to the start of 2020, from Coin Market Cap.

Today, Bitcoin sells for over $6,000, 10 years later, making it the major asset of the decade. Operating online publicly around the world, Bitcoin has stood the test of time as being an online financial system with an infrastructure yet to be compromised. What it took was inventing a new form of database to keep records and make updates with each transaction online.

While the database was a technology invented before the internet, the database technology behind Bitcoin was created from the ground up to include online connectivity as a core consideration for all parts of its infrastructure. When a transaction is made, this transaction is broadcast to all Bitcoin nodes on the network, and verified by all these nodes in a process called “mining.” As transactions are pushed to the network and distributed Bitcoin nodes stamp their verification, these transactions are organized into a block. Each block represents a period in time. And each block references the previous block, forming a history of all transactions in a chain of blocks. The tech industry originally termed this networked ledger a blockchain. The inspiration for this tech?

Looking at Bitcoin, and the references mentioned at the end of the Bitcoin Whitepaper, Bitcoin as innovation becomes demystified. From one perspective, there was no Satoshi vision, as Bitcoin was an implementation of the vision of Wei Dai, Nick Szabo, and other cryptographers before Satoshi Nakamoto created Bitcoin.

From b-money, “The creation of money. Anyone can create money by broadcasting the solution to a previously unsolved computational problem.” The process of creating money by broadcasting a solution to a computational problem is the Proof of Work model that Bitcoin miners use to run the Bitcoin network.

From Bitgold, “Alice on her computer generates the proof of work string from the challenge bits using a benchmark function. The proof of work is securely timestamped. This should work in a distributed fashion, with several different timestamp services so that no particular timestamp service need be substantially relied on.” Nick Szabo introduced the term “proof of work” to currency, a term which was coined before Bitgold, but after b-money.

Wei’s b-money, which would be implemented with Bitcoin, was published in 1998. However, before b-money, before Bitgold, Nick Szabo had been writing papers fleshing out the idea of smart contracts.

The smart contract, as Szabo puts it, allows the creation of binding agreements enforced by code. These contracts are embedded in software and hardware we interact with daily. The enforcement of a smart contract may be a transfer of value from one party to another, becoming ideal for use in digital currencies. One simple example Szabo uses to describe these digital contracts are vending machines.

The vending machine is a contract with bearer: anybody with coins can participate in an exchange with the vendor. The lockbox and other security mechanisms protect the stored coins and contents from attackers, sufficiently to allow profitable deployment of vending machines in a wide variety of areas. — Nick Szabo

And while smart contracts have been talked about in the Bitcoin developer community, no digital currency implementing a native smart contract platform had been created. That is, until a writer and developer known Vitalik Buterin, on a cold November day in San Fransisco, wrote the Ethereum Whitepaper.

Image by Peter Patel from Pixabay

Vitalik proposed extending the Bitcoin blockchain to open to third-party developers. Ethereum, at the time, was called “cryptocurrency 2.0.” The vision was to create a platform that would become Web 3.0, allowing people to explore both the traditional web and the new decentralized web. A new category of applications would be created, decentralized apps (dApps), which use Ethereum as its global operating system.

Like the BitTorrent content sharing system, Ethereum network nodes will run on thousands of computers around the world and, short of shutting down the Internet, its operations cannot be halted. — Joseph Lubin

While Bitcoin served as a central bank of the internet, a protocol built for storing and transferring value, Ethereum served as the internet for a new digital economy, a protocol built for creating decentralized applications built on a programmable layer on top of digital currency.

Ethereum creates an entire subsection of software and the internet founded on digital value, instead of just information. Where previous iterations of the web dealt with the sharing of information, Ethereum’s Web 3.0 deals with intelligent financial transactions. Ethereum creates a finance-based internet.

Today, Ethereum is the world’s leading smart contract platform, being the world’s leading programmable network ledger. Through Ethereum, developers don’t need to build a blockchain to use blockchain technology.

And Ethereum hasn’t reached finality yet. Its development as the evolution of what blockchain will become is undergoing. Over the coming years, Ethereum plans to transition into what it currently calls Ethereum 2.0 (Eth2.0).

Plans for Eth2.0, divided by phase, include the following:

Phase 0. Proof of Stake as how the network operates

Phase 1. Introducing sharding to the network

Phase 2. Smart contracts infrastructure with the Ethereum 2 Virtual Machine

Phase 3. Updated light clients with markets created for storage

Phase 4. Cross-shard transactions

Phase 5. Fork-free internally with tightly coupled shard infrastructure

Phase 6. Updated sharding spec, with shards in shards recursively

And after Phase 6, Ethereum 3.0.

When Phase 0 launches this year, Ethereum users will notice the following:

First, there will be two Ethereum chains. Ethereum itself is being rebuilt from the ground up, introducing significant changes from even the base protocol. The rollout of Eth2.0 will release in phases. And until the final phase is released, Eth1.x will still exist fully featured. Once Eth2.0 matures, the first Ethereum chain, Eth1.x, will be phased out.

Second, Ethereum 2 will start without smart contracts. Phase 0 of Ethereum 2 will exist only as a digital currency, with no smart contract functionality. Smart contracts will be reintroduced in Phase 2.

Third, when users look at Etherscan, they’ll see the latest slots, rather than the latest blocks. Slots are a result of the change to Proof of Stake.

Currently, Ethereum works very similar to Bitcoin. Transactions are confirmed through the network agreeing a user is sending funds they own by using computing power, also known as mining. Mining by computing power consumes large amounts of energy collectively, leaving a significant carbon blueprint. Additionally, the hardware used to mine becomes outdated and loses worth, as has been with ASIC equipment. With Proof of Stake, the hardware required to validate using proof of work may be that of a laptop, bringing potential large reductions to the carbon footprint of transaction validation, and eliminate the financial risk associated with hardware purchases for mining.

With Eth2, network agreement will be done with an economic algorithm, rather than by computing power. A network validator deposits ETH, which can be taken away if they are discovered to be a malicious validator. For the validators running the network, interest in ETH is generated and returned to them.

New blocks are proposed by block proposers. A block proposer is a validator chosen to propose a block at that time, meaning validators take turns being the block proposer. The remaining validators check if the proposed block is valid, sending attestations, or proof/evidence, that a proposed block is valid or invalid. If a proposed block is voted as invalid by the rest of the validators, that block isn’t recorded, and the slot is skipped, omitted from the chain.

Currently, Ethereum 1.x produces a block every 15±5 seconds, not considering the difficulty bomb. Every 15 seconds, a block will always be produced, roughly. In Eth2, a slot is a time where a new block can be produced. Which means, there could be slots without new blocks.

The following phases are the introduction of shards. Sharding is a database concept. It’s the separation of a database into multiple partitions or the dividing data out to multiple locations. Sharding represents the majority of changes introduced in Ethereum 2.0 as it matures.

With all these changes, what does remain is blockchain, a ledger of transactions validated and stored through a network. A blockchain is a networked ledger. The origins of network ledgers were the combination of two existing technologies: the database, and peer-to-peer applications. The combination of these two things has created what is today a store of value and an economy of over $200 billion. A decade of existing, and this technology still has room to grow, appearing to be in its infancy. As time evolves, improvements are made to those pieces as they operate when together: how peers come to decisions, and how data is stored.