The Ethereum Project: A High-Level Review of the Project’s Progress, Status, Resources, Tools, Future, and More as of December 2017
Disclaimer: I’m not on the Ethereum Team, nor have I contributed to any code (yet 😃), nor do I benefit from any of the links in this post. I’m just a crypto-nerd who has taken a deep dive over the last few weeks into Ethereum, and wanted to share the love ❤️ and help anyone new coming in to save some time.
I wanted to write a big ol’ review for anyone interested in learning more about Ethereum (it would seem that interest is on the rise, as we’ll see in a bit!), as well as organizing my own thoughts and findings from the past few weeks of researching Ethereum deeply.
I would say this article is of light-to-middle technicality-level. If you haven’t even heard of Ethereum, I would go read a few intro to cryptocurrency and intro to smart contracts articles, then come back here. Likewise, if you are interested in the details of things like the Casper protocol, uncles, and gas, well, this post doesn’t go too deep into those either.
Finally note that I am a developer, so at times I am biased towards code/programming/development things— apologies for that, but that is one of the reasons I’m so interested in Ethereum (as we shall soon see)!
I. Where Ethereum Came From
Beginnings From… You Guessed It, Bitcoin
Vitalik Buterin, when he was a crypto currency newcomer, dove deeply into the space and created the Bitcoin Magazine. A few years later, in 2013, he released the white paper on Ethereum, which was quickly followed by Gavin Wood’s technical yellow paper on the Ethereum Protocol in 2014. The group raised over 18 million on a crowdfunding campaign, and the rest is history. Yep, lame background, but this article is not a focus on the history of Ethereum, but rather the current state of the project. You can find many, many, very well written stories of the Ethereum Foundation’s history all over the web.
The Big Picture: How Ethereum Differs Greatly from Other Coins Like Bitcoin, Litecoin, and Monero
I think most important is to distinguish how different Ethereum is from many of the other popular coins out there (I’m thinking mainly of the other two currencies that are on Coinbase — Bitcoin and Litecoin — since they seem to get a lot of coverage/hype). A first important distinction: ‘Ethereum’ is not a coin! What you are trading with symbol ETH is the largest denomination of the Ethereum Project: Ether.
Like Bitcoin has milli-Bitcoin, Finney, Satoshi, and more, there are other finer subdivisions of Ether. If I had 1 Ether (1 ETH), I could also say I had:
Ethereum is much more than just the ETH symbol (Ether). If you stop reading now, but are interested in the cryptocurrency space even just a little bit, take away this one fact: Ethereum is an entire ecosystem built to help people to build and use smart contracts — not just for issuing coins for financial purposes, but for any industry or problem. Directly from the Etheruem Project’s website:
Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference.
II. Where Ethereum Is
Interest in Ethereum is rising rapidly. Google trends is showing for this week Ethereum nearing all-time highs in search interest:
As a developer, I also like viewing the GitHub star history as an indication of where things are heading for the project. Here is a star graph of some of the most popular repositories under the Ethereum Project’s GitHub (their 3 pinned repos and a few select others):
We can see that go-ethereum, or geth, the official go implementation of the Ethereum protocol, is poised to break 10K stars, probably before 2018. (As a reference, Bitcoin’s repository bitcoin/bitcoin crossed 10K stars around November 2016, and it has just over 20K at the time of writing this article.
Terminology: Ethereum, Ethereum Project, Ethereum Foundation, Ethereum What?!
Though I’m no expert, it appears that ‘Ethereum’ is simply a short version of either ‘Ethereum Project’ or ‘Ethereum Foundation’. The ‘Ethereum Project’ is a name for everything Ethereum; it’s what they use on the website of the project and the GitHub repository, while the ‘Ethereum Foundation’ is the official name for the Swiss nonprofit that currently is in charge of the financials and capital incurred during Ethereum’s crowdfunding campaign.
III. Where Ethereum Is Going
What’s next for this amazing platform? Probably one of the most reliable sources, just published last month, is from Vitalik Buterin himself in his 3–4 year roadmap proposal. (That link leads to the DEVCON3 presentation, Ethereum’s yearly conference I couldn’t find slides for this — if anyone knows where I can find them, leave a comment and I’ll add it here). If you want a technical overview, check out the Ethereum Improvement Proposals on GitHub (AKA EIP s— yep, they even made their own name for ‘em).
Proof Of Stake (PoS)
Yep, you knew it was coming — Ethereum’s fabled proof of stake protocol (as opposed to proof of work) The latest news is that it is indeed on the way, hoping to roll out in mid 2018. It’s known as Casper, based on the first paper on the subject, “Casper the Friendly Finality Gadget”. There is a heavily updated repository of the protocol written in Python.
If (when) proof of stake comes online, Ether will be by far the largest cryptocurrency implementing proof of stake technology. According to the FAQ on the protocol, benefits to the network include lower power consumption due to the lesser need of mining, and actually increased security against attacks and centralization risks.
Open Source Situation
From a developer standpoint, I am a huge fan of Ethereum and what they have done for the cryptocurrency and smart contract space, especially in the direction of open source software. The way that the Ethereum Project has established itself seems like they will be innovating continually in the smart contract space, and they are indeed, rediculously active. Just to show a visual representation of Ethereum, Bitcoin, and Litecoin’s codebases on GitHub:
I’m not saying that repository activity alone is an indicator if a crytpocurrency is “better” or not — and certainly Bitcoin or Litecoin are not “bad” in any sense — in fact, they may have an advantage in some cases due to a much simpler and cleaner code base, as well as having the advantage that they both solve very specific problems. I’m just showing how much more development-oriented the Ethereum community is — showcasing that it is waaay more than just an organization that is associated with the cryptocurrency known as Ether.
As an early Christmas 🎁present 🎁, I’ve left a giant list of neat resources, tools, and articles I’ve come across over my weeks of research.
IV. Laundry List of Resources, Tools, and More (Including Tools that have Died, Too 💀)
- Ethereum white paper: a must-read for anyone who wants to dive deep into Ethereum
- Ethereum yellow paper: the technical sister to the white paper. Neat sidenote — Ethereum went ahead and bought yellowpaper.io which links directly to the white paper as well 😃
- ethstats.net: the official (I think, leave a comment if this is not the case) real-time stats of the ether block chain.
- DApp Tutorial: a great 3-part tutorial on how to write your first DApp, right here on medium.
- awesome-ethereum:(most of the awesome-ethereum stuff is pretty stale — the most recent repositories were last changed on order of the 6 month to year timeframe)
- awesome-solidity: a curated list of awesome Solidity resources
Ethereum Official GitHub:
- go-ethereum: github description: Official Go implementation of the Ethereum protocol — the original
gethas a command line tool
- cpp-ethereum: github description: Ethereum C++ client — basically the C++ version of go-ethereum
- solidity: github description: The Solidity Contract-Oriented Programming Language — Ethereum’s very own open-sourced language to write smart contracts with
- remix: github description: Ethereum IDE and tools for the web - This webapp replaced the now deprecated Mix-IDE
- ethminer: github description: Ethereum miner with OpenCL, CUDA and stratum support — this is an Ethereum GPU mining worker (GPU mining was discontinued in the cpp-ethereum repository)
- truffle: github description: The most popular Ethereum development framework — a great tool for developers to get started building, compiling, and deploying smart contracts
Other Fun Stuff 😄
- Swarm: this is what the ‘Web 3.0’ apps (DApps) have as their root layer, a backend per say.
- Whisper: Whisper is a communications protocol for DApps to communicate
- Cryptokitties 😸: if you haven’t heard of it yet, Cryptokitties is currently responsible for 18% of total Ethereum traffic, and is the largest DApp built to date
- ethereumlottery.io: this is another DApp that uses a smart contract to raffle off Ether (if you buy a ticket of course 😃)
- Metamask: a Google Chrome extension which allows you to participate in DApps such as ethereumlottery.io
Thanks and Credits 👏 👏 👏
I had a bit of assistance learning about the very early beginnings of the Ethereum Project from this coindesk article:
For the charts, credit goes to the following sites:
- Google Trends for Ethereum https://trends.google.com/trends/explore?q=ethereum
- GitHub Star History: https://codetabs.com/github-stars/github-star-history.html
- GitHub visualizer http://ghv.artzub.com/
Proofreading through this, it really appears like I’m totally one-sided in the crypto space → i.e all aboard for Ethereum! 🛥 🌕 🛥 🌕. But that’s really not the situation, I just think Ethereum has so many neat tools that they’ve shared with everyone — as a dev, it’s too fun not to love!
I’m gonna try and get my hands dirty with some DApps and fool around on the testnet — I’ll post whatever I find here on Medium!
First Post 😄
This is my first story on Medium! Let me know if stuff is wrong, typo-ed or just plain sucks! 🤢 🤢 The claps show me how mediocre you think I am! 😃
Cheers everyone! 🍺