A Brief Intro to Ethereum, Ether, Solidity, Smart Contracts, dApps & ERC-20 Tokens
Vitalik Buterin, a Russian-Canadian programmer, first explained the idea for Ethereum in a white paper released in late 2013. The paper, named “A Next-Generation Smart Contract and Decentralized Application Platform”, begins like this:
Satoshi Nakamoto’s development of Bitcoin in 2009 has often been hailed as a radical development in money and currency, being the first example of a digital asset which simultaneously has no backing or intrinsic value and no centralized issuer or controller.
However, another – arguably more important – part of the Bitcoin experiment is the underlying blockchain technology as a tool of distributed consensus, and attention is rapidly starting to shift to this other aspect of Bitcoin. Commonly cited alternative applications of blockchain technology include using on-blockchain digital assets to represent custom currencies and financial instruments (colored coins), the ownership of an underlying physical device (smart property), non-fungible assets such as domain names (Namecoin), as well as more complex applications involving having digital assets being directly controlled by a piece of code implementing arbitrary rules (smart contracts) or even blockchain-based decentralized autonomous organizations (DAOs). What Ethereum intends to provide is a blockchain with a built-in fully fledged Turing-complete programming language that can be used to create “contracts” that can be used to encode arbitrary state transition functions, allowing users to create any of the systems described above, as well as many others that we have not yet imagined, simply by writing up the logic in a few lines of code.”– Ethereum white paper
As for the name, Buterin told the New Yorker:
“I immediately realized that I liked it better than all of the other alternatives that I had seen; I suppose it was the fact that sounded nice and it had the word ‘ether’, referring to the hypothetical invisible medium that permeates the universe and allows light to travel.”
Of Ethereum, Buterin has written:
“Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third-party interference,” Buterin has written. “These apps run on a custom built blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property.”
What is Ether on Ethereum?
Ethereum’s native cryptocurrency is called ether (ETH), and, like Bitcoin, it is mined. Whereas in Bitcoin, we know there will only ever be 21 million bitcoins, this is not so in Ethereum, for the issuance model in Ethereum is not yet fixed. There is a cap of 18 million ether mined each year, however. 5 new ethers are created per block.
Ether is used for all transactions on Ethereum, and are needed in order to run a smart contract. There is also a native value mechanism called “gas.” Gas in Ethereum is the price of transacting or executing a smart contract, and is based on the real computational capabilities of the nodes.
For example, if someone wants to run an application that involves many processes and can execute many transactions, payments, or charges, the amount of gas they need to do so increases. This helps prevent excessive use and abuse of Ethereum network resources. There’s no free lunch, in other words. Ether is the engine of operations in Ethereum, it could be said, while gas is the cost of transacting and executing on the platform. Gas is paid in ether.
What is Solidity Programming Language?
“Solidity is statically typed, supports inheritance, libraries and complex user-defined types among other features,” reads the Ethereum docs. “With Solidity you can create contracts for uses such as voting, crowdfunding, blind auctions, and multi-signature wallets.”
What Are Ethereum Smart Contracts?
“A smart contract is the simplest form of decentralized automation, and is most easily and accurately defined as follows: a smart contract is a mechanism involving digital assets and two or more parties, where some or all of the parties put assets in and assets are automatically redistributed among those parties according to a formula based on certain data that is not known at the time the contract is initiated,” wrote Buterin in 2014 on the Ethereum blog.
A smart contract is like a digital version of a contract. They potentially allow users to exchange money, property, shares, or any type of value and information, in a transparent manner since it is recorded on the Ethereum blockchain, and without the need for a third party or intermediary.
Buterin explained at a DC Blockchain Summit that a smart contract turns an asset or currency into a program that “runs this code and at some point it automatically validates a condition and it automatically determines whether the asset should go to one person or back to the other person, or whether it should be immediately refunded to the person who sent it or some combination thereof.”
He added: “In the meantime, the decentralized ledger also stores and replicates the document which gives it a certain security and immutability,”
A smart contract can digitally recreate a sale of goods, the acquisition of a property, an electoral process, a treaty, a declaration between two parties, the rent or loan of a service, an employment contract, etc. Developers can program into smart contracts things like conditions, specifications, parameters, variables and values. You can also schedule in timing, and there is no limit in the number of processes you want to be executed.
Smart contracts have the ability to automatically move funds from one wallet to another, for example. If you tokenized digital goods on the Ethereum blockchain, you could make more efficient the tracking of goods in a supply chain. When a part for the manufacture of a product is about to run out, a smart contract could potentially make an immediate order, in the form of a programming-based call, based on recent demand, and automatically transfer funds to the supplier.
What is a dApp (decentralized application) on Ethereum?
dApps is short for decentralized applications. Unlike an ordinary app, a dApp is decentralized and based on smart contracts. (check out State of the dApps to learn more about what’s out there)
Buterin says a dApp is similar to a smart contract, but with two key differences. “First of all, a decentralized application has an unbounded number of participants on all sides of the market,” he wrote. “Second, a decentralized application need not be necessarily financial. Because of this second requirement, decentralized applications are actually some of the easiest things to write (or at least, were the easiest before generalized digital consensus platforms came along).”
He adds: “For example, BitTorrent qualifies as a decentralized application, as do Popcorn Time, BitMessage, Tor and Maidsafe (note that Maidsafe is also itself a platform for other decentralized applications).”
A dApps backend code is running on a decentralized peer-to-peer network, most often a blockchain. That means the dApps code is not running on centralized servers. A dApp might have its frontend code and user interfaces written in any language that can make calls to its backend, and the frontend can be hosted on decentralized storage like Swarm or IPFS.
ERC-20 tokens exist on the Ethereum platform. They are standardized and can be stored in a crypto wallet. The name refers to the “Ethereum Request for Comments” which represents proposals to upgrade the software, similar to BIPs (Bitcoin Improvement Proposal) in Bitcoin. To use these, first add to your browser the Metamask extension, available for Chrome, Firefox, Opera or Brave.
Anyone with a little coding experience can spin up an ERC-20 token, its parameters, and any smart contract logic. Standards encourage interoperability, such as two tokens being exchanged for one another. Examples of ERC-20 tokens include MANA, BAT, Golem, TUSD.
What is Ethereum, Again?
Ethereum has a native currency, ether, and comes equipped with its own code, Solidity, which is a high level programming solution like Solidity, which makes possible smart contracting, its applications and some examples. Smart contracts make a new sort of app possible, a dApp; that is, a decentralized application.
Cover photo: Ticketmaster Executive Sandy Khaund Discusses Building on Ethereum at Blockchain Expo 2019 North America