This is part 7 in my series of blog posts on cryptocurrency:
- Part 1: Why should I care? What’s in it for me? Plus, crypto is about a lot more than just making money
- Part 2: How crypto actually works, why Bitcoin is valuable (even if it’s just “made up!”), and what you should know about blockchains (the tech behind them and how they could influence the future of our world)
- Part 3: How the blockchain keeps running, where new Bitcoins come from (i.e., how mining works), and concerns about Bitcoin’s environmental impact
- Part 4: How crypto offers autonomy, why it can’t be stopped, and the value of decentralization
- Part 5: How to actually store and use Bitcoin (and other cryptocurrencies), a basic intro to cryptography, and how wallets and keys work
- Part 6: Overview of the different types of wallets, which one is best for you, what to be careful of, and why a hardware wallet might be worth the investment
- Part 7 (this post): Ethereum (the #2 most popular cryptocurrency, and the one I’m most excited about), smart contracts, dapps, gas (and the high gas fee problem), Proof of Stake (PoS), and Ethereum 2.0
- Parts 8-10 (in progress): Ethereum use cases and dapps (oracles, NFT’s, DAO’s, etc.), more crypto coins and tokens, other ways of mining and staking, mining pools, crypto indexes, investing, leverage, gurus, risks, DeFi, yield farming, liquidity staking, other opportunities, and how to make money in crypto (a comparison of the risk/reward of some of my favorite options)
Part 7 Reading Time: 26-32 minutes
- What a cryptocurrency is, how to store it and use it via a wallet, and how cryptography keeps everything secure (remember that the wallet doesn’t actually store the crypto coins themselves—it simply stores your public and private keys)
- What a blockchain is (a distributed ledger tracking every transaction that’s synced up across “node” computers all over the world), and why having a lot of nodes in the blockchain network is valuable (remember that each node on the network validates transactions to make sure everyone is playing fair, so more nodes means more security and stability)
- How new Bitcoins are created (via mining, which is where nodes solve complex math puzzles for a chance at winning newly-minted coins)
All of the above was important foundational knowledge to understand where we go from here. I’m excited you made it this far because we’re about to jump into the stuff I find really interesting.
So far, we’ve been focusing on Bitcoin, which is like digital gold. Compared to traditional money, it has some cool properties like:
- It’s decentralized, meaning it’s not controlled by any one government or organization, so it can’t easily be shut down or censored.
- All transactions are cryptographically secured and constantly validated, meaning your money is quite safe (e.g., against a malicious government trying to seize your assets), and it’s almost impossible to create counterfeit Bitcoin.
- It’s purely digital, so you can “back it up” by having multiple copies of your wallet. And, it’s easily transportable (even across country borders) because your wallet could be anything from a USB key-style hardware wallet, to a long string of numbers and letters that you memorize, to an app on your phone.
But other than those features, Bitcoin isn’t really “smart.” It’s simply like a digital version of traditional money—i.e., you can either spend it or store it, and that’s about it.
Ethereum, the #2 most popular cryptocurrency, is very different.
What is Ethereum?
If Bitcoin is like digital gold, Ethereum is like smart digital money—and that money can be programmed to run apps.
Bitcoin is nice to buy and hold long-term, just like keeping gold in a vault. But Ethereum is more like a giant computerized foundation upon which a whole new ecosystem is being built. And that foundation is based on blockchain technology, just like Bitcoin.
Here’s the thing that might be hard to wrap your head around at first: Ethereum is programmable money. In other words, it’s both a cryptocurrency (you keep it in a digital wallet and can pay people with it) as well as a network that’s home to a wide range of software applications that run on that currency.
The Ethereum blockchain network is like a giant multi-purpose vending machine.
In a traditional vending machine, you put in some money, select one of the slots, and whatever you chose—say, a candy bar—falls out.
Now imagine a digital version of that vending machine, and each of its slots is completely different. This vending machine sells an incredible variety of goods and services, and each slot can be programmed in some very interesting ways.
There’s an important concept here called a “smart contract.”
Imagine you want to buy a concert ticket from someone you met online but don’t fully trust. You could just send them the money and hope they’ll transfer the ticket over to your name, but they might not. They might just run away with your cash.
How do we usually address that kind of problem? Well, there are two main ways:
- Hire a third party who we both trust (say, a bank). I give the third party my money, and the seller gives them the ticket. Once the third party has both in hand, we pay them a fee, and they make the exchange, giving me the ticket and the seller the money. This is what “escrow” means when you buy a house, for example. It works, but it costs money and usually involves a lot of bureaucracy and logistics.
- Rely on contracts and legal penalties. I could hire a lawyer to write up a contract that the seller and I both sign. Then, if they fail to send me the ticket, I can sue them and count on the legal system to get me my money. Again, this costs a lot of money, time, and mental energy. Plus, even if the legal system works as expected, it might be a while till I get my money back.
How can crypto help here?
A smart contract removes the need for the third party.
Imagine: Instead of needing to hire a lawyer or a bank, you use a robot that both you and the seller trust. You can count on it to follow its programming no matter what.
You can either program your own robot or just use one of many popular off-the-shelf templates.
Imagine the programming looking something like this:
- If Buyer pays 0.1 ETH (Ethereum) to Seller, ownership of the concert ticket is transferred to Buyer.
- If either Buyer or Seller cancels the transaction, Buyer gets 0.1 ETH back, and Seller gets ticket back.
The code is fully visible for both sides to check and approve. Once each side accepts the conditions, the sale proceeds automatically and almost instantly.
That’s a smart contract.
And you can have much more complex smart contracts too:
- Imagine programming a smart contract into your will. You set it up so that ownership of various items will be automatically transferred to certain people, but only according to certain conditions. For example:
- The younger kids only receive their cut of the money when they turn 18, and at that point, they automatically receive 10% every year. No lawyer in the future can ever modify that arrangement—the smart contract is like a robot carrying out its duties no matter what.
- Maybe one of the older kids is a farmer, and you know they have good years and bad years depending on the weather. So you program into the smart contract that they’ll receive an extra payout on years where the weather was especially bad. (How would the system know about the weather? We’ll get to that in the next post—it’s a concept called “oracles.”)
Back to the vending machine analogy. What types of things could you buy?
Imagine the giant multi-purpose vending machine again. Each slot is programmable with a smart contract. If you’re a programmer, there are all sorts of opportunities to program new businesses and apps. And if you’re just a regular user, you don’t have to understand any of the underlying smart contracts—you can just put your money in and choose which item/service you want to buy or activate, just like on any regular app or shopping website.
So what might be in the vending machine?
Here are some real possibilities that all exist today in the Ethereum ecosystem:
- A financial loan (either of cryptocurrency or real US dollars)
- An investment opportunity offering you excellent interest rates
- An insurance product
- A piece of digital art
- A virtual pet or collectible character
- Membership in an organization or “corporation” governed by smart contracts
- Ownership of an item, level, or area in an online video game world
Again, all of this happens securely and almost instantly.
To put it simply, here’s how it works:
- You visit a regular website or open an app that supports cryptocurrency.
- You select a product or service that can be paid for in Ethereum.
- You click the “buy” button (or however it’s labeled), and your Ethereum wallet opens up and asks you to approve the transaction. The transaction fee will be listed as well (this is known as “gas,” and we’ll get into it later in this post).
- You approve it, and the smart contract executes in the background.
- Your wallet pays the cost and fees, and in return, it receives whatever it is you purchased: It might be cryptocurrency or a kind of cryptographically-signed receipt that explains what you now own. This receipt is tied to your private key on the Ethereum blockchain, so it can’t be forged or tampered with since there’s a copy of it synced up on all the Ethereum nodes around the world.
So, if you trust the source, you can simply buy the item like you would on any regular shopping website. Or, if you want to double-check what’s going on behind the scenes, you can open up the smart contract and read the terms.
This is just like when the Apple app store first came out: Suddenly, it became possible to create and easily distribute all sorts of smartphone apps for the first time.
That’s what’s been happening with Ethereum, except there’s no central authority in charge like with the Apple app store. Instead, anyone can contribute to the Ethereum project, and anyone can create new Ethereum apps without having to pay Apple (or anyone else) a fee.
These apps are typically called “dapps”—decentralized apps, meaning they’re not controlled by any one group.
What are some benefits of dapps over traditional apps?
- Dapps can be created by anyone without needing to get approval from a central authority.
- Dapps resist censorship, and they promote freedom and open access. Once the smart contract behind a dapp has been released onto the Ethereum blockchain, no company or government can change the contract code.
- Dapps are clear and transparent. If you’re banned from YouTube or TikTok, you might never find out why. With a smart contract, you can see exactly what the rules are governing the dapp.
- Even an organization you trust, like your bank, doesn’t operate that way—you probably have no idea exactly what they’re doing with your money.
- To be fair here, not every dapp is completely open with their code. But, all the big ones allow third-party experts to conduct audits of their code, who then publicly release their assessments.
- Dapps are highly secure. All transactions are recorded on the blockchain and synced across all the Ethereum nodes. No one can forge transactions or change records of past transactions.
Hold on, how do all these dapps actually run?
Traditional apps run on your phone or on a central server operated by the company that owns that product, right? So if you buy something from the Ethereum “vending machine,” where is that smart contract program actually running?
Well, remember how Bitcoin verifies transactions? Every time you buy something with Bitcoin, node computers on the Bitcoin network double-check to make sure everything looks ok. In other words, the nodes are running the software that verifies the transactions. That uses up processing power, so the node operators are rewarded with a chance of winning new Bitcoin.
It’s a similar concept with Ethereum: Not only do the nodes verify the Ethereum currency transactions (e.g., do you have enough money in your wallet?), but they also use that node’s processing power to run the dapp program associated with that transaction.
As you might imagine, this gets pretty complicated, especially when a whole lot of people want to execute Ethereum transactions at the same time.
That’s where gas comes in.
Gas is a representation of the computational power required to run the dapp for your transaction.
Every time you initiate an Ethereum transaction, there’s a gas fee associated with it.
The gas fee is a small payment made in ETH that goes to whichever node is verifying your transaction and running the dapp you requested.
Think of it like going on a road trip. You need to fill up your car with enough gas to make the trip. If it’s a short trip (i.e., a simple transaction), you don’t need much gas. But if it’s a long trip (i.e., you’re running a more complex dapp), it’ll cost more gas. Plus, if the road is super congested (i.e., lots of transactions happening at once), the gas fees will go up since everyone is competing for the same resources.
If you don’t pay enough gas, your car won’t be able to make it all the way, and your transaction will fail (you’ll have to pay a portion of your gas fee anyway since the node already did some work on your behalf to get you that far).
Don’t worry: This is all easier than it sounds.
Most wallets will automatically analyze the current amount of network activity and suggest an appropriate gas value for you to pay.
In fact, they’ll typically offer a suggested gas level, and then you’ll have the option of adjusting it to pay less gas or extra gas.
If you pay extra gas, the nodes will prioritize your transaction over others, so it’ll go through more quickly.
If you pay less gas, you’ll save money, and your transaction will take longer (sometimes it can take minutes or hours if you don’t pay enough and the network is highly congested). It might even fail if traffic has been increasing and gas prices have been going up.
My favorite website to track gas prices is gasnow.org (by the way, gas prices are reported in “Gwei,” which isn’t a separate cryptocurrency—it’s just a tiny fraction of 1 ETH).
It’s a good idea to check gasnow before doing an Ethereum transaction just to make sure prices aren’t crazy at the moment. They fluctuate throughout the day, and if you scroll down on that site, you can see historical numbers to help you plan when to execute expensive transactions.
Sounds like a pain, right?
Yeah, Gas prices have been a big problem.
The truth is that Ethereum has been exploding in popularity, and it hasn’t scaled well to meet demand.
Because so many dapps are running all the time and so many new users have been coming aboard, gas prices have gotten ridiculous over the past several months. At times, it’s been so bad that a $100 transaction might have a $50 gas fee (i.e., a total of $150). Normally, that gas fee should be a few dollars at most.
Luckily, things have been slowly changing in May and June (2021). It’s the biggest problem with Ethereum, so a lot of smart people are working on it.
This is a huge can of worms, but here’s the short summary (of “Layer 1” and “Layer 2”):
- Ethereum and Bitcoin are both what’s called a Layer 1, meaning a foundational blockchain network for a cryptocurrency.
- A Layer 2 solution is a separate network (usually based on a different cryptocurrency) that overlays on top of the Layer 1 network to relieve some of the load and add additional capabilities.
- The idea here is that Layer 1 is going to remain slow since that allows security to be prioritized. But, there are lots of different groups developing competing Layer 2 solutions to speed up transactions and reduce the gas cost. Some of these are Lightning, Loopring, Polygon, OMG, and ZKSwap.
- If you hear people talking about “scaling solutions” or “sharding,” that’s all related to Layer 2. There are a series of major upgrades planned for Ethereum that will be happening this year and next year to address the scaling issues (i.e., ensuring that Ethereum continues to function well as it grows).
- So, bottom line: Gas prices have been a big problem; but, they’re already getting better, and there are even more solutions on the horizon.
The transition to Ethereum 2.0 and “Proof of Stake” (PoS)
Thus far, Ethereum mining has worked similarly to Bitcoin mining: The nodes that power the Ethereum blockchain work to solve complex math puzzles and are sometimes rewarded with ETH.
But remember that a big issue with Bitcoin is its negative environmental impact. All that intense processor usage relies on a huge amount of energy.
The team behind Ethereum has been working on that problem for a while now, and the big upcoming change from Ethereum 1.0 to Ethereum 2.0 addresses that. (By the way, the upgrade to Ethereum 2.0 is mostly happening behind the scenes—from the user perspective, it’ll still be the same ETH coins in your wallet. The only obvious change will likely be lower gas fees and faster transactions.)
So, what’s the big change with Ethereum 2.0?
Remember back from Part 3 that when Bitcoin nodes solve math puzzles, it’s called “Proof of Work”—because you’re being rewarded for doing work to prove that the blocks of transactions were accurate.
With Ethereum 2.0, Ethereum will be transitioning from a “Proof of Work” algorithm to a “Proof of Stake” one. This change should eventually reduce Ethereum’s energy usage by 100x.
To put it simply, here’s the difference:
- “Proof of Work” (PoW) is a race to solve math problems the fastest, so you’re rewarded for having super-fast computer hardware, which uses a lot of power.
- “Proof of Stake” (PoS) instead rewards you for staking. Think of staking as putting your money where your mouth is. If you believe in the future of Ethereum, you prove it by staking your ETH, which is like locking it away in a vault that you can’t open for a certain period of time (currently a year).
Because you’re willing to do that (to be without your money for a while), it demonstrates your trust in the network and incentivizes the network to keep running—since all the node operators have a large amount of money staked for at least a year, they wouldn’t want to let it all fall apart.
To run a full Ethereum 2.0 node, you need to stake 32 ETH into it. That’s currently valued at nearly $80,000 USD.
As you can see, with staking, there are no math problems to solve, so there’s no need for all that processing power that uses up so much energy.
What’s in it for you to run an Ethereum 2.0 node?
Why would you choose to lock away nearly $80K for a year (plus, agree to make sure your node is running 24/7 with reliable Internet, battery backup, proper security updates, etc.)?
Just like with Bitcoin, you’re rewarded.
Remember those gas fees? Whenever an Ethereum transaction runs through your node, you get the gas fees associated with it. In return, your node uses its processing power to both verify the transaction (plus sync up with all the other nodes) and run the dapp code to actually process the smart contract and send the user the result.
Sounds good, right?
But remember I said that running a node requires you to stake 32 ETH (currently valued at nearly $80,000 USD).
You’re probably thinking that 32 ETH is a whole lot of money to have to spend to be able to participate as a node. That’s true, and it’s not ideal that the cost has become so high. But here are two things to keep in mind:
- The value of ETH has risen dramatically. The first phase of the transition to Ethereum 2.0 began in December 2020. Back then, 1 ETH was valued at $589 USD (versus around $2,500 today). So, 32 ETH was still a lot (around $19,000), but it was at least more accessible than the $80,000 value now.
- The vast majority of people don’t need to consider running a node. It’s an opportunity available to people who have the necessary capital and want to support the network while receiving a nice return on investment via the gas fees.
- However, if you still want to get involved in running a node and don’t have $80K available, you can participate in a mining pool—a group of people who pool their money and share the rewards. In a future post, I’ll explore Rocket Pool, the new mining pool I’m most excited about.
Hopefully, by now you’re starting to see why I’m more excited about Ethereum than Bitcoin.
While Bitcoin is like digital gold, Ethereum is more like the foundation for a vast ecosystem of dapps. There are already all sorts of cool ones out there, and many more are being released all the time.
In my next post, I’ll describe the major categories of dapps and give you a taste of some of the most interesting projects built on Ethereum.