In 2009 Satoshi Nakamoto published an invention he called bitcoin. Over the years the payment system has had it’s ups and downs, but with the recent buzz surrounding bitcoin’s distributed database the blockchain, there has been a flood of new platforms coming to the forefront. Most notably Ethereum.
Initially proposed by Vitalik Buterin in late 2013, Ethereum, as described by the Ethereum Project, “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.”
The Project goes on to state;
“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. This enables developers to create markets, store registries of debts or promises, move funds in accordance with instructions given long in the past (like a will or a futures contract) and many other things that have not been invented yet, all without a middle man or counterparty risk.”
Buterin himself adds that “Ethereum is a new innovation in computing built from technologies and concepts originally pioneered in Bitcoin” and should be viewed as a “world computer.” It’s “a place where anyone can upload and run programs that are guaranteed to be executed exactly as written on a highly robust and decentralized consensus network consisting of thousands of computers around the world.”
What makes Ethereum’s use of blockchain stand out is that it’s not just focused on cryptocurrencies, but applying blockchain to everything. For example, as provided by Buterin, is “the case of someone using Slock, an Ethereum-enabled internet-of-things platform, in order to rent their bicycle.” In this scenario;
“The owner would put a Slock (“smart lock”) on their bicycle, and register a smart contract (a kind of computer program) to the Ethereum blockchain. After that point, anyone could send some amount of cryptocurrency to the contract, and the contract would automatically forward the coins to the owner and register a record stating that the sender is allowed to access the lock for, say, three hours. The user would then be able to send a cryptographically signed message to the lock with their smartphone, opening the lock—at least for the duration for which the record on the blockchain remains valid.”
However, as Fast Company points out, “Ether will most likely always be associated with a monetary value as long as humans develop the code for the blockchain applications.” In fact, Ethereum won’t just be associated with currencies, it could also change the future of cryptocurrencies.
How Ethereum Works
As mentioned in the Ethereum White Paper on GitHub, Ethereum developers have put on “emphasis on situations where rapid development time, security for small and rarely used applications, and the ability of different applications to very efficiently interact, are important.” This is achieved through “a blockchain with a built-in Turing-complete programming language, allowing anyone to write smart contracts and decentralized applications where they can create their own arbitrary rules for ownership, transaction formats and state transition functions.” This means that you can use a standard coin API and the currency will automatically be compatible with any contract, exchange, or wallet.
Ethereum accounts contain fours fields;
- The nonce, a counter used to make sure each transaction can only be processed once
- The account’s current ether balance
- The account’s contract code, if present
- The account’s storage (empty by default)
However, there are typically just two kinds of accounts “externally owned accounts, controlled by private keys, and contract accounts, controlled by their contract code.
As for transactions, they contain the following;
- The recipient of the message
- A signature identifying the sender
- The amount of ether to transfer from the sender to the recipient
- An optional data field
- A STARTGAS value, representing the maximum number of computational steps the transaction execution is allowed to take
- A GASPRICE value, representing the fee the sender pays per computational step
Each contract also contains messages that are similar to transactions. These contain;
- The sender of the message (implicit)
- The recipient of the message
- The amount of ether to transfer alongside the message
- An optional data field
- A STARTGAS value
The code used in Ethereum contracts “is written in a low-level, stack-based bytecode language, referred to as “Ethereum virtual machine code” or “EVM code,” which contain a series of bytes that are used to carry out an operation.
Finally, the Ethereum blockchain is similar to the bitcoin blockchain, but the main difference is that the “Ethereum blocks contain a copy of both the transaction list and the most recent state.”
How Ethereum Will Impact the Future of Cryptocurrencies
As mentioned in Bitcoin Magazine, “Ethereum is in a unique position for a digital currency. It is an application layer, where developers can create decentralized applications such as smart contracts using the Ethereum APIs, available for free at GitHub. Ether, which is Ethereum’s digital token, powers the network and is analogous to “gas” that powers the Dapps (Decentralized Apps).”
The publication adds, “Ethereum eliminates the block size problem that is plaguing the Bitcoin community today, as Ethereum blocks are able to change in size based on the volume of transactions that need to be processed.”
Additionally, token systems are easy to implement in Ethereum. The key point to remember, according to GitHub White Paper, “is that all a currency, or token system, fundamentally is a database with one operation: subtract X units from A and give X units to B, with the proviso that (i) A had at least X units before the transaction and (2) the transaction is approved by A. All that it takes to implement a token system is to implement this logic into a contract.”
Another advantage is “Ethereum-based token systems acting as sub-currencies can potentially include another important feature that on-chain Bitcoin-based meta-currencies lack: the ability to pay transaction fees directly in that currency.” This means that “the contract would maintain an ether balance with which it would refund ether used to pay fees to the sender, and it would refill this balance by collecting the internal currency units that it takes in fees and reselling them in a constant running auction.”
Smart contracts can also change cryptocurrencies by addressing volatility by using a hedge contract that would look as follows;
- Wait for party A to input 1000 ether.
- Wait for party B to input 1000 ether.
- Record the USD value of 1000 ether, calculated by querying the data feed contract, in storage, say this is $x.
- After 30 days, allow A or B to “reactivate” the contract in order to send $x worth of ether (calculated by querying the data feed contract again to get the new price) to A and the rest to B.
This not only would prevent users from losing value on their tokens, it would also build trust and prevent fraud.
Trust can also be established since Ethereum databases require individuals to register their name that sticks forever.
Additional applications for Ethereum include;
- Savings wallets where only a percentage of funds can be withdrawn, but turned off if jeopardized.
- A decentralized data feed where users can provide a value.
- The creation of multi-signature escrow contracts.
- The construction of peer-to-peer gambling.
- The growth of predictive and decentralized marketplaces.
- Automating trade finance.
- Tracking loyalty points and gift cards.
As Buterin concludes in Coin Center, “Effectively, Ethereum aims to take the promise of decentralization, openness and security that is at the core of blockchain technology and bring it to almost anything that can be computed.”