If you’re working in the tech or finance world at the moment, or even just reading the news, you probably have heard a lot about cryptocurrency. It’s taken the world by storm, starting with Bitcoin and now with a multitude of other currencies. At Echobind, we’ve been building a mobile app for a client to confront some technical challenges on the Ethereum blockchain, which has led us to jump into the cryptocurrency world headfirst. In this blog, I’ll share some of my most helpful initial learnings, and break them down for others so that this crypto world isn’t as far out of reach as it initially seems.
A blockchain is a network of computers that store the state of the system. In order for any changes to be made to the system, each node (computer) in the system must agree on this change. The way that a specific blockchain agrees on changes and the current state of the system is called its consensus mechanism. These mechanisms allow the networks of computers to work together while also staying secure from bad actors.
Ethereum currently uses a mechanism called proof-of-work (PoW), which means that any node that wants to make a change to the blockchain must first solve a challenging puzzle. These puzzles require a lot of computational power, so solving the puzzle shows that you have spent the resources necessary to make the change. This deters bad nodes from trying to submit fraudulent blocks since so many resources are spent trying to produce the block.
Gas fees are another aspect of the Ethereum network that allow it to remain secure from actors spamming the network. They are simply a fee paid for the computational resources spent for every transaction. These fees are paid in ETH (Ethereum’s native currency) and denoted in Gwei, which is a denomination of ETH. One Gwei is equal to 0.000000001 ETH (10^-9 ETH).
One of the core concepts of the Ethereum network is decentralization, which refers to the fact that no single entity owns the system. In order to get started buying and selling ETH, you need only an internet connection. You never need to enter any personal details about yourself, and all transactions are based on your wallet’s address (a random string generated when you created your wallet). This makes it impossible for the system to ever discriminate or choose who can open an account or send transactions. Also, Ethereum itself and its apps are open source, meaning the code running the system is visible for anyone to see.
A dApp (decentralized application) is an application that is built on a decentralized peer-to-peer network. This means that the network it runs on is independent, and not controlled by any single entity, compared to an application like Facebook or Instagram where they control the backend of their applications.
A “smart contract” is simply a program that runs on the Ethereum blockchain. It’s a collection of code (its functions) and data (its state) that resides at a specific address on the Ethereum blockchain.
Smart contracts themselves are a type of of Ethereum account, except they are not controlled by a user. A user can interact with a deployed smart contract by sending transactions to the blockchain with instructions to execute one of the functions the smart contract has defined.
For more in-depth details on smart contracts, check out Ethereum’s developer docs.
Web3 refers the system of dApps that run on Ethereum’s blockchains, which allow anyone to participate without requiring the use of their personal data. Web2, to contrast, is our existing system of applications that monetize your data in exchange for the use of their service.
For more in-depth details on Web3, check out Ethereum’s developer docs.
The terminology here is slightly confusing, because your Ethereum wallet can refer to both your account as well as to the apps that allow you to view and manage your account. Your account (wallet) consists of three major pieces: a public address, private key, and generally a mnemonic.
The private key is a random string of 64 hex characters which serves as a way to identify yourself as the owner of a wallet, and it can be used to import your wallet into an Ethereum wallet app and start using it. Some apps allow you to import a wallet using only the public address, but this only gives you viewing access to the wallet. You would not be able to make any transactions on the wallet’s behalf without the private key.
For most wallets, a mnemonic (or seed phrase) can also be used to identify yourself as the owner of a wallet. For example:
This is simply a phrase of 12 or 24 readable words that can be used by Ethereum wallet apps to derive your private key. It can be thought of as the password to your account, and if you are creating and funding an Ethereum wallet, you do not want to lose this phrase.
It is easy to get started investing in cryptocurrency using a broker like Coinbase, but something to be aware of is that you don’t actually own the Ethereum you are invested in since your wallet is managed by the broker. The upside to using a broker is that since they manage an account and ETH for you, you aren’t subject to the same risk of losing your wallet’s private key or mnemonic, and thus losing access to your wallet forever. Coinbase allows you to transfer any purchased ETH to an Ethereum wallet address, but until you do that you are still reliant on Coinbase to keep your personal information and ETH safe for you. For true decentralization and complete security, you must use an actual Ethereum wallet with private key/mnemonic, and interact with it using an Ethereum wallet app. To learn more about Ethereum and get started using it, go to the official site and check out the learning pages!
Dominic is a Senior Software Engineer at Echobind with a focus on React Native, NextJS, and GraphQL. Outside of his job, he can be found watching soccer, exploring the PNW with his family, or getting way too invested in a random sport like cycling or ping pong.