Explain Ethereum like I'm five

Feel free to touch on any other blockchain topics, also like I'm five. ๐Ÿ˜

Did you find this post useful? Show some love!

It took me a few hours of solid research to understand blockchain. I know the question is about Ethereum, but I'll explain Bitcoin here and hopefully that will get you most of the way.

Imagine that you want to buy your little sister's toy truck. Your parents give you a monthly allowance, but not in cash -- they tell you how much money you've been allotted and allow you to request cash from your balance whenever you need it to buy something. You want to spend $5 of your allowance to buy the toy truck, but your little sister would just add the money to her own allowance, so there's no point dealing in cash. You decide to create a transaction record: you write out the amount of money you're giving her and what she's giving you in return on a piece of paper. It's like a receipt at the store.

You would each sign the transaction with your name, but you want this transaction to be secret so that your friends don't know you own the toy truck (they would want to borrow it all the time). So you sign with a big word that your sister doesn't know how to spell, and she signs with a big word that you don't know how to spell. It takes each of you so long to learn to spell new words that you aren't worried these signatures will be compromised. You take this paper to the copy machine and copy it once. This way you each have a record of the transaction. The next time she wants to spend her allowance, she can use the transaction record to get the $5.

There's one problem left to solve: sibling rivalry. You don't want her to claim that she never got paid and the truck is still hers. And she doesn't want you to claim that she made up the transaction and you still have that $5. (Either of you could do this by pretending you can't spell the big word you signed with.) So you each take your copy of the transaction record, make two copies from it, and put them on your parents' bedroom table.

Each of your parents has a box where they keep transaction records. They add the new records, checking with each other to make sure the records are identical and placed in the boxes in the exact same order, and they go on their way.

When your sister wants to spend the $5 she earned, all she has to do is write the big word she signed with on a piece of paper, put it in a sealed envelope, and slide it under the closed door of your parents' bedroom. In return, they'll slide a sealed envelope with a $5 bill in it back under the door.

But wait! How do they know which allowance to deduct the $5 from? Well, we'll need to reimagine the allowances a little. Suppose they don't track allowances by your real name, but by a nickname--and they don't know whose nickname is whose. In addition, they have a list of big words that you provided at the same time as the nickname, so when you sign something by spelling a big word, they can associate it with the correct nickname.

By this system, your parents could have thousands of children, each with their own allowance, and keep a perfect record of how much money each child's balance has even though they don't know which balance belongs to which kid. The children can trade money back and forth all the time and not a cent will get misplaced. But by this point, the workload of managing all those transactions is pretty enormous, so they invite their friends to live at your house and help them out. Your parents set aside some of the money they earn at their jobs and give it to each other and to their friends based on how many transactions they verify each day. And the copy machine is running all the time, because everyone has to have a box that has every transaction ever in it, all in the exact same order.

In Bitcoin, your computer is the box. You have a copy of literally every Bitcoin transaction that has ever happened, and so does every other Bitcoin user (there are no parents, or in other words, no central authority). When you want to create a new transaction, you do so anonymously, but you and the other participant in the transaction both use math to generate a public key (kind of like a big word only you can spell) which proves that the money in question was owned by the computer sending it and is now owned by the computer receiving it. And everyone who does the math necessary to verify the transactions gets paid a small amount of Bitcoin for doing it. Once the transactions are verified, they propagate outward to the entire Bitcoin network.

This is the way I understand it. If I got anything wrong, feel free to correct me.

This is really great! So if the parents are the core difference between Ethereum and Bitcoin, why is that so? If this can all be done without parents, is there a technical purpose for the parents role, or is it about regulation, or kind of just practical?

I don't understand Ethereum as well as I understand Bitcoin, and I certainly didn't intend for my original comment to delineate the differences between them. It was supposed to be a "five-year-old's guide to Bitcoin."

