Bitcoin began with the first blockchain, which gives it a unique place among cryptocurrencies. While this revolutionized financial transactions, the capabilities of Bitcoins chain are limited due to the simple programming language used by BTC developers. The concept of locking data on a cryptographically secured network, has implications of utility far beyond mere value exchange or storage.
Smart contracts capitalize on the foundations of Bitcoin; security, immutability, decentralized network processing, etc. Ethereum is the largest blockchain to offer a platform to develop smart contracts that can run virtually every economic sector. Projects ranging from analytics to social media to gambling, have been developed and implemented on the Ethereum Network. Anyone can write a smart contract for the ETH blockchain, or create a company and fund it through an ICO.
Ethereum Network (EN) is a distributed collection of computers that process smart contracts on Ethereums blockchain. New blocks created on the network issue a regulated amount of native currency, ether. The blockchain transactions are paid for by ether, used as an incentive to node operators for processing blocks. Ether is also used for exchange and payments. Projects may build their own currency on EN, and are designated ERC20 tokens.
The Ethereum Network is like Bitcoins, in that distributed nodes operate the software necessary to verify block information. This entitles ETH to all the security measures associated with blockchain encryption and ensures honest spending. There are significant differences between ETH and BTC, however, especially in respect to functionality.
Each node runs an Ethereum Virtual Machine (EVM), software developed by the Ethereum team that uses smart contracts within the distributed ledger model. These smart contracts read and respond to messages sent to them as transactions. This requires ETH to use two account types: smart contract addresses and user addresses. User addresses work just like other cryptocurrency addresses, and are able to send and receive currency. SC addresses are able to do the same, but can have additional parameters that must be executed. In this way, the EVM can be compared to a computer and smart contracts to the programs that run on it.
Ethereum uses a proprietary programming language called Solidity to write smart contracts. This language is regarded as “Turing-complete” because it can perform looping functions, something lacking from the Bitcoin code. Running data through a loop on a computer is necessary for performing certain digital functions. However, the increased complexity has a number of risks, which will be covered in a later section.
The advent of blockchain technology and smart contracts introduced a new marketplace for businesses. Developers immediately began working on Decentralized Applications (or DApps) and at the time of writing, hundreds have been released to the blockchain. These DApps are smart contract based companies, using Ethereum as a backbone, which have their own teams and roadmaps. Businesses that use the EN are able to offload the cost of operating a system of nodes, while benefiting from blockchain protocols. As such, companies from nearly every industry have developed DApps, and this trend is likely to continue.
Ethereums blockchain is an infrastructure for other programs to be built upon, but it still has similar functionality to Bitcoin and other blockchain entities. Each block contains a series of hashes that reference particular information. Nodes provide processing power to collect and verify the data on each block, and the miner that provides the desired Proof-of-Work is rewarded the transaction fees. Once a new block is created, the network is updated and the entire chain is re-validated.
Each node runs the EVM to process the blockchain. This virtual machine handles the transactions across the blockchain.
- Checks if sender information is valid
- Calculates transaction fees and determines if sender can pay
- Transfers message to receiving account.
- If there is no account, one is created.
- If the account is a smart contract, the operation will run until finished or the gas provided is consumed.
- If there isn’t enough gas to complete transaction, the transfer is canceled and the fees rewarded to miner.
- If transaction completes, any gas remaining (after the fees are paid) return to the sender.
This process allows for the operation of online business. The ability to build applications on a new platform has drawn developers from all over the globe and every industry.
- Information Security
- Personal Data
- Property Ownership
- KYC Registration
- Distributed Computation
- Cloud Storage
- Shared Research
- File Sharing
- Scientific Source Data
- Online casinos
- Professional Sports
Ethereum uses encrypted messages to transfer data from one block to another. These messages contain send and receive addresses, timestamps, message data and transfer fees. The transactions require “gas” to complete, which prevents infinite loops from consuming network resources and bogging down the system. This cost is then rewarded to node operators for compensation of processing power and is intended to foster integrity among the nodes. The amount of gas needed to perform a task also deters attackers by making it expensive to launch a dedicated attack on the system.
Solidity, the programming language used to write SCs on the EN, poses a few security concerns being a new language with a narrow focus. Solidity is a “Turing-complete” language, meaning it allows for smart contracts to perform looping iterations. Loops have interesting mechanics and, sometimes, cause strange glitches and unwanted outcomes. Developers haven’t had decades to perfect the coding of smart contracts to account for all potential quirks of the Solidity language and can unintentionally write programs that have infinite or indefinite loops. This can be an entry-point for hackers to attack the network or an application on the network. New companies are forming to find and fix errors in the coding structure and solve the problems inherent in using a new language.
Ethereum has created one of the first blockchains with real-world capabilities outside the currency mechanism of Bitcoin. Rather than being a digital asset, Ethereum is a platform for other entrepreneurs and innovators to build upon. Developers can create and manage applications much like smartphone apps that run on Android or IOS. These applications vary as far as human imagination will allow, and hundreds have been created on the Ethereum Network that stretch the capacities of our technological limitations. This has fostered an environment where anyone can learn to build a business, using tools that aim to reshape the future.