BitCoin, Ethereum, Smart Contracts, Proof-of-Stake, Cardano, IOTA, ERC20 Tokens, Casper and Solidity.
The BlockChain technology is a creative technique that uses hash functions and principles of distributed computing, to create a tamper-proof distributed ledger system.
Such a trusted distributed ledger system, that is impervious to malicious tampering, has several real world use-cases; with applications ranging from supply-chain management, wire transfers, odometer readings; to electronic voting, bank transactions, and in short any real world scenarios that require some form of “trust management”.
For more on understanding the Blockchain technology read my article “BlockChain Demystified: Looking Under the hood of the BlockChain” .
In this article we will examine the Blockchain landscape and crypto currency platforms, including Ethereum, Casper, Cardano & IOTA.
We will examine how Blockchain and cryptocurrency technology continue to evolve in 2018.
Bitcoin is a digital cryptocurrency built on the principles of BlockChain.
While Bitcoin introduced the world to cryptocurrency, it really showed a real world application of the blockchain technology.
Mining for the cryptocurrency requires using high amounts of computation power to generate Proof-of-Work. In essence the mined “cryptocurrency” is merely an incentive mechanism to propagate the creation of “seals” for new Blocks in the Bitcoin BlockChain.
Few facts on Bitcoin as of 2018
- Bitcoin was invented by an unknown person or group of people using the name Satoshi Nakamoto and released as open-source software in 2009.
- As of July 2008 Bitcoin is the largest market capitalization in cryptocurrency, with Ethereum (Ether) a close second.
- The current size of the Bitcoin Blockchain as of March 2018 is 163GB. So each node that has a full copy of the bitcoin blockchain stores the 163 GB data.
- Every Block on the Bitcoin blockchain is limited to 1MB in size.
- Bitcoin is similar to “gold” (and is often referred to as “digital gold”), in that there is a finite supply of bitcoins, and they get progressively harder to mine.
- BitCoin is considered as the first generation of Cryptocurrency.
- On 1 August 2017, a hard fork of bitcoin was created (Forked at block 478558), known as Bitcoin Cash. Bitcoin Cash has a larger block size limit and had an identical blockchain at the time of fork.
- On 24 October 2017 another hard fork, Bitcoin Gold, was created (Forked at block 491407). Bitcoin Gold changes the proof-of-work algorithm used in mining
The inherent limitation of Bitcoin
The major inherent limitation of the bitcoin implementation, and consequently the reason it is not suited as an every day curency is, scalability.
- In order for Bitcoin to be used as a real world currency, it would have to process and record thousands of transactions per second. However currently it takes 10 minutes to generate a new Block in the Bitcoin Blockchain and every block has a size limitation of 1MB.
- Also, if the Bitcoin blockchain would process thousand transaction per second, it would require all the nodes on the Blockchain to have high network bandwidth to be able to keep up with all the new records in the local copy of their blockchain.
So it is not government, legislative or regulatory hurdles, but the inherent scalability issue which is the major reason why Bitcoin cannot, in its current implementation, be used as mainstream currency exchange.
Ethereum is considered the second generation in cryptocurrency, and is a combination of Blockchain and an EVM (Ethereum Virtual Machine), that allows for the execution of Smart Contracts. Ethereum uses Proof-of-Stake in the mining of some of its blocks, and the Ethereum network upgrade to use Proof-of-Stake is called Casper.
Few facts on Ethereum as of 2018
- Ethereum was proposed in late 2013 by Vitalik Buterin, and the Ethereum system went live on 30 July 2015, with 11.9 million coins “premined” for the crowdsale.
- Ether is a fundamental cryptocurrency for operation of Ethereum. The value of the Ethereum currency grew over 13,000 percent in 2017.
- In 2016 Ethereum was split into two separate blockchains — the new separate version became Ethereum (ETH), and the original continued as Ethereum Classic (ETC).
- Ethereum introduced the concept of “smart contracts”, which are computer programs that are stored on the blockchain. The Ethereum Virtual Machine (EVM) is the runtime environment for smart contracts in Ethereum. Every Ethereum node in the network runs an EVM implementation and executes the same instructions.
- Smart contracts are high-level programming abstractions that are compiled down to EVM bytecode and deployed to the Ethereum blockchain for execution. Smart contracts require “Gas” credits to be executed on the Ethereum network, which can be purchased using Ether (the underlying currency on Ethereum).
Smart Contracts are computer programs that are written in “Turing complete” programming language (i.e. a full programming language), and reside on the blockchain. These contracts can be programmed to execute when certain criteria are met on the blockchain.
Since the smart contracts are computer programs that are stored on the blockchain itself, they are impervious to tampering just like data on the block chain. The smart contract program code can be review by any member of the blockchain, and cannot be altered once it is logged in the blockchain (thereby preventing anyone from maliciously altering the program in their favor).
There are many applications of smart contracts, the most popular of which are crowdfunding applications, where smart contracts are used for ICOs (Initial Coin Offerings). Thus for example, smart contracts can be programmed to crowdsource monetary resources, and can be programmed to automatically execute and release the monies to the parties when the funding threshold is reached.
Proof-of-Stake(PoS) is an alternative mechanism where by, instead of every member(node) of the blockchain competing against each other and thereby using vast amounts of computation power (i.e. electricity and resources) to compute the Proof-of-Work; the network randomly selects only certain members(nodes) to compute the PoW for the next block, and only that node is authorized to compute the next block on the blockchain.
The selection of the node is made based on the “stake” that the node has, which is based on the “deposit” of cryptocurrency that the node as made to a centralized “treasury wallet”. A higher “stake” increases the chances of a node being selected as the next node to mine the next block.
Ethereum is slated to move away from Proof-of-Work toward Proof-of-Stake in the coming months, and this network upgrade is known as Casper.
More on Casper here:
First impressions of Ethereum’s Casper — Proof of Stake (PoS)
Smart Contracts on Ethereum can be programmed to issue tokens. These tokens can be used as a surrogate for transaction currency and could represent derivative cryptocurrencies (ICOs), shares of a stock, IoUs, or even favors. Tokens are derivatives from the underlying cryptocurrency of Ethereum, i.e. Ether.
ERC20 is a standardized format in which to write smart contracts that generate standardized token contracts.
The ERC20 standard has three optional and six mandatory interfaces that must be implemented in the contracts. These include,
- totalSupply : determines the totalSupply of the underlying derivative (token).
- balanceOf : provides the token Balance information of an address.
- transfer: transfers tokens from the totalSupply to an account
- transferFrom: transfers tokens from one account to another
- approve: checks if there are enough tokens in the totalSuppy to transfer to an account.
- allowance: checks if the balanceOf of a user account is enough to transfer tokens to another account.
- name (optional): Name of the token or Coins in the ICO
- symbol (optional): token symbol
- decimals (optional): how divisible is a token
ERC223 is a proposed format update for ERC20.
More on ERC20 Tokens here: Understanding ERC-20 token contracts
ERC20 token contracts can be written in the programming language “Solidity”.
Here is a resource that provides more information on how to use smart contracts to generate tokens to create your own cryptocurrency on the Ethereum network:
Create your own CRYPTO-CURRENCY with Ethereum
Cardano and IOTA
Cardano and IOTA , currently in development are slated as the third generation in cryptocurrency, and they attempt to solve the scalability issues that plague blockchain cryptocurrency, and are aimed at providing cryptocurrencies and blockchain with the necessary features such that it may be used as currency for every-day transactions.
Few facts on Cardano and IOTA as of 2018
- Cardano is a new cryptocurrency platform launched in Sept 2017
- IOTA Coin beta launched in May 2017, and is an open-source cryptocurrency focused on providing secure communications and payments between machines on the Internet of Things.
- As of December 2017, the market capitalization of IOTA was $13 billion, making it the 4th largest cryptocurrency in circulation.
The IOTA Tangle vs the Blockchain
IOTA uses the concept of DAG (Directed Acyclic Graph) instead of traditional linear blockchain, to address the scalability issue in existing blockchain technology.
A DAG also known as the IOTA tangle, consists of nodes and directed connections(edges) between the nodes, such that it creates a network instead of a linear blockchain. Every new node in the IOTA tangle has to verify at least two existing nodes to connect to the Tangle.
Thus, Tangle is a new data structure based on the Direct Acyclic Graph and does not need miners and data block.
More on Tangle here:
- IOTA’s Tangle — Simply Explained
Blockchains and Sidechains
Sidechains are a mechanism for interoperability between different blockchains. The two different blockchains are connected via a two-way peg that determines the “exchange rate” between the two blockchains.
Sidechains are emerging mechanisms that allow tokens and other digital assets from one blockchain to be securely used in a separate blockchain and then be moved back to the original blockchain if needed.
More on Sidechains here: What are Sidechains?
Blockchain has spawned several new and innovative technology on its underlying infrastructure, the most exciting of which are the cryptocurrency platforms including Bitcoin(1st generation), Ethereum (2nd generation) and Cardano & IOTA (3rd generation).
The Ethereum platform introduced Smart Contracts and has an EVM (Ethereum Virtual Machine) that executes the smart contracts. Smart contracts are computer programs that reside on the blockchain. ERC20 is a standard to write token contracts on Ethereum. Smart contracts can be written on the Ethereum platform using the programming language Solidity.
The Ethereum platform is moving towards Proof-of-Stake algorithm (from Proof-of-Work) and this upgrade to Ethereum is called Casper.
The main issue that is currently preventing blockchain cryptocurrencies from being used as a mainstream currency is the inherent scalability issue (i.e. limited transactions per second). The next generation of cryptocurrency platforms i.e. Cardano and IOTA, that are currently in development, aim to solve these issues.
Found this post useful? Hit the 👏 button below to show how much you liked it 🙂
Follow me on Medium for the latest updates and posts!
BlockChain Demystified: Looking Under the hood of the BlockChain
- The Microservices Approach to Mobile Application Development
- Demystifying OAuth 2.0 and OpenId Connect (and SAML)
Making sense of the Blockchain Landscape in 2018 was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.