As I understand it, Ethereum is basically Bitcoin + a programming language. So instead of trading money back and forth and verifying transactions, you trade scripts ("smart contracts") back and forth, run them (on an Ethereum-specific virtual machine) and verify the end state of each script. "End state" here includes the actual lines of code in the script, where the script is stored, and the balance in each user's account after the script is run. This allows you to do some cool distributed computing tasks (albeit at a rather high price) and specify behaviors far more complex than "give X dollars to Bob".

Okay that does answer a lot of my questions about purpose. So Ethereum's value is sort of more on the practical side of things. You could do a lot of this stuff on Bitcoin, but Ethereum is built for more practicality in achieving certain use cases?

Yeah, and there are a few differences in implementation. For example, the number of freshly-minted Bitcoin is reduced by half each year with a hard maximum of 21 million Bitcoin (there can never be more Bitcoin than that, because math). There's no hard maximum to Ethereum, though I've heard that they won't increase the amount they issue per year, but may decrease it (possibly to 0).

Ethereum also has DAOs, which as I understand it are democratic robot investment funds that run on an Ethereum script and choose how to invest their members' Ethereum dollars.

That description is Bitcoin, Why do you answer if the question is about Ethereum wich is Turing complete LOL.

Ethereum is like if each envelope had written on it either the name of a box (recipient) or a program (also a recipient) and then said program will handle the enveloppe, and will do anything with said enveloppe based on it's programming.

I'm sorry you didn't like my comment. The question asked for responses that touched on other blockchain topics, and I clearly stated that I intended to describe Bitcoin only. Bitcoin and Ethereum are similar enough that a solid explanation of Bitcoin is a good foundation for understanding Ethereum.

I read your comment out loud to someone yesterday! it's so good.

This is one of the best comments I think I've seen.

Assuming you already know bitcoin.

Ethereum is like Bitcoin, but more flexible, you can write full programs for it to automate money dependent things. The programs are called smart contracts and the can hold money like people or banks can. The money they work with are called Ether.

For example, You could write one that says, when two people paid 1000 into it wait a month and check how the weather was every day. After the month give one of them all the money if it was mostly warm and the other one if it rained much. Like a automatic insurance for farmers.

I'm continuing the "magic book" analogy:

Imagine that you have this magic book, which everyone can write something in (Ethereum's case, pograms also, not just monetary transactions) and nobody can delete anything from it. Everyone have the same physical copy of this book on their hard drives and everyone need to sync it. Some books (well almost everyone), have the option to ditch this book from your HDDs, becuse you will trust a third-party (another guy's HDD) to store this book for you. But you don't want to do that, because rather you trust only yourself, when it comes to money.

This book will grow, some will faster, some slower. One day, this book will be terabytes of data. One day, countries will use this book as their official currency. And when Bob from grocery store will jump on it, you bet this book will grow faster.

One day you wake up and thinking, this sh*t is downloading 200GB of transaction data into my local blockchain DB from midnight and I still have 6 other cryptocurrencies where I store my money in.

Than you screwed, you don't want to invest in another hard drives, you just enter in some other dudes blockchain DB address and basically you just gave up the decentralization of the whole thing.

This will happen with every-single-blockchain-technology!

One day, people start to give up specific blockchain technologies and start to use a fresh one, because they want a smaller sized DB.

Or storage prices become marginally lower and technology become better. But what do you do with your smartphones? How do you want to store petabytes of data? Maybe the next 10-20-30 years it will be possible. But what I afraid is that it will grow so fast (the blockchain technologies) that people just start to give up using the local copy of this book. And with this decision they give up the purpose of the whole thing: decentralised independence from oligarchs. With this decision the whole thing become just the "ECoin" from Mr. Robot and sh*theads like *P Morgan and another oligarchs will control the entire thing, because they have the server capacity to STORE the whole thing. From this day, the whole database will be just another bank's internal DB which you can't afford to look inside.

