Bitcoin, Ethereum and Components of a Blockchain.

lumungelumunge
6 min read

Ethereum is 'the world computer' in that, it is a deterministic and practically unbounded state machine that consists of a global state and a virtual machine that applies changes to the global state. In other words, it is a globally decentralized computing infrastructure that runs smart contracts. It uses blockchain technology to store the systems' state changes. It also stores ether which is its native cryptocurrency to meter execution resources costs. Constraining the use of system resources keeps the system secure.

Unlike Bitcoin which can only be used for the storage and exchange of value, Ethereum allows developers to develop decentralized applications(Dapps) with built-in economic functions. At the same time, it is faster, transparent, neutral, and highly available. Just like other decentralized systems, it eliminates or at least reduces censorship and counterparty risk.

Ethereum inherits some features of Bitcoin such as peer-to-peer networking which is a networking system whereby participants connect to each other directly without the need for a central server. In a peer-to-peer network, all participants are equal. It also inherited a fault-tolerant consensus algorithm that is used to synchronize the state. It is referred to as the Proof of Work(PoW) consensus mechanism. It uses cryptography and hashing algorithms to secure the blockchain from malicious activities.

Ether is Ethereum's native digital currency that is required for all operations on the blockchain. It is used to pay for all activities on the Ethereum blockchain. What this means is that every action on the blockchain is intentional and meaningful because the initiator has to pay a fee.

In the Bitcoin articles, we learned about the Bitcoin Script which is a stack-based scripting language that is embedded in all Bitcoin transactions. We learned its limitations and why it is the way it is. On the other hand, Ethereum uses a general-purpose programming language that runs a virtual machine that is capable of executing code of arbitrary and unbounded complexity. While Bitcoin's Script programming language is turing-incomplete, Ethereum's programming language is Turing complete meaning it functions just like normal programming languages such as Java, C++, or Python among others.

Differences between Ethereum and Bitcoin.

Both are open blockchains powered by the principle of distributed ledgers and the use of mathematical algorithms and cryptography, however, some differences exist between the two. In this section, we learn about the major differences between the two blockchain implementations.

  • First, transactions on Ethereum can contain code in the form of a smart contract, on the other hand, Bitcoin transactions don't contain any code but rather are simply used to exchange value between participants.
  • Ethereum is a faster network compared to Bitcoin. While the former confirms transactions in seconds, a Bitcoin transaction may take minutes or hours depending on the network traffic at the time.
  • Both networks use the PoW(Proof of Work) consensus mechanism however at the writing of this article, Ethereum is slowly shifting towards a Proof of Stake(PoS) consensus mechanism that allows it to scale. A PoS consensus mechanism is also sustainable compared to the PoW mechanism.
  • Bitcoin was created to replace fiat currencies and be used as a store of value. Ethereum on the other hand facilitates immutable programmatic contracts and applications using its native currency - Ether.
  • While Bitcoin is digital gold because of its limited supply and large market capitalization, Ethereum is digital silver in that unlike gold, it has a wide variety of uses such as Defi, and NFTs, among others.
  • While it takes 10 minutes for a Bitcoin block to be mined, it only takes 15 seconds for an Ethereum block to be mined.
  • A Bitcoin wallet is the only interface to interact with the Bitcoin blockchain. Ethereum has user accounts that are used as interfaces to interact with the blockchain.

Components of a Blockchain.

Blockchains can be public, private, hybrid, or consortium. despite the differences between these blockchains all have similar components, These include;

  • Peer-to-Peer Networking - this is a network that directly connects participants of the blockchain without the need for a central server. For a blockchain to be decentralized, this is very important. Decentralization can vary, for example, public blockchains are fully decentralized since anyone can join and leave the network, however on private blockchains, we may have a peer-to-peer network that is owned and controlled by a single entity.
  • Consensus Mechanism - a blockchain should have a consensus mechanism. This is a fault-tolerant mechanism used in a blockchain to achieve agreement on a single data value or state among nodes in a blockchain network. Consensus mechanisms include Proof of Work, Proof of Stake, Proof of Capacity, and Proof of Elapsed Time among others. Consensus algorithms decentralize control over the blockchains. Participants cooperate to enforce the rules of the blockchain.
  • Consensus Rules - when all nodes on the blockchain network abide by these rules, they always produce the same result. These rules govern how to process and validate transactions. They also define what a valid transaction looks like.
  • Messages - a blockchain is an internet of transactions. In a blockchain, messages constitute transactions that represent state transactions.
  • State machine - This is whereby a machine can have multiple states but a single one at any specific time. A state is the current state of the system, and transactions on the blockchain trigger a transition in the state.
  • A Chain - the name blockchains say it all, it is simply a chain of blocks. Blocks are secured using cryptography and hashing. Once something is recorded on the blockchain, it can never be changed. These secured blocks are linked together to form an immutable database that is distributed to all nodes via the peer-to-peer network.
  • Incentives - a blockchain is decentralized meaning that there is no central authority to pay the participants. All blockchains have a way to pay their participants based on their contributions be it contributing their disk spaces to host the blockchain, holding native cryptocurrency for long periods of time, or actively participating in the blockchain among other activities. Incentivization economically secures the state machine in an open system such as a blockchain.
  • Open-source software - for a blockchain to establish trust, the code is open sourced and anyone can download or audit it.

All the above components are combined and translated into code that is then installed by all blockchain participants as clients. In the Bitcoin network, the reference implementation is developed by Bitcoin core open source project and implemented as bitcoind client. In Ethereum, we have a reference specification which is a mathematical description of the system. Clients are designed using this reference specification.

Not all systems are blockchains, some are just client-server systems masquerading as blockchain systems. For a blockchain to be considered a blockchain, we need to understand it using qualifiers such as openness, public, global, censorship-resistance, decentralization, and neutrality among others. We first try to understand the system using the above-listed components then check whether its characteristics match the above.

Summary.

Ethereum is 'the world computer' in that, it is a deterministic and practically unbounded state machine that consists of a global state and a virtual machine that applies changes to the global state. Ethereum allows developers to develop decentralized applications(Dapps) with built-in economic functions. While Bitcoin is digital gold because of its limited supply and large market capitalization, Ethereum is digital silver in that unlike gold, it has a wide variety of uses such as Defi, and NFTs, among others.

References.

Ethereum World Computer

Differences between Ethereum and Bitcoin

0
Subscribe to my newsletter

Read articles from lumunge directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

lumunge
lumunge