Just before the holidays, I decided to satiate my curiosity about the Bitcoin craze that plagued a good portion of 2017. I never paid much attention to it since I was heavily involved with Firefox’s CSS Grid Inspector (both UCOSP and GSoC) and of course school. There was never much room in my mind for picking up a new subject.
So after my last exam of the fall semester, I buckled down that same evening and began to research into what Bitcoin and the blockchain is. After a good day or so of non-stop researching, I started to get antsy about actually diving head-first into the world of cryptocurrency. I wanted to do more than just read and watch videos about it. So, I bought my first bit of bitcoins and ethers like the reckless, silly person I am. Honestly, my decision to purchase was based more on the novelty of owning cryptocurrency than the actual research I had done (which was only two days worth at the time). Moreover, I was interested in observing how my own insignificant investments changed within the platforms I was taught to use. To this date I have made an overall “gain” on both investments, which is pretty exciting but my understanding of how the cryptocurrency market works is still in its beginnings. So let’s not get too cocky yet. During this time I also found I was far more interested in the technical aspects of how cryptocurrencies worked rather than the economical. I found myself realizing that I would rather learn about how it all works “under the hood”.
How I Understand the Ethereum platform
I decided I wanted to dig deeper into the two cryptocurrency platforms I put money into: Bitcoin and Ethereum. While I am interested in learning about the other cryptocurrencies such as IOTA, Ripple, and Monero, I wanted to instead develop a sense of how to understand a cryptocurrency so that I may carry over a similar learning roadmap to other cryptocurrencies I decide to invest in.
What is Ethereum?
Of Bitcoin and Ethereum, I found myself more interested in what the Ethereum platform had to offer. Ethereum gave freedom to developers to program code that can be executed on the Ethereum blockchain through dApps (decentralized applications). This allows for participants in the Ethereum network to exchange more than just Ether (the main crypto token of the Ethereum platform that can be converted into money), but also products and services. During each transaction, to ensure that all parties involved are satisfied in accordance to the service being provided, a “smart contract” is executed and holds all parties liable to its rules until the transaction ends. Developers are charged with the task of implementing these “smart contracts” for their application.
Okay, so where exactly does ether fit into all this? Well, when programmable code is executed on the Ethereum blockchain to provide some sort of operation to the service, a unit fee must be paid. This unit fee is known as “gas " and it is calculated based on the amount of “work” being done during the execution of the contract. The cost of gas is fixed for each operation (i.e: MOD, MUL, etc…), however the actual “gas price” is dependent upon what is an agreeable price by the user and miners. To actually pay the “gas price” we use ethers.
To simplify, one could think of “gas” as a means to calculate a transaction fee for provided service. When I first learned about this, I envisioned the use of gas as how one would pay a mandatory delivery fee when ordering pizza. Traffic and distance will likely factor into the amount of gas it takes the delivery driver to get from the pizza shop to your place. Based on these factors, you would be required to pay a calculated minimum delivery fee on top of the cost for your pizza. Moreover, the company the delivery driver works at is rewarded that minimum fee you paid. This leads to my next point: the delivery driver in this analogy could be equated to a miner on the Ethereum network.
The job of a miner is to ensure that each transaction is successfully completed, given that they are rightfully compensated for the computing power they lend to process it. A big “gotcha” when it comes to Ethereum transactions is that a user can actually exceed the amount of gas that was agreed upon during the initialization of the transaction. When this happens, the transaction is determined to be a “failed” one and is added to the blockchain by the miner. Any previous changes that have occurred will be reverted, however, the ether paid to the miner during the execution of the entire transaction is still kept by the miner. Which makes sense, since they provided their computing resources for the transaction.
I have barely just scratched the surface on cryptocurrency, let alone Ethereum. In a later post, I will elaborate how transactions with gas is possible with the Ethereum Virtual Machine (EVM).