Ethereum Introduction

Ethereum Homestead gold ingots

Documentation chat

Note that due to the lightning-fast pace of development in the Ethereum space with core development and dapps continually being launched, certain parts of this article may be outdated. You can help by keeping it up to date!

About blockchains

For an introduction to blockchains, see this TED talk.

About Ethereum

Ethereum is a decentralized blockchain platform for "building unstoppable applications", while Ether is the cryptocurrency used on this platform.
Ethereum has been described in several ways.

The simplest way to understand Ethereum is to know what it does. Just like how it is not necessary to fully understand the intricate workings of how a car works in order to appreciate it's utility, or to understand how electricity arrives in your light bulb when you turn it on, understanding the current and potential utility of Ethereum is a good start. Ethereum can be used for virtually any kind of transaction or agreement (to put it another way, any kind of activity that has an economic or governance aspect), at a lower cost than conventional alternatives, such as debit card payments, in a way that is trustless, secure, safe and censorship-resistant, all with high probability. An extensive and growing list of uses is available here.

The sources for the first and third bullet points are more general introductions, while the second is a technical introduction and specification of the Ethereum Virtual Machine. Another introduction is available here, but it is outdated.

  • "Ethereum transactions perform financial and database operations contingent on the evaluation of more complex computational scripts."—TrueBit

Let's briefly breakdown what the terms above mean.

