A Next-Generation Smart Contract and Decentralized Application Platform.
Ethereum Classic is a decentralized network that supports smart contracts. It was created by Vitalik Buterin in 2013. Following the DAO hack in 2016, several members of the Ethereum community rejected the idea of a hard-fork to revert transactions (and return funds to the DAO participants), leading to the split between Ethereum and Ethereum Classic.
Ethereum Classic (ETC) parted away from Ethereum at block 1,920,000 (July 20th 2016) to retain the original version of the network, reinforcing the blockchain’s core characteristic of immutability. Since its ICO in 2015, Ethereum has relied on Proof of Work (PoW); Ethereum Classic shares its early history with its first (common) block being mined in July 2015.
Like Ethereum, the network is fueled by a cryptocurrency named ether (classic). It comprises an open-source, globally decentralized computing infrastructure, which executes programs called smart contracts.
Similarly, Ethereum Classic is based on an account model to record state changes. It relies on the Ethereum Virtual Machine (EVM) with two types of addresses: externally owned addresses (EOAs) and contract addresses that are deployed on the EVM.
As of March 2020, Ethereum Classic’s hashrate is much lower than Ethereum’s and the level of on-chain activity is also inferior to Ethereum's. With Ethereum planning to part away from Proof-of-Work (to introduce PoS with ETH 2.0), Ethereum Classic plans on persisting as the immutable Proof of Work version of Ethereum.
1. What is Ethereum Classic (ETC)?
Since the fork occurred in 2016, Ethereum Classic and Ethereum share many similarities:
Ethereum Classic is an open-source, globally decentralized computing infrastructure, executing programs referred to as smart contracts.
Ethereum Classic’s supply was pre-mined (72 million). Among these pre-mined ethers, 60 million were sold during an Initial Coin Offering in 2015.
Its PoW algorithm is Ethash, an algorithm that was initially designed to prevent ASIC mining. Block time has a target of ~15 seconds (with a maximum block size of 1,500,000 gas). Mining rewards are paid at a fixed rate of 4 ETC (vs. Ethereum’s 2 ETH) but will be reduced in the future to 3.2 ETC (at block 10,000,000).
Ethereum Classic is (quasi) Turing-complete, but each transaction requires gas, with price fluctuation based on real-time bandwidth use. Hence, transaction fees are a function of storage needs, bandwidth use, and computational complexity. Gas is used to prevent infinite execution of programs; it introduces an execution stopper equal to the maximum fees set for a transaction.
In an account-based model, a typical transaction (between accounts A and B) involves the transfer of ethers from one wallet to another: (1) debit from account A (2) credit to account B.
In comparison, a UTXO transaction works as follows: an individual gives money and receives change (i.e. retains unspent amount). Ethereum maps all accounts into balances. Therefore, a send operation reduces one account’s balance and increases another account's balance.
According to Ethereum’s design rationale explanations, benefits of the account model are large space-saving(transactions require a single signature and produce one output), greater fungibility(harder to blacklist funds), simplicity(easier to build DApps), and constant light client reference (light clients can read information from the state tree in any specific direction). Despite these advantages, the account model may facilitate double spendings and replay attacks.
Global state and account structure
At its core, Ethereum Classic is a transaction-based state machine. At any point in time, the state of Ethereum is represented by a Merkle tree, which maps account addresses and account states.
The state of Ethereum Classic is updated by the addition of each new block. Each block contains valid transactions and is linked to its previous block by its header.
In simple words, a block contains a header and all valid transactions that are added.
Like Ethereum, there are two types of accounts within Ethereum Classic:
Externally owned accounts (EOA) are controlled by private keys and have no code associated with them. Individuals use their private keys to perform actions. An EOA only comprises its nonce (i.e., number of transactions sent) and the associated balance (i.e., number of ethers owned by the account).
Contract accounts are controlled by their contract code, which is immutable once deployed. In addition to nonce and balance, a contract account also stores its storage hash (i.e., a hash of the root of the Merkle Tree) and code hash (i.e., the hash of the EVM code for this specific account)
The Ethereum Virtual Machine (EVM) is the computer software (or computation engine) that interprets bytecode instructions for the Ethereum blockchain. Specifically, the EVM handles any smart-contract logic, ranging from its deployment to the execution.
Based on 256-bit word format, the EVM has a simple stack-based architecture with multiple data components:
Program code ROM: an immutable program with the bytecode deployed for execution of the contract.
Memory: a component to store data temporarily.
Storage: a permanent component to store data.
Examples of popular smart-contracts
An ERC-20 token is a token that implements a standardized interface defined in EIP-20. An example of the implementation by Consensys is available here.
Auction contracts are a natural fit for a smart-contract on Ethereum/Ethereum Classic. For instance, one can create a blind auction where any EOA can send bid offers to the contract. The highest bidder wins it. An example of an implementation of an open auction is available in the documentation of Solidity.
3. Economics and Supply Distribution
Ethereum Classic’s economics rely solely on Proof of Work, following the original ICO in 2015.
Ethereum’s ICO was conducted in the first half of 2015 for 60 million ethers (collected in BTC).
Block mining is based on the Ethash function, which itself relies on Keccak. Ethash was designed to prevent ASIC participation, owing to features such as memory hardness. However, it has been gamed and blocks have become mostly mined by ASIC devices for a few years.
Unlike Ethereum, the total supply of Ethereum Classic is capped, with an inflation rate that decays over time. Its total maximum supply will be ~ 210-230 million ETC.