Right now is absolutely the prime time to talk about cryptocurrencies. In November 2017, the value of Bitcoin exploded, surging so quickly, that it was the catalyst to bring Bitcoin into the public lexicon. However, Bitcoin is just the most well known of the cryptocurrencies - there’s a whole world of them out there. Many people who have been investigating cryptocurrencies have come across something called Ethereum. What is Ethereum ?
Well, Ethereum is NOT a cryptocurrency. Bitcoin is a cryptocurrency. Ethereum is a platform.
Ethereum is an open source platform, which exists to build and distribute decentralised applications. These applications will operate on a network of hundreds of thousands of nodes across the globe. There will be no central “server” for these applications, they operate in a peer-to-peer fashion. These decentralised apps are known as “dapps”, and many are excited but the potential they offer. The value of the Ethereum platform increases as more apps are written for it.
There are benefits to this approach. Applications that are centralized could, for example, have a higher risk of attack. In a decentralized architecture, there is no single point of failure.
One trait shared with Bitcoin is the reliance on “Blockchain” technology at the heart of Ethereum. Bitcoin, as a digital currency, was the first and most well known use of the blockchain technology. Ethereum makes the blockchain technology available to uses other than cryptocurrency. Technically, you could say that Bitcoin is the first “dapp”, with the cryptocurrency being the first widespread application of blockchain technology. The proponents of Ethereum however will tell you that the real potential of the blockchain is to come. The blockchain nodes could run everywhere, on premises or in the cloud.
The developers writing applications to run on Ethereum need to write in something called a “smart contract”. This refers to a series of steps that will define how a transaction is handled. The smart contract can store data, perform logic or interact with other contracts. Developers can use Smart Contracts for things such as asset registration, land ownership and anything else where keeping a permanent record is essential.
Who is backing it ?
Back in 2015, Microsoft became the first of the tech giants to really talk seriously about cryptocurrencies and blockchain. Firstly, Microsoft announced that it will support Bitcoin as a currency for purchases on the Microsoft online store. The details of how to go about this can be found here.
However, when it comes to Ethereum, Microsoft announced that it was betting big on Ethereum as a platform. Microsoft rolled out Coco, a framework designed to facilitate blockchain adoption by adapting existing blockchain protocols or by creating entirely new protocols, and the Azure Blockchain service, a BaaS (blockchain as a service) that enables businesses to quickly and easily configure and deploy a blockchain network.
The main advantages of the Coco framework are its ability to process over 1,600 transactions per second, something which neither the Bitcoin nor Ethereum blockchain can support at the moment (This would be for your private Blockchain).
The Coco framework will also use a unique technology called trusted execution environment (TEE). The trusted execution environment will be able to host the blockchain code in a secure box which will use Intel’s Software Guard Extensions or Windows’ Virtual Secure Mode in order to validate the environment.
As you can see, the Coco framework works with a few Blockchains, but Ethereum is probably the most popular so far.
Now what is interesting, is that at the AWS re:Invent summit in November 2017, AWS has, surprisingly to many, not announced anything around Blockchain technology. Time will tell as to whether this is wise.
So what am I actually buying on my crypto exchange ?
What you buy, if you’re investing in Ethereum, is something called Ether (ETH). This is the cryptocurrency piece of Ethereum. What is the relationship between the two ?
If you write an application on Ethereum, why should someone running a node process your program’s transactions ? Well, because you pay them to do so. And you pay them in Ether, the currency of Ethereum.
From ethereum.org - “It is a form of payment made by the clients of the platform to the machines executing the requested operations. To put it another way, ether is the incentive ensuring that developers write quality applications (wasteful code costs more), and that the network remains healthy (people are compensated for their contributed resources).”
If Bitcoin is compared to DIGITAL GOLD, an asset that is worth investing in, then Ether can be compared to DIGITAL OIL. Now that is a comparison that many of you would understand.
Now, to add my thoughts / concerns to the Ethereum debate.
Firstly, many are actually investing in Ether hoping to see similar returns as with Bitcoin. In other words, they want to see the price of Ether go through the roof. Wouldn’t this be bad for people running applications on the Ether Blockchain ? If the price of Ether is both highly volatile and also quickly inflates, how does that make Ethereum an attractive platform to run applications (Since your running costs for your application are in Ether) ?
On the other hand, if its too low, there is no incentive to mine. Perhaps someone can clear this up for me in the comments section.
Secondly, there’s the issue of blockchain size. While researching Ethereum, I decided to get into the spirit of things and do some mining, not to really make much profit, but to experience how it all works. After installing Geth, I waited for it to download the blockchain and I could then start. After downloading over 20Gb on my crappy connection ( with no end in sight ) I decided that this wasn’t a great idea ( I then saw that you don’t need to download the entire thing ). Still, some are saying that the Ethereum blockchain will be more than 1TB very soon. Good thing that there is talk of a sharding system.
Thirdly, transaction speed has always been an issue with cryptocurrencies. Bitcoin, believe it or not, can only really process about 5 transactions per second. Looking at other platforms :
• DASH - 10 transactions per second
• Ethereum – 20 transactions per second
• PayPal – 193 transactions per second average
• Visa – 1,667 transaction per second
• Ripple 1000-24000 transactions per second, real number is unknown
So Ethereum is better than Bitcoin in transaction speed, but considering what it wants to do, the transaction speed is not enough. There has been talk of a project called Raiden, however, which aims to dramatically improving scaling of Ethereum.
The other thing we’ve already seen is the blockchain become “jammed” and a whole backlog of unprocessed transactions form. The screenshot below shows a point where over 9000 transactions were sitting unprocessed in the blockchain.
Once again, perhaps something like Raiden will address this.
Fourthly, there is the debate about running Ethereum nodes in the cloud - is this counter to decentralisation ? The one thing I can think of is the potential benefit of energy efficiency. There is already a debate about the inefficiency of mining from an electricity perspective, and how this in turn makes cryptocurrency inefficient. If nodes are in the cloud, however, remember that the large data centres are built at tremendous economies of scale, and you will not find better efficiency in smaller scale DCs, so from that perspective it may help somewhat.
Lastly, in spite of the early issues mentioned, there really is a sense in the community that Ethereum could be the Internet of the 2010s, and that we’re on the verge of something big. At the very least, it provides us with options.
As for Ether, I cannot tell you whether to invest in it or not, but as you can see, you do want to be following it very closely over the next few months.
Let me know your thoughts in the comments section.
Thavash is a Data and AI Solution Specialist (SSP) at Microsoft. He looks after the Data and A.I business for the Financial Services industry in South Africa. Thavash studied Electronic Engineering at the Durban University of Technology, majoring in Computer Systems Engineering and also completed a Bachelor of Commerce majoring in Informatics and Quantitative Analysis from the University of South Africa.