DEV Community

loading...

Discussion on: Explain Ethereum like I'm five

Collapse
isaacdlyman profile image
Isaac Lyman • Edited

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.

Collapse
ben profile image
Ben Halpern Author

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?

Collapse
isaacdlyman profile image
Isaac Lyman

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".

Thread Thread
ben profile image
Ben Halpern Author

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?

Thread Thread
isaacdlyman profile image
Isaac Lyman

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.

Collapse
benfavre profile image
Webdesign29

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.

Collapse
isaacdlyman profile image
Isaac Lyman

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.

Collapse
tstephansen profile image
Tim Stephansen

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

Collapse
jess profile image
Jess Lee (she/her)

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