We share good ideas and conversation here.   Login, Join Us, or Take a Tour!
comment by kleinbl00
kleinbl00  ·  13 days ago  ·  link  ·    ·  parent  ·  post: Ethereum: A Visual Guide

    And honestly - it's not remotely fast enough or big enough to replace real banks and financial services.

This deserves some math.

According to Etherscan, the EVN was nudging up against 500k transactions a day this summer. That works out to 182 million transactions per year at a market cap of around $34B. According to Wikipedia, the ACH ran around 24 billion transactions a year in 2015 at around $41T. That's a factor of 130 in size and a factor of 1700 in volume.

That's a network most people have never heard of, processing about 1/100th the transactions of the network that processes over half of all transactions in the United States. This isn't something that "warrants a good look" this is something that will be with us before we know it.

    Because exchanging value is arguably the most important thing Ethereum does, we're gonna start there. What happens when you transfer money to someone? Well, your account is reduced by some amount of money, and another account is increased by the exact same amount of money.

I think it's important in light of where you go next that you point out that from the ledger's standpoint, it sure doesn't have to be money. It's just a number. It's just a value. it could be fighter planes, it could be peanuts, it could be chromosomes, it could be flavors of lik'm'aid. The fact of the matter is, ledgers mark the addition and subtraction of real numbers, and we use those real numbers to parse out value via money. However, the ledger itself is money-agnostic; the conversion between Dollars and Dinars is a coefficient, nothing more.

    Ethereum stores not just transactions, but also states. A state is simply something that an object has and that can be changed. The color state of a traffic light might be green, but it might also be red. color = green and color = red are two different states of one object.

And here, you should make it clear that "states" are as defined by anyone writing to the blockchain; states are arbitrary and open-ended which allows anybody to define anything as a state.

    It's not always so restrictive. The protocol leaves it up to you to decide who can and cannot change your pet's name. This is one of the freedoms you have when programming with Ethereum.

Somewhere in here you should make mention of the fact that changing these states requires changes to the blockchain, and changes to the blockchain are enacted by programming of the mainframe, and that it costs ethereum to change the blockchain, which encourages efficient programming... and means that a DDOS attack which would cause the EVM to halt by running too many instructions would cost all the Ethereum. (you should look that up and make sure it's technically correct because I think I'm oversimplifying). This leads nicely into

    Having a global computer is nice and all, but how do I know it's safe? What makes Ethereum so secure?

You gloss over a little bit about cryptography. Here's where you start:

    The 'crypto' part refers to the science of cryptography. Cryptography aims to define secure protocols to allow communication without anyone reading or tampering with it.

It's worth mentioning that people put their trust in the dollar because the Federal Reserve stands behind it. For the dollar to fail, the Federal Reserve (effectively the American banking system) also has to fail. Cryptocurrency does not have the backing of any government, instead its security is based on the cryptographic strength of the algorithms behind it - the fact that in order to falsify values on a blockchain, all the nodes have to have the false value and that editing one of those values is a total pain in the ass (as you describe).

    This is why each block stores a hash of all previous states and transactions. What the miners are guessing is [hash of everything until now] + [some number]. Miners can thus only make correct current guess in a reasonable timeframe if they download the most recent block.

This is a great explanation, by the way.

I would also mention that while Bitcoin only has whatever value people assign to it, Ethereum has inherent value because running any of these state changes on the EVM requires gas which is some puny fraction of an ether but nonetheless it's the medium that governs efficient coding and therefore, unlike any basic ledger in which the numbers don't do anything, Ether is actually the necessary fuel in order to run the beast. It doesn't seem like a big deal, but when I explain that buying Ether is effectively buying futures on a worldwide distributed mainframe whose functions we can only guess at, people's eyes light up. It's why Ether is more than nerd pokerchips like Bitcoin.




veen  ·  13 days ago  ·  link  ·  

Great points, thanks! Can't believe I completely forgot to mention that the EVM runs on ETH.

I added pretty much all of your points to the main text. The only thing I couldn't find a place for is your note that it's buying futures (and that's mostly because I don't know how futures work.) Re: security:

    Ethereum's security thus comes from a) keeping everyone on the latest block, b) having miners do an arbitrary amount of work, and c) only accepting the result after the majority has validated it. So where normal money (called 'fiat' by people who clearly have never driven a small Italian cars) is secure because it's backed by governments, cryptocurrency is only as secure as its protocols are.
kleinbl00  ·  12 days ago  ·  link  ·  

Edits are great. Nice job.

I don't know if there's room for this or not, but the natural instinct when you tell someone that the currency is based on unbreakable code is to say "they said the Titanic was unsinkable" and shit like that. My own understanding gets hazy here because cryptography is not my strong point (and is pretty devilish to try and learn, as a layman) but if I understand correctly, you could crack Ethash and it wouldn't matter because you'd still need your version of the blockchain to be accepted by every other node on the network in order for your version of reality to prevail. Maybe that's another discussion - "the security of the blockchain" or something.