Professor Wondimu Zegeye
April 29 2018
Cryptocurrency is a technology that is still considered to be in its early stages. The first occurrence of cryptocurrency arose about 25 years ago in the Netherlands. Due to constant robberies of petrol stations in remote areas, someone developed a system that placed funds on a smart card. Developing the first incident of electronic cash, the man behind this development was named Albert Heijn. Around the same time as Heijn’s technological breakthrough, an American cryptographer named David Chaum had a strong interest in electronic cash. Chaum had strong views on privacy of money, which led to him creating a blinding formula that is an extension of an algorithm used in the encryption of the web called RSA algorithm. Leading to a wave of startups in the 90s that had similar structures as Digicash. In 2008 Bitcoin was invented as an innovative way to send value over the internet. The development of Ethereum was inspired from Bitcoin. A 19-year-old programmer in Toronto, Vitalik Buterin, wanted to create a platform that went beyond the financial use cases bitcoin allowed. The sole purpose of Ethereum when created in 2013 was to ease the process of creating smart contracts by self-enforcing code that developers could tap for a range of applications. An analysis of Ethereum reveals that the cryptocurrency is, the most secure public blockchain, better at storing value, and having strong infrastructure scales.
Mining is the process of competitors working against each other to strengthen their block over the other. This is done by miners solving complex math problems, once the miner believes they’ve solved the problem, they submit their answer to the issuer for verification. To reward the competitor with the faster mining, a currency called Ether (ETH) is awarded to the person. Ether is an intrinsic currency, meaning it has no natural value. The value of this currency is deemed from demand. Ethereum is the second largest market cap, following Bitcoin.
When it comes to the blockchain technology implemented in Etherum, it’s quite similar to bitcoin’s. The cryptocurrency uses accounts, similar to bank account funds, the ether tokens will appear in a wallet and can be ported to another account. Like bitcoin, there is a public record of the entire transaction history that is stored in every node on the network. Ethereum’s nodes store the most current state of each smart contract, as well as all of the other ether transactions. Some information that is stored in the final state is the account balance, reputations, trust arrangements, and any other data that can be represented by a computer admissible. A cryptographic hash is used as a reference for the blocks being chained together. These blocks can consist of two different states, either valid of invalid. Generally, there are more invalid state changes than valid. An example of an invalid state change is the reduction of an account balance, without an increase of balance elsewhere. Valid transactions are important and this transition transpires from a transaction.
Proof-of-work (PoW) is the name for the method of problem solving. The specific PoW algorithm used by ethereum is ethash. This algorithm is designed to require more memory, making it harder to mine using expensive ASICs. ASICs are specialized mining chips, that are currently the only profitable way to mine bitcoin. PoW is considered a trustless and distributed consensus system, meaning you don’t have to trust in third party services.
Ethereum is looking to shift from PoW mining to proof of stake. Proof of state is still an algorithm, with the same purpose as proof of work, however the process behind reaching the goal is different. The creator of a new block will be chosen in a deterministic way, which will depend on its wealth, or in this case stake. As a result, a validator with 400 coins will be four times as likely to be chosen over someone who holds 100 coins. There will be no block reward, meaning the miners will take the transaction fees. Replacing the term miners in a PoS system with forgers. The transition from PoW to PoS stems from the exorbitant amount of energy that is required to successfully mine. According to https://blockgeeks.com/guides/proof-of-work-vs-proof-of-stake/, one Bitcoin transaction requires the same amount of electricity as powering 1.57 American households for one day. The Ethereum community is interested in implementing the PoS method for a greener and cost-efficient form of consensus. A protocol called Casper was created by Buterin, this algorithm sets situations where a bad validator could lose their deposit. In order to participate, Casper requires validators to submit deposits. If Casper determines they violates some of the ‘slashing conditions’, then their deposit could be taken away.
The goal of ethereum and web3 in 2018 is to produce a safe, easy to use decentralized internet, and that is bounded by a common set of economic protocols. There are various projects, referred to scaling solutions, that are in the works of building an infrastructure and expanding the capabilities of ethereum. Currently ethereum can process about 15 transactions per second, when compared to a major company like Visa who is processing about 45,000 transactions per second, the platform has a lot of room for improvement. The biggest limitation stems from the fact that the nodes do not relay on anyone to tell them the current state of the blockchain, they simply determine it on their own. Essentially, the transaction throughput can’t be higher than what we require from a single. A negative effect of expecting each node to increase its workload is the risk of decentralization. The more work expected from the nodes, results in less powerful computers being forces to drop out of the network. Making mining more central for those with powerful node operators.
Ethereum Research group is working on a scaling solution called “sharding”. This process would split the blockchain into two different sections instead of every process being parallel. The implementation of sharing would be implemented at the base-level protocol of ethereum. The increase of ethereum’s transaction throughput would be a direct result of increasing the capacity of each base blockchain.
The second alternative will do the exact opposite, the goal is to do more with the capacity already available, instead of increasing the capacity of each ethereum blockain. The implementation of “off-chain” technologies would increase the operations that are more useful by applications and people, like transactions, simple computations or state updates in a game. This process will take places on Layer 2, being built on top of ethereum’s main chain and wouldn’t require a hard fork. Rather it could be integrated as a smart contract. State channels are a good example of how to perform transactions and other state updates off chain. A benefit of this technology is that the things that happen inside the state channel will retain a high degree of security and finality, and the option of referring back to the hard kernel is available in on-chain transactions.
The state channels implement a smart contract or “Judge”, that understands the rules of the game and holds the prize (ETH). While the 2 miners compete back in forth, creating and signing transactions and sending them to each other. Each transaction maintains a “nonce”, meaning that in the future, someone is able to oversee the order of the moves that occurred. All of this is occurring off chain, after the game is complete, the channel is then closed and a final state is sent to the Judge contract. This reduces the amount of transaction fees to one single fee. After the Judge confirms that the final state is authorized by both parties, it waits for a while to make sure no one is challenging the result, and then the payout is awarded to the winner. The challenge period is implemented to reduce the chances of someone sending inaccurate information to the Judge. A miner has the capability of sending an older version of the state, and the Judge has no way of knowing if this is the most recent transaction or not. Once the most recent state is submitted during the challenge period the Judge can verify the submission by checking the nonce. State channels are useful when there will be multiple exchanges going on over a long duration of time. Another benefit to the use of state channels is the strong privacy properties associated with them. Since everything is occurring inside the channel, the only transactions that are publicly displayed are the opening and closing ones.