To those familiar with Bitcoin, Ethereum can seem like a confusing mess. Bitcoin is very straightforward. Transaction fees are paid in the same currency and unit as the main currency itself. There is a very limited programming language embedded in Bitcoin, it cannot implement very sophisticated contracts and, overall, it’s a very simple system that efficiently assembled previously existing cryptographic research into the innovative cryptocurrency we know today. (Perhaps its simplicity is key to why Bitcoin has stood the test of time against hackers from all over the planet.)
Enter Ethereum, a second generation cryptocurrency, which has a sophisticated and fully featured language that allows you to create complete programs called smart contracts. With all this power comes great complication.
In this article we take a look at the weird names in Ethereum jargon and provide a very simple explanation for each term.
Ethereum: A world computer that is 100% decentralized. Since this computer does not actually exist, but is a disperse mass that cannot be seen, it was called Ethereum which derives from the ether which is the name given to the nothingness in space.
ETH: ETH is the monetary unit in the Ethereum virtual world computer. It is the currency used to pay for computing power in Ethereum
Gas: An abstract quantity that represents how much ETH will be paid for a given computation executed on Ethereum
Gas Price: How much ETH value to attribute to Gas for a given computation
Gas Limit: Maximum amount of Gas to pay for a computation. If the limit is reached, the computation is aborted and all Gas spent until then is consumed.
Smart Contract: Every Ethereum transaction contains a program embedded in it. Ethereum’s programming language, called Solidity, is very powerful and allows for complex business rules to be encoded using it. These programs are called smart contracts, because they are self-enforcing and autonomously executing programs that live permanently in the blockchain. Smart contracts can be written to encode complex agreements, pay wages, pay dues when certain conditions are met and so on.
Wei: Smallest unit of Ethereum. Analog to Satoshis in Bitcoin. One wei is one ETH divided by 10 to the 18th power (18 decimal places). Gas prices are usually expressed in gwei, which is giga-wei or one billion wei.
Gas is probably the hardest of these concepts to grasp. Why did the Ethereum creators choose this abstraction instead of simply charging straight up ETH for computations? The answer is: abstraction.
According to the Fundamental theorem of software engineering:
“We can solve any problem by introducing an extra level of indirection.”
This is the principle behind Gas. It is simply one layer of indirection between ETH and the price of computation. Instead of saying a computation costs a few ETH, you say it costs some Gas. Gas has an ETH value that is determined by whoever executes the transaction, which is the Gas price. For example, when a transaction is sent, Gas is usually set to 10000 gwei (giga wei) which is a tiny fraction of one ETH. It’d be the exact same thing if the literal ETH value was provided.
Gas uses a car’s gas tank analogy. For the Ethereum “engine” (Ethereum Virtual Machine) to run, it requires a gas tank. When you send out a transaction, you need to set the maximum Gas that will be spent on this transaction. It’s analog to the fee in Bitcoin. If there is not enough Gas to run the transaction, whatever ETH amount is returned to the sender, but the Gas fee is lost as it must spend the Gas to find out that it doesn’t have enough Gas. This is a consequence of the halting problem, by which it is impossible to know whether a computer program will halt or not beforehand. Therefore Ethereum programs must run and only during runtime do they know for sure whether there was enough Gas to complete the computation. Gas is therefore spent. But if the Gas runs out, the ETH amount that was transferred in this transaction is returned to the sender. In fact, it never left the sender’s wallet since to complete a transfer the smart contract must successfully execute.
We hope this article clarified some of the basic concepts of Ethereum. It can be a little confusing at first, but there really isn’t much difference to other cryptocurrencies. It’s basically a matter of getting used to the terminology and, once you do, everything becomes very clear. Ethereum is a very well implemented platform that was well thought out and which seeked to correct some of the shortcomings found in Bitcoin, especially the limited Bitcoin transactional language. For this reason, Ethereum is considered a second generation cryptocurrency and its evolution brought new concepts with it. With a bit of practice it becomes a habit to mentally calculate Gas, Gas Prices and other parameters that allow the execution of smart contracts.
Dictionary Cover Photo Credit: Liz West