What is MetaMask? Really… What is it?
MetaMask is a bridge that allows you to visit the distributed web of tomorrow in your browser today. It allows you to run Ethereum dApps right in your browser without running a full Ethereum node.
… is what they say in their official website https://metamask.io/. However, to understand what this statement really means, you need to first understand what each of these words mean. I mean what is “distributed web” and what really is “distributed web of tomorrow”?. What is Ethereum dApp and a Ethereum node? This article will try to briefly demystify each of this word and introduce a tool called MetaMask, which will let you really explore the distributed web of tomorrow.
First of all, lets start with identifying what distributed web is. Most of the things you see on your browser (e.g., Chrome, Firefox or Opera.), including this article, comes from a computer that sits in a chilled room within a large data center somewhere. Many little computers and phones, which we often call clients, connect to the large central server to download bits of information that they need. This is how the modern web works. We call this the Centralized Web, because, you guessed it, all the data sits somewhere in a central location. However, some groups of people thought that having one large entity that stores, manages and even owns data is not very comfortable and often not safe. Instead, people decided to build a network where everyone can own and share a bit of data with everyone else in the network. So, instead of computers and phones connecting to a single server to download bits of information they need, they connect to many people who own smaller bits of information they need. And once they receive the information, they also begin to share it with others who need the same information. We call this the Distributed Web.
There have been many famous applications of distributed web. The two most well-known examples are Napster and Torrent. Napster is a distributed web specifically built to share songs between its users. It has no central server that stores the songs, and users download and upload songs that they want and that they own. Similarly, Torrent is a distributed web specifically built to share all types of files between its users.
Blockchain essentially is a distributed web, similar to Napster or Torrent, built to serve a different purpose. Blockchain is not a coin or some currency. It actually is a distributed web to log, store and share secure, verified and unmodifiable transactions. These transactions can include any type of actions between two entities. For example, in the case of bitcoin, transferring bitcoin between user A and user B can be stored in a blockchain. As you can see blockchain can store and share any type of data that needs security. Bitcoin is basically one application of blockchain technology.
Ethereum is a type of blockchain that is built for applications that need to store data or run programs in the distributed web. It is the “distributed web of tomorrow”. Unlike bitcoin, Napster or Torrent, it can actually store data in the form of a computer program called smart contract. Computer owners can be part of the Ethereum network, obtain and share the smart contract and receive reward (Ethers) for running the smart contract. Once your computer is part of the Ethereum network, running smart contracts and sharing it with others, it is now a Ethereum Node.
Ethereum allows programmers to write apps that can run on many people’s computers. Such type of apps are called dApps, which stands for distributed applications. dApps are being built as we speak and it is slowly gaining more traction. So, we will soon find out what type of applications are a perfect fit as dApps and I will cover more examples of dApps on a separate article.
Now, let’s get back to MetaMask.
MetaMask (https://metamask.io/) is a browser extensions that lets you run dApps without being part of the Ethereum network as a Ethereum Node. Instead, it lets you connect to another Ethereum Node called INFURA (https://infura.io/) and run smart contracts on that Node. MetaMask manages your Ethereum wallet, which contains your Ethers (or money), and allows you to send and receive Ethers through a dApp of interest. It is a pretty neat tool.
How to install MetaMask.
Now you can create a new Ethereum account to send and receive Ether and also to run dApps. After creating an account, you get a list of 12 words that can be used to retrieve your account when you forget your password. MAKE SURE to save this somewhere SAFE where no one can see.
Now you have your own Ethereum wallet! You can use the main network, which will use real Ethers that cost REAL money, or try some dApps out on test networks such as Ropsten Test Network.
Let’s select Ropsten Test Network and visit https://faucet.metamask.io/. This site will give you free Ether to use on the Ropsten Test Network. After clicking on request 1 free ether, you will find that your account now has 1 ether to use for any dApps! (Again, this is not real ether, think of it as monopoly money.)
Now you can use this to run dApps that exist online. You can search for Ropsten dApps for the latest list of dApps to test. Once you feel pretty comfortable with dApps, you can then start running dApps on the main Ethereum network. You should be VERY VERY careful that you are now spending real Ether. I will try to cover in a separate article some cool dApps that run on both types of network.
I hope you now have a brief understanding of what distributed web, blockchain, Ethereum, and dApps are and how you can play around with them using MetaMask. Feel free to explore the large space of dApps and have fun, but most importantly be safe and responsible!
(Please feel free to ping me for corrections, questions or general comments!)