This is the second post in which we are going to examine blockchain protocols and their tokens. First up, we wanted to start with Ethereum and its native token, Ether, which allows a network of thousands of independent computers to form a single supercomputer.
The beauty of blockchain lies in the possibility to create, securely maintain and transfer digital units, so-called "tokens". These tokens can serve the purpose of a medium of exchange, which is redeemable for something specific from someone specific. Generally spoken, this is what gives tokens their underlying value. As a consequence, these value units can be used to incentivize certain behavior.
Bitcoin, the first blockchain protocol uses its native token, BTC, to incentivize its network participants in competing to solving a cryptographic puzzle. Whoever solves the puzzle first is rewarded with new BTC and eligible to add a new block of transactions to the ledger.
Ethereum is a network protocol, which uses Ether to incentivize individual computers to act as a single supercomputer, called Ethereum Virtual Machine (EVM). This computer is capable of running any code, written in the native, Turing complete programming language Solidity. The code on the Ethereum Network follows an if/then logic is called a “Smart Contract”.
Smart Contracts are executed on all computers of the network simultaneously, therefore, in a decentralized manner. Once a Smart Contract is deployed to the network it is theoretically impossible to alter or delete it. To perform any changes the majority of the network would need to be convinced to rewrite the underlying code.
Imoratbillity brings the benefits of censorship resistance and prevents any manipulation through malicious actors. Further, running the code simultaneously on all computers of the network eliminates a single point of failure and prevents, therefore, any downtime. These prosperities make code that is running on the Ethereum network highly trustable. However, the downside of immutability arises through the missing opportunity to fix bugs within a Smart Contract once it is deployed.
Just like traditional programming code, Smart Contracts can be used for various purposes.
For example, a Smart Contract can express all the required rules to define ownership and the transfer of ownership, which are required to issue and manage a new token.
Further, Smart Contracts can be used to create computer programs, so-called decentralized applications (Dapps).
Also, it is possible to reproduce organizational rules and structures with Smart Contracts. These constructs are then referred to as Decentralized Autonomous Organizations (DAOs) and are managed over their specific tokens, which grant ownership rights such as voting or dividends.
However, you might ask yourself why people are buying computers, paying for running them and then contribute them to the Ethereum network?
Here is where Ether (ETH), the native token of the Ethereum network comes into play.
For performing any transactions on the Ethereum Virtual Machine a fee is charged and paid out to the validating network participants.
Transactions on the network include:
- The transfer of tokens
- The deployment of a new Smart Contract
- Triggering of a Smart Contract
The fees for these transactions are price in priced in “Gas”, the medium of account of the network. The amount of Gas charged for any transaction is predefined and derived from the computing power required to perform it. However, while the charged amount of Gas for a transaction is fixed, its price is variable and depends on the current degree of network utilization. The price of Gas expressed GigaWei (GWei), which accounts for 1/1.000.000.000 ETH.
As stated, Ethereum can be described as infrastructure to host the code of thousands of different tokens, Dapps or even DAOs, eliminating the need for developing and maintaining an individual blockchain for each project.
For exchanges and wallets to deal with this great variety of tokens Ethereum offers different token standards, which will be examined in depth in the following blog posts.
The most prominent one is probably the ERC20 standard, a fungible token, which has be frequently used as a financing method in initial coin offerings (ICOs).
Examples for application-specific ERC20 tokens are:
- GNT, the currency token of the Golem.network, a cloud computing platform.
- REP, a token is used to place bets on the prediction market Augur.
- BAT, of the Brave internet browser, which is paid to users for receiving adds.
- EOS, a smart contract platform.
Another popular token type is the ERC-721 standard, which allows creating non-fungible tokens. These tokens are unique and can be therefore used to represent real-world assets, such as fin art, real estate or digital collectibles. A good example of the use of ERC-721 tokens is the blockchain game Cryptokitties, in which players can own, breed and trade digital cats. The cats are priced in ETH and sold for up to 140.000 USD.
Ethereum is a great example of how blockchain and tokens can be used to create applications and new markets.
In the following posts, we will further explore the use cases of Ethereum.