I hope I just looking a bad outcome and this never gonna happen. You already gave up the sovereignty of the technology with mobile phone wallets. And just to tell the truth, I gave up mine also, because I use a local copy of myetherwallet from git (because I trust a third-party independent dude, which I don't really know who the heck is).

Blockchain is internet's answer for money, but certainly not perfect (just like the internet).

I'm downloading the Monero blockchain file since 3 days. It's 18GB now.


Hey there, we see you aren't signed in. (Yes you, the reader. This is a fake comment.)

Please consider creating an account on dev.to. It literally takes a few seconds and we'd appreciate the support so much. โค๏ธ

Plus, no fake comments when you're signed in. ๐Ÿ™ƒ

Here is a nice collection on reddit, and this is my favorite:

Imagine you would have a magic book. There are people around the world who also have a copy of the magic book. Now, everyone can write into that book; if you write something into the book, it appears in all other copies of the book, around the world, pretty much instantly. Nobody, not even you, can erase what you wrote into that book or what someone else wrote into that book. That's basically blockchain technology, on which Bitcoin, Ethereum, and all other cryptocurrencies are based.

Bitcoin, for example, uses the magic book to log transactions of the virtual currency "Bitcoin". You'd basically write into the magic book "I give Cathy 1 Bitcoin". The book then checks through all the entries of any entries of me having Bitcoin in the first place and if so, send the intended 1 to Cathy. Now Cathy has an entry in the magic book and now it knows she has some Bitcoin too, so if she tries to send one, the magic book can confirm.

Ethereum goes further, here you can basically write small "self-executing" programs that can't be deleted. So with our book analogy, you could write into the book "I bet 1 ETH with Amy that the weather on May the 2nd is sunny and nice", and include a data link to Google Weather or similar which the program can check. You pay a small fee to deploy the program. The code then keeps getting executed on thousands of computers worldwide. If it actually rains on May the 2nd, the program sends 1 ETH from you to Amy's wallet. Since anyone can check the code of the program, Amy doesn't have to trust me, the creator of the program, she can check my code for herself. Also, the program can't be suddenly deleted (so I can't just quit the bet after looking at the forecast on May the 1st).

So Ethereum is basically a giant, coordinated decentralized swarm of individual's computers connected to each other on the web where anybody can deploy his mini-programs (called smart contracts) for a small fee.

I don't have a ready-set-go answer for ethereum specifically. I do have one however for crypto-currencies so here it is:

Ethereum is a crypto-currency. Crypto-currencies are alternative digital currencies. Alternative as they do not have a state, country or union to back them up trough its traditional financial enstablishment (USD US, GBP GB, EUR EU). Digital as they rely solely on digital means for traditional currency activities (Issuing, Pricing, Trading) and finaly Crypto as they make heavy use of cryptography technologies to validate and secure their various activities (Issuing and trading mostly).

The new major factor introduced by ethereum to the crypto-currency "arena" is the use of "contracts". In other words the means to securely complete conditional transactions.

This is a great explanation but I'm going to be pedantic - I have a five year old and there's absolutely no way in hell he would understand beyond "I'm getting a truck!"

Here's an awesome article that finally made me understand what the Blockchain actually is.


Classic DEV Post from Feb 24

What little things make you happy while coding?

I must say refactoring code to make it look beautiful is my guilty pleasure ...

Follow @gonzalezanguita to see more of their posts in your feed.
Ben Halpern
A Canadian living in New York, having a lot of fun cultivating this community! Creator and webmaster of dev.to.
More from @ben
Explain GitHub Like I'm Five
#explainlikeimfive #github
A Major Announcement for the DEV Community
#meta #blockchain
Trending on dev.to
Does anyone else feel bothered when people term us as coders instead of developers or programmers..?
Biggest aha moment
How to deal with being laid off?
#work #job #development #discuss
Postgres or mysql
What's a recent frustrating bug you've had with a crazy simple solution?
#debugging #discuss #php
Back to basics: Naming
#naming #javascript #programming #discuss
What is today's "goto"?
#discuss #learning #tips #history
Its 2018, why are you still going to the office?