Origins, purposes, consensus algorithms, programming languages, and smart contracts. Bitcoin and Ethereum, parallel universes compared.
Origins and history
Bitcoin was born from an anonymous developer, known as Satoshi Nakamoto, who unveiled its white paper on October 31, 2008. The protocol became operational on January 3, 2009, but its roots trace back three decades.
Various studies, payment systems, and technologies influenced the birth of the Bitcoin protocol. The introduction of asymmetric cryptography and elliptic curve cryptography in the ’70s and ’80s, attempts at creating digital currencies like Digicash, e-gold, BitGold, B-Money, and the predecessors of what we now know as Proof-of-Work: HashCash and Reusable Proofs of Work (RPOW). All these pieces are part of the puzzle that Satoshi Nakamoto successfully assembled in 2009.
Since then, the protocol has been maintained by thousands of developers and voluntary contributors worldwide.
Ethereum, on the other hand, emerged in 2014 through an Initial Coin Offering (ICO) promoted by a developer team. The team, consisting of Vitalik Buterin, Gavin Wood, Charles Hoskinson, Anthony Di Iorio, Jeffrey Wilcke, Mihai Alisie, and Joseph Lubin, used a novel fundraising model.
Ethereum’s ICO began on July 22 and lasted 42 days, ending on September 2, 2014. Initially, ICO participants could acquire 2,000 ETH for 1 BTC.
Today, the Ethereum Foundation, a Swiss organization comprising Vitalik Buterin, Joseph Lubin, ConsenSys CEO, and Aya Miyaguchi, a World Economic Forum member, is the main driver of the project. Notably, ConsenSys, a leading Ethereum-related software development company, which aims to make it easy to develop applications on Ethereum and access the Web3 ecosystem, plays a crucial role, owning MetaMask, a popular crypto wallet facilitating access to dApps, and Infura, an infrastructure-as-a-service simplifying access to crypto and Web3 platforms.
Aims and visions
Bitcoin’s primary goal, evident since its inception, is to be a transferable digital currency without intermediaries, akin to digital cash.
Inspired by the scarcity concept of gold, Bitcoin is capped at 21 million units.
Its ability to be transferred almost instantly worldwide and the neutrality of the network make Bitcoin a potential effective international settlement layer in the future, taking on the traditional role played by gold as a store of value throughout history.
Ethereum, in contrast, aims to create a global and decentralized computer for developing and executing smart contracts and decentralized applications (dApps).
Unlike Bitcoin, there is no maximum limit to the available ether (the native token) on the Ethereum protocol. Ether is viewed as the gas to power this global computer.
Consensus algorithms
Bitcoin’s consensus algorithm is known as Proof of Work (POW), the foundation for creating new bitcoins.
Participants must demonstrate work, investing in technological and energy resources to earn rewards by writing blocks to the blockchain. Bitcoin mining is a highly energy-intensive process.
So far, Proof of Work has proven to be the best consensus algorithm in terms of security and decentralisation.
Ethereum also initially used Proof of Work until September 2022, when the team transitioned to Proof of Stake (POS). This does not consist of a “proof of work“, but POS involves a capital allocation (“stake“) in the relevant currency, with the chance of finding a new block determined by a lottery where those with more locked funds have higher winning probabilities, potentially leading to long-term centralization.
Programming languages
The programming languages used in the two protocols play a crucial role in defining their functionalities, uses, and the overall ecosystem.
Bitcoin employs a deliberately simple, non-Turing-complete scripting language designed for a specific set of operations. The scripting language of Bitcoin is primarily used to create conditions under which transactions can be spent. Although it allows for the implementation of smart contracts, its functionalities are intentionally limited to ensure security and prevent potential vulnerabilities.
The simplicity of Bitcoin’s scripting language is a design choice that prioritizes security and robustness over flexibility. In practice, it allows for basic scripting operations, such as multi-sig wallets and time-locked transactions, but intentionally avoids the complexity associated with Turing completeness.
In contrast, Ethereum embraces a Turing-complete programming language, enabling developers to create a wide range of decentralized applications (dApps) and smart contracts. Ethereum’s programming language, Solidity, provides the flexibility of a Turing-complete system, allowing developers to implement complex logic and calculations within smart contracts.
Opposing approaches
Ethereum’s Turing completeness opens the door to a myriad of possibilities, including decentralized exchanges and lending platforms. Developers can create sophisticated decentralized applications that go beyond the transactional nature of Bitcoin. However, this flexibility introduces challenges, as complex smart contracts may have potential vulnerabilities if not adequately audited and protected.
The fundamental difference lies in the trade-off between security and flexibility. Bitcoin’s simplicity ensures a safer environment by reducing the attack surface and potential risks associated with smart contracts. On the other hand, Ethereum’s Turing completeness allows for a broader range of applications, but it requires developers to be cautious in addressing security-related issues.
Although often thought to lack smart contracts, Bitcoin can execute them, albeit more limited compared to Ethereum. A classic example of a smart contract in Bitcoin is the Lightning Network, the second most important layer of the Bitcoin network. By transacting to a multi-sig address, users can open Lightning Network channels and initiate off-chain bitcoin transfers.