Decentralized technology uses peer-to-peer computer networks (there's a picture below), and are not subject to the whims of a central authority such as a government or server administrator (like Google or Facebook) which can help to achieve better decision making for public good. Blockchain means that the currency is built and secured by adding and verifying blocks of transactions to blocks made previously, thus forming a "chain". Blocks added to the chain become harder and harder to crack over time, as they are verified by more nodes in the blockchain peer-to-peer network. Blockchain technology has been referred to as the Web 3.0. The world wide web (retroactively the Web 1.0) consisted of websites publishing content and users passively reading/viewing it. The Web 2.0 used user interaction, such as forums (with upvoting and commenting), reaction buttons (e.g. the Facebook reactions: likes 👍, love ❤️ , laughter 😆, wow 😲, sad 😢, angry 😠), sharing (republishing), however these interactions have no direct economic effect on the host website; users do not share in the value generated from the website. The Web 3.0 is starting to be defined as the movement away from centralization of computation power in servers which provide services to clients (known as the client-server network model) to peer-to-peer networks and blockchains, and from centralisation of authority and sovereignty from nation-states and corporations to the networked individual.

server-based-network
p2p-network

Cryptocurrency refers to a a digital currency that secures transactions with cryptographic code, which is solved through hardware computational power (known as mining or proof of work) or other less energy-intensive ways such as proof-of-stake. (There are more details on that below.)

Zero knowledge proofs like ZK SNARKs can also be used to make cryptocurrency transactions more private 🕵️ or secret 🤐 (which is different to being secure 🔒), thus negating the need to run applications on a permissioned private network like the Ethereum Enterprise Alliance. Ethereum uses precompiled contracts for addition and scalar multiplication on the elliptic curve alt_bn128, for pairing checks, which permit zk-SNARKs, also see here, as implemented in the Byzantium hard fork. There is also the Zerocoin protocol which is demonstrated by Zcoin (which plans to integrate Ethereum).

History

Here is a blog post from Vitalik Buterin, the founder of Ethereum, on Ethereum pre-history. Here is another blog post with more history.

Uses

The platform part of Ethereum makes it much more useful than just a cryptocurrency. With it, you can create any decentralized application (known as a dapp, which works over a peer-to- peer network rather than a centralized client-server network 💻🕸️), so the functionality is only limited by what programs could potentially do and not do, and by consequence, what programmers develop, 👨‍💻 but it can theoretically be used for any economic or governance activity.

List of dapps

For a list of dapps, visit here.

Market analysis

Assessing the actual usage of blockchains is a more reliable indicator than the market cap. http://blocktivity.info/ provides data to do that.

As of the 9th of January 2018, the market capitalisation of Ethereum is $118.5 billion USD (refer to the link for the latest figure), and it has been in circulation since 30 July 2015, with the first transaction after the genesis block using Ethereum on 7 August 2015. Compare this with the next largest and the current largest cryptocurrency, Bitcoin, with a market cap of $253.0 billion USD, where it has been in circulation since January 2009. Technically, Ethereum has had a much faster growth rate, while more importantly for long term investment (I do not encourage speculation or buying with capital that you can't afford to lose, without due diligence as that only causes volatility as has been seen) the fundamentals are much better than Bitcoin. While it is true that Bitcoin has more of a market and currency, e.g. in terms of more entities that will accept it as a form of payment, the creator of this wiki expects that time will change that (indeed the market cap of Ethereum recently surpassed half that of Bitcoin, around May 2017). Also, the number of transactions of Ethereum surpassed that of several cryptocurrencies combined on 22 Nov 2017. However, note this retort.

Issues

There also several issues with Ethereum, such as not being scalable enough, not being fully decentralized, energy consumption with mining and quantum computing attacks. With its large storage database (I have to provide a Reddit link as a source as the original link doesn't have the graph any more, while Wayback doesn't render it either), mining and architecture requiring to run a full node to mine or validate transactions, it is not decentralized enough. More (outdated but still applicable) info on that is e.g. here, as well as here.

Scalability

Ethereum will need to scale to process far more transactions per second (to become a "world computer") than Visa, Mastercard and American Express combined (which process on the order of tens of thousands of transactions per second [in the link, CTRL+F 24,000]), while Ethereum 1.0, the current version as of December 30 2017, processed a record of 1103523 transactions on Friday, December 22, 2017, or 12.77 transactions per second.

Note that Ripple claims that it's Consensus Ledger can process a thousand transactions per second, while it could process more with payment channels. "Although payment channels achieve practically infinite scalability by decoupling payment from settlement, they do so without incurring the risk typically associated with delayed settlement." Further note that Ripple achieves this by trading off on decentralization, through a distributed network of validators or distributed servers, while it has been described as a federation protocol.

There are even more scalable blockchains that use a delegated proof of stake (DPOS) consensus protocol, such as Bitshares and Steem. Bitshares can apparently process 100,000 TPS.

More generally, in order to have faster payments or higher transaction throughput, you need to reduce the number of validators (miners are a kind of validator that perform energy intensive computational work, finding a random nonce or sequence number in a large set of numbers) in the consensus protocol, or reduce the other (i.e. for faster payments you can reduce transaction throughput or reduce validators, while for higher transaction throughput you can reduce validators or have payments take longer to finalize). This is a trade-off triangle. You could potentially have one blockchain with heterogeneous sharding, with different shards with a different degree of balance between these properties. Ethereum is working on sharding.

If you increase scalability in an instant via some blockchain or shard, while keeping latency constant (or reducing it) you need to reduce decentralization, which reduces the number of points of attack needed to compromise the whole network, i.e. reducing decentralization reduces security.

Volatility

Ethereum and all cryptocurrencies (except for USDT and DAI) have a lot of volatility, particularly during news events such as banning individual companies that don't register with the local securities authority but are selling a security, bans on all ICOs or cryptocurrencies, bugs (see below) or geopolitical tensions such as between the North Korea and the US and South Korea, with missile launch tests from the former and large-scale military drills from the latter two. Non-stable cryptos tend to drop when there is news that governments ban or may ban ICOs or trading of cryptocurrencies, e.g. with China, Brazil, South Korea, Europe and the US. On the other hand, other countries like Saudi Arabia and Australia have been very supportive of cryptocurrencies. Non-stable cryptos tend to rise when there is news of geopolitical tensions, or just politicians making bad decisions. NSCs have dropped in price when there are issues with exchanges, such as being hacked, flash crashes, or just closing down.

The biggest risk with cryptocurrencies is not so much from actors within the ecosystem such as mining/validator attacks, scams (note that there is no substitute for due diligence, but you can use scam checkers such as this site here and exchange issues), but from regulators doing blanket bans on ICOs or more broadly, cryptocurrency trading. But this isn't reasonable (certainly not as a permanent ban) as they are useful for governments as well. Governments may also want to regulate or ban cryptocurrencies as they perceive them as a threat to devaluing their fiat currencies (but this can be offset through regulation, taxation, etc.), as well as a potential tool for tax evasion (but this can be regulated e.g. with KYC). There is also the major risk that people buy into it without really understanding it and/or with non-risk capital, and then sell it off when bad news events occur.

Note also that with stable cryptocurrencies, the price can't rise anywhere nearly fast as cryptocurrencies, as well as not being able to drop anywhere nearly as fast. So stable cryptocurrencies are more suitable as a store of value, but may not rise in value as much in the very long-term (e.g. over a year).

More news:

Energy consumption and centralization with Proof of work vs proof of stake

The mining process to crack cryptographic code (specifically to discover the nonce, a very large number, for each block by trial and error) requires a lot of computation power. Nevertheless, I'm guessing that the computation power should be less when you consider the energy consumption of incumbent financial systems. (Think of extracting and processing resources to make coins and notes, minting and printing, energy consumption of banks and tiers of related energy consumption in the life cycle of fiat money.) Still, developers of some cryptocurrencies such as Ethereum are transitioning to (as is the case for Ethereum), or already using, a different way of maintaining and creating blocks, known as proof of stake. For more information, you can see this Proof of Stake Wikipedia article here (although note the header warning about the article potentially not being verifiable or neutral due to relying heavily on sources too closely associated to the subject). The tricky part is in getting proof methods to work better than proof of work, as outlined here in the criticism section of the PoS Wiki. For more information about PoS, see Casper The Friendly Finality Gadget for PoS validation with Proof-of-Work (PoW), Casper The Friendly Ghost: CBC for full Proof-of-Stake (PoS) and a testnet.

Quantum computing attacks

If quantum computing becomes more performant Ethereum's cryptographic signature scheme, Elliptic Curve Digital Signature Algorithm (ECDSA), would be insecure. However, there are solutions for this that will be implemented soon in the Constantinople release with EIP 86: Abstraction of transaction origin and signature, which has "Custom cryptography: users can upgrade to ed25519 signatures, Lamport hash ladder signatures or whatever other scheme they want on their own terms; they do not need to stick with ECDSA." Lamport signatures could be used in a quantum resistant algorithm. More info on that is e.g. here), here, and here.

No technological artefacts can be a panacea

For the continual improvement of humanity, there needs to be balance in life between things that benefit us materially and things that benefit us on higher levels, particularly spiritually. There is a risk that technology can make some people better off, and others worse off. So there needs to be consideration for how technology can be implemented to maximise utility. One consideration of that is here, which looks at using Ethereum to establish a global commons (including infrastructure, healthcare, education and universal basic income) with voluntary contributions or a tax on transactions.

Bugs

Ethereum has had expensive bugs, such as those listed here and here.

How do you buy and sell Ether, the currency of Ethereum?

Refer to here.

Development

Are you interested in learning to develop smart contracts with Ethereum, and develop a really useful dapp and become a millionaire?

Check out the Ethereum website! Then, you can read the Solidity docs.

If you want to help contribute to core development, there is also:

Technical introduction and Ethereum Virtual Machine (EVM) intro

Core development

For R&D, refer to here.

Programming languages

  • Learn Python first, e.g. with Learn Python the Hard Way (I learnt using this, but it's rather condescending, so I'd recommend Pydocs instead). There's others, e.g. Codecademy, and Coursera, etc. Knowing Python is useful for research and demonstration, with demonstration e.g. for client development, e.g. for Py-EVM which is being used as an Ethereum client, to implement statelessness and sharding, as well as vyper, an experimental, secure, smart contract programming language;
  • LLL (also see here and here);
  • JULIA, an intermediate language for different Ethereum virtual machines;

Concluding remarks

Ether certainly seems like a good investment, and a good alternative to using fiat currencies, as well as an enabler for otherwise uneconomical business, due to lower transaction costs. It's more decentralized nature than central banks has advantages for trade from a local to global scale. With governance applications and systems on top Ethereum, it is even possible to do away with the hindering borders surmounted by nation-states. By doing away with these borders, society can be more open, inclusive and equitable.

However, all technology can only help mankind and the world to a certain extent. What is more important is for each and every person to become increasingly blissful. Each person must go within and enter a stillness of body and mind, which is when that bliss starts to manifest, and practice balanced living. Practicing certain techniques such as those given by Self-Realization Fellowship, such as daily Kriya yoga meditation, developing unconditional love that starts in the heart, keeping the mind at the point between the eyebrows, and moral living, helps each person manifest that bliss within, and from there, express that bliss outwardly at all times.

Further reading

This article was originally created here in May 2017, and has been regularly updated since then: https://sustergy.wordpress.com/2017/05/18/why-buy-ether-and-how/. Feel free to send a donation to the initial author at jamesray.eth, or make edits to it yourself, or fork it!

More resources:
https://blockbyblock.io/resources